# 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`。
