第 1 步:确认服务器系统
SSH 登录腾讯云服务器:
ssh ubuntu@你的服务器公网IP
或者腾讯云控制台直接点击「登录」。
查看系统:
cat /etc/os-release
如果看到类似:
Ubuntu
Ubuntu 22.04
Ubuntu 24.04
就可以继续下面的步骤。
第 2 步:把域名解析到腾讯云服务器
进入:
腾讯云
→ 云解析 DNS
→ 你的域名
→ 添加记录
例如你的域名是:
example.com
添加:
@ A 你的腾讯云公网 IP
www A 你的腾讯云公网 IP
如果你不需要:
www.example.com
第二条可以不添加。
在服务器上可以检查:
getent hosts example.com
返回的 IP 应该是你的腾讯云服务器公网 IP。
第 3 步:开放 80 和 443 端口
进入腾讯云:
云服务器 CVM
→ 实例
→ 安全组
→ 入站规则
确保允许:
TCP 22
TCP 80
TCP 443
其中:
22 = SSH
80 = HTTP
443 = HTTPS
腾讯云官方安全组文档也将 80 定义为 HTTP、443 定义为 HTTPS。
第 4 步:安装 Nginx
更新软件:
sudo apt update
安装:
sudo apt install nginx -y
启动 Nginx:
sudo systemctl enable --now nginx
检查:
sudo systemctl status nginx
如果看到:
active (running)
说明正常。
现在浏览器访问:
http://你的服务器公网IP
应该能看到 Nginx 默认页面。
第 5 步:给域名配置 Nginx
假设你的域名是:
example.com
创建配置:
sudo nano /etc/nginx/sites-available/example.com
写入:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
如果你没有 www.example.com,改成:
server_name example.com;
保存后创建软链接:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
检查配置:
sudo nginx -t
正常情况下看到:
syntax is ok
test is successful
然后重新加载:
sudo systemctl reload nginx
现在访问:
http://example.com
应该已经能访问。
只有 HTTP 正常以后,再进行下一步。
第 6 步:安装 Certbot
安装 Snap:
sudo apt install snapd -y
安装 Certbot:
sudo snap install --classic certbot
创建命令链接:
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
这是 Certbot 官方目前针对 Nginx 推荐的安装方式。
检查:
certbot --version
能显示版本号即可。
第 7 步:申请 Let’s Encrypt 证书
如果你同时需要:
example.com
www.example.com
执行:
sudo certbot --nginx -d example.com -d www.example.com
如果只需要:
example.com
执行:
sudo certbot --nginx -d example.com
过程中会要求输入邮箱:
Enter email address:
输入你的邮箱。
然后同意服务条款。
Certbot 会自动:
验证域名
↓
联系 Let's Encrypt
↓
申请 SSL 证书
↓
安装证书
↓
修改 Nginx
↓
开启 HTTPS
Certbot 官方说明,certbot --nginx 可以直接获取证书并自动修改 Nginx 配置启用 HTTPS。
第 8 步:打开 HTTPS 测试
浏览器访问:
https://example.com
如果浏览器地址栏正常显示 HTTPS,就成功了。
再访问:
http://example.com
通常 Certbot 已经会配置成跳转到:
https://example.com
第 9 步:测试自动续期
执行:
sudo certbot renew --dry-run
如果最后没有错误,说明自动续期正常。
Certbot 官方说明安装后会通过 cron 或 systemd timer 自动执行续期,因此正常情况下以后不需要你每 90 天重新申请和配置证书。
可以查看定时任务:
systemctl list-timers | grep certbot
- 最终完成
最终结构就是:
你的域名
│
│ HTTPS :443
↓
Nginx
│
↓
你的网站 / 后端项目
Let’s Encrypt:
免费申请
+
自动续期
+
Nginx 自动加载证书