wordpress启用https操作步骤。
网站改用Nginx
php-fpm
下载php-fpm
,操作如下:
1 | yum install -y php-fpm |
netstat -tlpn
命令查看是否启动成功
1 | tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 86334/php-fpm: mast |
Nginx
yum install -y nginx
下载 nginx ,如下配置:
1 | # For more information on configuration, see: |
启动 nginx -c /etc/nginx/nginx.conf
,即可访问 http://yanplus.cn
Let’s Encrypt
- 打开 cerbot 网页
- 选择接入软件、操作系统
- 按照安装教程一步步执行,大概操作如下:
1 | yum -y install yum-utils |
certbot 会自动检查到你的 nginx.conf
下的配置,把你所有的虚拟站点都列出来,然后让你选择需要开启 https 的站点。你就简单的输入列表编号(用空格分开),然后,certbot 就帮你下载证书并更新 nginx.conf
了
你打开你的 nginx.conf 文件 ,你可以发现你的文件中的 server 配置中可能被做了如下的修改:
1 | listen 443 ssl; # managed by Certbot |
这里建议配置 http2,这要求 Nginx 版本要大于 1.9.5。HTTP2 具有更快的 HTTPS 传输性能,非常值得开启(关于性能你可以看一下这篇文章)。需要开启HTTP/2其实很简单,只需要在 nginx.conf 的 listen 443 ssl; 后面加上 http2 就好了。如下所示:
1 | listen 443 ssl http2; # managed by Certbot |
然后,就 nginx -s reload
就好了。
但是,Let’s Encrypt 的证书90天就过期了,所以,你还要设置上自动化的更新脚本,最容易的莫过于使用 crontab 了。使用 crontab -e
命令加入如下的定时作业(每个月都强制更新一下):
1 | 0 0 1 * * /usr/bin/certbot renew --force-renewal |
注:crontab 中有六个字段,其含义如下:
- 第1个字段:分钟 (0-59)
- 第2个字段:小时 (0-23)
- 第3个字段:日期 (1-31)
- 第4个字段:月份 (1-12 [12 代表 December])
- 第5个字段:一周当中的某天 (0-7 [7 或 0 代表星期天])
- /path/to/command – 计划执行的脚本或命令的名称
其他修改
- 首先是 wordpress的 常规设置中的 “WordPress 地址” 和 “站点地址” 需要变更为 https 的方式。
- 然后是文章内的图片等资源的链接需要变更为 https 的方式。可以使用 “Search Regex” 插件批量更新历史文章里的图片或别的资源的链接。比如:把 http://yanplus.cn 替换成了 https://yanplus.cn