Hexo+Nginx+ssl部署记录
虽然已经部署了Typecho, 但是Hexo也是久闻大名, 所以也想试试看看体验区别. 简单地记录了下部署的过程.
安装Hexo
首先安装Node.js. 用apt安装的node版本是10的, 会由于版本老旧报错, 我这里用nodesource的github里提供的方法下载Node.js v18.x. 我是Ubuntu系统, 不同的系统有不一样的指令, 可以在网页中找到自己对应的系统和想要安装的版本.
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
然后安装Hexo.
npm install -g hexo-cli
安装完成后生成博客文件
hexo init <folder>
cd <folder>
npm install
编辑_config.yml
文件, 将Site和Url里的信息根据自己情况填写. 然后运行下面指令生成并部署Hexo基础页面.
hexo g -d
此时可以运行下面代码并访问自己IP的4000端口, 测试是否部署成功.
hexo server
配置nginx
ssl需要域名证书, 我是用acme申请的. 申请方法可以参考这篇文章. 有了域名证书后在/etc/nginx/nginx.conf中http部分里添加下面配置. 域名和各个文件的路径需要根据自己情况修改.
# https
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate file_dir/filename.crt;
ssl_certificate_key file_dir/filename.key;
ssl_protocols TLSv1 TLSV1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root work_dir/hexo/public;
index index.html index.htm;
}
}
# redirect to https port
server {
listen 80;
server_name yourdomain.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
然后试着访问上面填入的域名, 如果能看到以下界面则成功.