Ubuntu 下安装 Nginx 环境和配置 Let's Encrypt
安装 Nginx
安装 Nginx,顺便 PHP 也一起装了,安装完启动服务。
sudo apt install nginx php-fpm
sudo systemctl start nginx
sudo systemctl start php7.4-fpm.service
绑定域名
绑定域名 domain.com 到 nginx 默认 web 服务路径,并启用站点。
sudo mkdir /var/www/domain.com
sudo vi /etc/nginx/sites-available/domain.com
server {
listen 80;
listen [::]:80;
server_name domain.com www.domain.com;
root /var/www/domain.com;
}
sudo ln -s /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
为域名安装 Let's Encrypt SSL 证书。
1、安装 Certbot Nginx 插件
sudo apt install certbot python3-certbot-nginx
2、安装配置 ufw 防火墙(可选)
sudo apt install ufw 安装防火墙
sudo ufw enable 启动防火墙
sudo ufw status 防火墙状态
sudo ufw allow 'Nginx Full' 允许 https
3、获取配置域名 SSL 证书
sudo certbot --nginx -d domain.com -d www.domain.com
首次要求填 email,过程会问你是否所有访问强制跳转 https,如果选是,会自动帮你修改域名配置文件 /etc/nginx/sites-available/domain.com
,结束后会显示证书存放位置,就可以直接 https 访问了。
4、设置 Certbot 自动续订 Let's Encrypt SSL 证书。
sudo systemctl status certbot.timer
验证Certbot自动续订
sudo certbot renew --dry-run
5、未设置自动,到期手动续订
sudo certbot --nginx
6、列出当前已获得证书
sudo certbot certificates
7、删除证书
sudo certbot delete