# CentOS 更新网站证书
# 1. 安装 Certbot
如果你还没有安装 Certbot,你需要先安装它。对于 CentOS 系统,可以通过以下命令安装 Certbot 和 Nginx 插件:
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
# 2. 获取 / 更新 Let's Encrypt 证书
接下来,使用 Certbot 来获取或更新你的 Let's Encrypt 证书。Certbot 可以自动配置 Nginx 以使用新证书。运行以下命令来自动更新你的 Nginx 配置以使用新的证书(如果你之前已经使用 Certbot 生成过证书,这个命令将自动尝试更新它们):
sudo certbot --nginx -d heyiyuanqi.top -d www.heyiyuanqi.top
如果你想手动配置 Nginx(不推荐,因为自动配置通常更安全、更简单),你可以仅获取证书,而不让 Certbot 修改你的 Nginx 配置:
sudo certbot certonly --webroot -w /var/www/html -d heyiyuanqi.top -d www.heyiyuanqi.top
在这个命令中, -w /var/www/html
应该替换为你的网站的实际根目录。
# 3. 确认 Nginx 配置(如果手动配置)
如果你选择手动配置 Nginx,请确认你的 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/your-site.conf
)已正确设置 ssl_certificate
和 ssl_certificate_key
指令以指向 Certbot 生成的证书和密钥:
ssl_certificate /etc/letsencrypt/live/heyiyuanqi.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/heyiyuanqi.top/privkey.pem;
Certbot 会自动更新这些路径指向最新的证书,因此通常不需要修改这些行,除非你的证书存放路径有所不同。
# 4. 检查 Nginx 配置并重载
在应用任何更改后,使用以下命令检查 Nginx 配置文件的语法是否正确:
sudo nginx -t
如果配置没有问题,重新加载 Nginx 以应用新的证书配置:
sudo systemctl reload nginx
或者,如果你的系统使用的是较旧的服务管理系统,可以使用:
sudo service nginx reload
# 5. 设置自动续订
Let's Encrypt 的证书有效期为 90 天,因此建议设置自动续订。Certbot 通常会在安装时自动安装一个定时任务或系统服务来处理续订。你可以通过运行以下命令测试自动续订是否正常工作:
sudo certbot renew --dry-run
按照这些步骤操作,你应该能够成功更新 CentOS 系统上 Nginx 的 Let's Encrypt 证书。如果在过程中遇到任何问题,可以查看 Certbot 的官方文档或搜索相关错误信息获取帮助。