# Nginx + acme.sh 部署指南 ## 测试环境 (dev.tapi.meijiaka.cn) ### 1. 安装 Nginx ```bash sudo apt update sudo apt install -y nginx ``` ### 2. 部署 Nginx 配置 ```bash sudo cp meijiaka-zy.conf /etc/nginx/sites-available/meijiaka-zy sudo ln -sf /etc/nginx/sites-available/meijiaka-zy /etc/nginx/sites-enabled/ sudo rm -f /etc/nginx/sites-enabled/default sudo nginx -t && sudo systemctl reload nginx ``` ### 3. 申请 SSL 证书(acme.sh) 确保域名 `dev.tapi.meijiaka.cn` 已解析到服务器公网 IP,然后执行: ```bash cd /opt/meijiaka-zy/python-api/nginx chmod +x acme-setup.sh sudo ./acme-setup.sh dev.tapi.meijiaka.cn ``` 脚本会自动: - 安装 acme.sh(如未安装) - 申请 Let's Encrypt 证书 - 安装证书到 `/etc/nginx/ssl/` - 配置自动续签 ### 4. 防火墙/安全组放行 ```bash sudo ufw allow 80/tcp sudo ufw allow 443/tcp ``` 腾讯云控制台安全组也需放行 `80` 和 `443`。 ### 5. 验证 ```bash curl -I https://dev.tapi.meijiaka.cn/health ``` 应返回 `200 OK`。 --- ## 证书管理 ### 查看自动续签任务 ```bash crontab -l | grep acme ``` acme.sh 默认安装 cron 任务,每 60 天自动检查并续签。 ### 手动续签测试(不真正执行) ```bash ~/.acme.sh/acme.sh --renew -d dev.tapi.meijiaka.cn --dry-run ``` ### 强制续签 ```bash ~/.acme.sh/acme.sh --renew -d dev.tapi.meijiaka.cn --force ``` ### 查看证书信息 ```bash ~/.acme.sh/acme.sh --info -d dev.tapi.meijiaka.cn ``` --- ## 生产环境 (tapi.meijiaka.cn) 生产环境步骤相同,只需替换域名: ```bash sudo sed -i 's/dev.tapi.meijiaka.cn/tapi.meijiaka.cn/g' /etc/nginx/sites-available/meijiaka-zy sudo ./acme-setup.sh tapi.meijiaka.cn sudo nginx -t && sudo systemctl reload nginx ``` 同时更新 `docker-compose.prod.yml` 中的 `CORS_ORIGINS` 为 `https://tapi.meijiaka.cn`。