📦 方案 1:最小化更新(推荐)
假设服务器路径为 /path/to/production
步骤 1:上传文件
上传整个 guide_app 目录
# 在本地执行
scp -r backend/myproject/guide_app user@server:/path/to/production/backend/myproject/
上传修改的配置文件
# 上传 settings.py
scp backend/myproject/myproject/settings.py user@server:/path/to/production/backend/myproject/myproject/
# 上传 urls.py
scp backend/myproject/myproject/urls.py user@server:/path/to/production/backend/myproject/myproject/
# 上传 requirements.txt
scp backend/requirements.txt user@server:/path/to/production/backend/
# 上传 docker-compose.yml
scp docker-compose.yml user@server:/path/to/production/
步骤 2:在服务器上操作
SSH 登录服务器
ssh user@server
cd /path/to/production
创建日志目录
mkdir -p backend/myproject/logs
chmod 755 backend/myproject/logs
安装新依赖(如果不使用 docker-compose)
# 如果是直接运行 Django(非 Docker)
cd backend
pip install django-cors-headers
重启 Docker 容器
# 方式 1:使用 docker-compose(会自动安装依赖)
docker-compose restart backend
# 方式 2:如果修改了 docker-compose.yml
docker-compose down backend
docker-compose up -d backend
步骤 3:验证部署
检查容器状态
docker-compose ps
查看容器日志
docker-compose logs --tail=50 backend
测试 API 端点
# 健康检查
curl http://localhost:8000/guide/health
# 导管列表
curl http://localhost:8000/guide/api/config/guideleaders
📦 方案 2:使用 Git 部署(如果项目使用 Git)
在本地提交修改
cd D:\Codes\ft_project
git add backend/myproject/guide_app/
git add backend/myproject/myproject/settings.py
git add backend/myproject/myproject/urls.py
git add backend/requirements.txt
git add docker-compose.yml
git commit -m "集成 guide_app 导游管理模块
- 添加 guide_app 应用
- 配置 CORS 支持
- 添加 /guide/ 路由
- 更新 docker-compose 启动命令"
git push
在服务器上拉取
ssh user@server
cd /path/to/production
git pull
# 创建日志目录
mkdir -p backend/myproject/logs
# 重启容器
docker-compose restart backend
📦 方案 3:完整文件列表(复制粘贴方式)
如果需要手动逐个文件传输,这是完整清单:
需要上传的文件
📁 新增目录和文件
backend/myproject/guide_app/ (整个目录)
backend/myproject/logs/ (空目录,手动创建)
📄 修改的文件(5 个)
1. backend/requirements.txt (1 行新增)
2. backend/myproject/myproject/settings.py (约 60 行新增/修改)
3. backend/myproject/myproject/urls.py (1 行新增)
4. backend/myproject/guide_app/templates/guide_management.html (4 处路径修改)
5. docker-compose.yml (3 行修改)
⚠️ 注意事项
1. 备份生产环境(重要!)
cd /path/to/production
tar -czf ../backup_$(date +%Y%m%d_%H%M%S).tar.gz .
2. CORS 配置调整
记得在 settings.py 中修改 CORS_ALLOWED_ORIGINS,添加你的实际域名:
CORS_ALLOWED_ORIGINS = [
"https://api.fantuwl.com", # 你的实际域名
"https://www.fantuwl.com", # 如果有前端域名
]
3. 日志目录权限(如果使用非 root 用户)
sudo chown www-data:www-data backend/myproject/logs
# 或使用运行 Django 的用户
4. Docker vs 直接运行
- 如果服务器使用 Docker: 修改后的
docker-compose.yml会自动安装django-cors-headers - 如果服务器直接运行 Django: 需要手动
pip install django-cors-headers