4.2 KiB
4.2 KiB
股票投资分析系统 - 远程服务器部署情况
最后更新:2026-03-17
一、服务器概览
| 服务器 | IP | 域名 | 用途 | 状态 |
|---|---|---|---|---|
| 主服务器(原有) | 43.135.128.39 | - | 腾讯云,IP直连 | 运行中 |
| 新服务器 | 152.136.182.184 | stock.allbyai.cn | 腾讯云,HTTPS域名 | 已配置 |
二、新服务器 (stock.allbyai.cn) 部署架构
2.1 访问方式
- HTTPS(推荐):https://stock.allbyai.cn
- IP直连:http://152.136.182.184:3333
2.2 技术栈
- Web 应用:Flask (Python) 端口 3333
- 反向代理:Nginx + HTTPS (acme.sh 证书)
- 数据库:PostgreSQL (stock_app)
- 数据采集:stock-data-service (systemd 后台服务)
2.3 部署路径
- 应用目录:
/opt/stock-app - Nginx 配置:
/etc/nginx/sites-available/stock.allbyai.cn - SSL 证书:
/etc/nginx/ssl/stock.allbyai.cn.crt/.key
三、部署脚本清单
| 脚本 | 用途 | 执行位置 |
|---|---|---|
deploy/deploy-to-new-server.sh |
一键完整部署(同步+初始化+Nginx+重启) | 本地 |
deploy/sync-to-new-server.sh |
快速同步代码并重启(日常更新) | 本地 |
deploy/setup-server.sh |
服务器环境初始化(首次部署) | 服务器 |
deploy/setup-ssl.sh |
SSL 证书申请/安装(acme.sh) | 服务器 |
setup_cron_scan.sh |
配置全景扫描定时任务 | 本地→服务器 |
四、部署流程
4.1 首次部署新服务器
cd /Users/freedak/Documents/go-new/stock/stock-html
# 1. 执行一键部署(会同步代码、配置 Nginx、重启服务)
./deploy/deploy-to-new-server.sh
# 2. 首次部署需取消 deploy-to-new-server.sh 第43行注释,执行服务器初始化
# ssh ubuntu@152.136.182.184 "${APP_DIR}/deploy/setup-server.sh"
# 3. 若需 SSL,在服务器上执行
# ssh ubuntu@152.136.182.184
# 先配置 acme.sh + DNS TXT 记录,再运行:
# /opt/stock-app/deploy/setup-ssl.sh
# 4. 配置定时任务(全景扫描、K线采集、资金流向)
./setup_cron_scan.sh
# 或手动指定:STOCK_SERVER=ubuntu@152.136.182.184 STOCK_APP_DIR=/opt/stock-app ./setup_cron_scan.sh
4.2 日常代码更新
cd /Users/freedak/Documents/go-new/stock/stock-html
./deploy/sync-to-new-server.sh
五、服务管理命令
5.1 新服务器 (152.136.182.184)
# Web 应用
ssh ubuntu@152.136.182.184 "systemctl start stock-app"
ssh ubuntu@152.136.182.184 "systemctl stop stock-app"
ssh ubuntu@152.136.182.184 "systemctl restart stock-app"
ssh ubuntu@152.136.182.184 "systemctl status stock-app"
# 数据采集服务
ssh ubuntu@152.136.182.184 "systemctl start stock-data-service"
ssh ubuntu@152.136.182.184 "systemctl restart stock-data-service"
ssh ubuntu@152.136.182.184 "systemctl status stock-data-service"
# 查看日志
ssh ubuntu@152.136.182.184 "journalctl -u stock-app -f"
ssh ubuntu@152.136.182.184 "journalctl -u stock-data-service -f"
5.2 SSL 证书续期
- 自动:acme.sh 已配置 cron 自动续期
- 手动:
/home/ubuntu/.acme.sh/acme.sh --renew -d stock.allbyai.cn --ecc --force
六、注意事项与待办
6.1 已知差异
sync-to-new-server.sh仅重启stock-app,不重启stock-data-service- 完整部署时
deploy-to-new-server.sh会重启两个服务
6.2 同步排除项
部署时排除:.git、venv、__pycache__、stock_data_cache、*.pyc、.DS_Store、stock_names.json、alerts_cache.json、trades.json、watchlist.json、*.log、.playwright-mcp、根目录 /app.js、/index.html、/main.css、/css、/js、.windsurfrules
6.3 定时任务(新服务器需单独配置)
- 11:50 午休扫描
- 16:30 收盘扫描
- 17:30 5分钟K线采集
- 18:00 资金流向采集
使用 setup_cron_scan.sh 或按 run.md 手动配置 crontab。
七、快速参考
| 操作 | 命令 |
|---|---|
| 同步并重启新服务器 | ./deploy/sync-to-new-server.sh |
| 完整部署新服务器 | ./deploy/deploy-to-new-server.sh |
| 查看服务状态 | ssh ubuntu@152.136.182.184 "systemctl status stock-app stock-data-service" |
| 访问地址 | https://stock.allbyai.cn |