93 lines
2.0 KiB
Markdown
93 lines
2.0 KiB
Markdown
# 部署到腾讯云
|
||
|
||
## 1. 服务器准备
|
||
|
||
```bash
|
||
# SSH 登录后安装 Docker
|
||
curl -fsSL https://get.docker.com | sh
|
||
sudo systemctl enable docker && sudo systemctl start docker
|
||
|
||
# 安装 docker-compose
|
||
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||
sudo chmod +x /usr/local/bin/docker-compose
|
||
```
|
||
|
||
## 2. 上传代码
|
||
|
||
```bash
|
||
# 本地打包(排除 node_modules 和 .venv)
|
||
cd "/Users/soda/Desktop/PastPaper Master"
|
||
tar --exclude='node_modules' --exclude='.venv' --exclude='__pycache__' --exclude='.git' \
|
||
-czf pastpaper.tar.gz .
|
||
|
||
# 上传到服务器
|
||
scp pastpaper.tar.gz root@<SERVER_IP>:/opt/pastpaper/
|
||
|
||
# 服务器上解压
|
||
ssh root@<SERVER_IP>
|
||
cd /opt/pastpaper && tar xzf pastpaper.tar.gz
|
||
```
|
||
|
||
## 3. 配置环境变量
|
||
|
||
```bash
|
||
# 编辑 .env,确认所有 key 正确
|
||
vi /opt/pastpaper/.env
|
||
```
|
||
|
||
需要的变量:
|
||
- `SUPABASE_URL`, `SUPABASE_ANON_KEY`, `SUPABASE_SERVICE_ROLE_KEY`
|
||
- `DASHSCOPE_BASE_URL`, `DASHSCOPE_API_KEY`
|
||
- `DEEPSEEK_BASE_URL`, `DEEPSEEK_API_KEY`
|
||
- `LAOZHANG_BASE_URL`, `LAOZHANG_API_KEY`(备用)
|
||
- `GOOGLE_GEMINI_API_KEY`(如果服务器地区支持)
|
||
|
||
## 4. 构建并启动
|
||
|
||
```bash
|
||
cd /opt/pastpaper
|
||
docker-compose up -d --build
|
||
```
|
||
|
||
## 5. 验证
|
||
|
||
```bash
|
||
# 检查容器状态
|
||
docker-compose ps
|
||
|
||
# 检查后端健康
|
||
curl http://localhost/health
|
||
|
||
# 查看日志
|
||
docker-compose logs -f backend
|
||
docker-compose logs -f frontend
|
||
```
|
||
|
||
## 6. 域名 + HTTPS(可选)
|
||
|
||
如果有域名,在腾讯云控制台配置 DNS → 服务器 IP,然后:
|
||
|
||
```bash
|
||
# 安装 certbot
|
||
apt install -y certbot python3-certbot-nginx
|
||
|
||
# 获取证书(先把 nginx.conf 里 server_name 改成你的域名)
|
||
certbot --nginx -d your-domain.com
|
||
```
|
||
|
||
## 常用运维命令
|
||
|
||
```bash
|
||
# 重启
|
||
docker-compose restart
|
||
|
||
# 更新代码后重新构建
|
||
docker-compose up -d --build
|
||
|
||
# 查看后端日志
|
||
docker-compose logs -f backend
|
||
|
||
# 进入后端容器
|
||
docker-compose exec backend bash
|
||
```
|