Debian 11 安装 Nginx 并开启 HTTPS
前提
一个域名
域名已经解析到服务器
更新源
apt update && apt upgrade
安装 Nginx
apt install nginx -y
查看 Nginx 版本
nginx -v
查看 Nginx 运行状态
systemctl status nginx
此时访问 http://your_server_ip 会看到 Nginx 欢迎页面
设置 Nginx 站点
mkdir -p /var/www/yourdomain/html
chmod -R 755 /var/www/yourdomain
增加网站首页页面文件
vi /var/www/yourdomain/html/index.html
键入以下内容:
<html>
<head>
<title>MY Website!</title>
</head>
<body>
<h1>Success!!</h1>
</body>
</html>
创建网站配置文件
vi /etc/nginx/sites-available/yourdomain.conf
键入以下内容:
server {
listen 80;
listen [::]:80;
root /var/www/yourdomain/html;
index index.html index.htm index.nginx-debian.html;
server_name yourdomain;
location / {
try_files $uri $uri/ =404;
}
}
启用 Nginx 服务块,将配置文件从站点链接到 Nginx 目录中启用的站点
ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/
修改、优化配置
vi /etc/nginx/nginx.conf
取消此行注释
server_names_hash_bucket_size 64;
验证 Nginx 配置
nginx -t
如果没有错误,则会输出以下内容:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启 Nginx 使配置生效
systemctl restart nginx
使用 Let's Encrypt 签发 SSL 证书,开启 HTTPS
首先安装 certbot 包
apt install python3-certbot-nginx -y
开始创建、签发 SSL 证书
certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email youremail@mail.com -d your_domain.com
现在使用 https://yourdomain 访问你的网站,HTTPS已成功开启。
自动更新 Let's Encrypt 证书
Let's Encrypt 证书在 90 天后过期。使用 crontab 定期来检测、更新证书。
crontab -e
下面命令的含义:每天凌晨 8 点,检查服务器上的证书是否会在接下来的 30 天内过期,如果是,则更新它。
使用 --quiet 指令使 certbot 不输出日志信息。
0 8 * * * /usr/bin/certbot renew --quiet
保存并关闭 crontab 文件。
所有证书将自动续期。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭