部署到服务器
Ref:
Hexo博客进阶:将Hexo部署到云服务器
将Hexo部署到自己的服务器上
no-www和www跳转
Ref:
nginx实现no-www和www跳转
强制 HTTPs 跳转
首先查看 Nginx 是否有
SSL 支持模块
使用命令:
看输出中是否有:
1 2 3 4
| configure arguments: ... --with-http_ssl_module ...
|
如果没有,则需要重新编译 nginx,增加 SSL 支持模块,参考为nginx添加SSL支持模块。
安装 Nginx
参考:北海骆驼-Nginx的编译安装并支持ssl
申请&下载证书(略)
上传证书
在 Nginx 的安装目录 /etc/nginx/ 下创建 cert
目录,并将证书文件(SSL Key 和 CSR 文件)上传到 cert 目录中。
可以用 whereis nginx
查看 Nginx 安装目录
配置 Nginx
修改默认配置文件 /etc/nginx/sites-available/default :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| server {
listen 443 ssl default_server; listen [::]:443 ssl default_server;
root /var/www/hexo;
ssl on; ssl_certificate cert/1_example.com_bundle.crt; ssl_certificate_key cert/2_example.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;
index index.html index.htm index.nginx-debian.html;
server_name example.com;
location / {
try_files $uri $uri/ =404; }
}
server { listen *:80; listen *:443 ssl; listen [::]:80; listen [::]:443 ssl; server_name www.example.com; return 301 https://example.com$request_uri; }
server { listen *:80; listen [::]:80; server_name example.com; return 301 https://example.com$request_uri; }
|
修改配置后,使用如下命令,检查配置是否正确:
最后重启 Nginx。
这里需要注意下,导入新的证书后需要重启而不是重载,nginx -s
reload是普通修改配置重载。
Nginx日常操作命令
nginx -t
测试配置文件
nginx -s reload
修改配置后重载生效
nginx -s reopen
重新打开日志文件
nginx -s stop
快速停止
nginx -s quit
- 查看 Nginx 进程
ps -ef | grep nginx
参考资料
Hexo博客进阶:将Hexo部署到云服务器
nginx配置ssl实现https访问
小白文
nginx实现no-www和www跳转