2.1 KiB
2.1 KiB
gaokao-site 部署工作流
2026-06-21 新增,来自 v3.0/v3.1 部署经验
标准部署步骤
每次改完代码后的完整部署流程:
# 1. 同步修改文件到服务器
sshpass -p 'xue.2538' scp gaokao_chat_server_v2.py root@192.144.179.11:/www/wwwroot/gaokao/
sshpass -p 'xue.2538' scp index.html root@192.144.179.11:/www/wwwroot/gaokao/
# ...(视改动的文件而定)
# 2. 重启示后端
sshpass -p 'xue.2538' ssh root@192.144.179.11 "pkill -f gunicorn && sleep 2 && cd /www/wwwroot/gaokao && nohup /www/server/panel/pyenv/bin/gunicorn --workers 2 --bind 127.0.0.1:8080 --timeout 180 --access-logfile /tmp/gaokao_access.log --error-logfile /tmp/gaokao_error.log gaokao_chat_server_v2:app > /dev/null 2>&1 &"
# 3. 等启动
sleep 3
# 4. 清 Redis 缓存(改过推荐逻辑或 AI prompt 时必须清)
sshpass -p 'xue.2538' ssh root@192.144.179.11 "redis-cli keys 'aichat:*' | xargs -r redis-cli DEL"
# 5. 验证
sshpass -p 'xue.2538' ssh root@192.144.179.11 "curl -s -X POST http://127.0.0.1:8080/api/prob -H 'Content-Type: application/json' -d '{\"score\":517,\"subject\":\"物理类\"}'"
# 6. 推送到 Gitea
cd ~/mc/gaokao-site
cp ~/mc/gaokao-site-v3.0/gaokao_chat_server_v2.py ~/mc/gaokao-site/
git add . && git commit -m "描述改动" && git push origin master
注意事项
- Redis 缓存键模式:
aichat:{score}:{subject}和aichat:{score}:{subject}:{area}:{major}:{risk} - 必须清缓存的情况:改了推荐算法、AI prompt、学校类型检测、专业数据查询
- 不需要清缓存的情况:纯前端改(HTML/CSS/JS 样式改动)
- gunicorn 重启:NOT HUP 信号(经常失效),必须
pkill -f gunicorn+ 重新启动 - pycache:改 .py 文件后建议
rm -rf /www/wwwroot/gaokao/__pycache__/
为什么 Gitea 推送可能失败
云服务器(192.144.179.11)无法直接访问内网 Gitea(192.168.123.11:3000)。 必须在本地笔记本上 push:
# 先把改好的文件同步到本地 git repo
cp ~/mc/gaokao-site-v3.0/*.py ~/mc/gaokao-site/
cp ~/mc/gaokao-site-v3.0/*.html ~/mc/gaokao-site/
cd ~/mc/gaokao-site && git push origin master