Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
082d7fa133 |
3
app.py
3
app.py
@@ -179,4 +179,5 @@ def api_user():
|
||||
if __name__ == '__main__':
|
||||
init_db()
|
||||
app.config['TEMPLATES_AUTO_RELOAD'] = True
|
||||
app.run(host='0.0.0.0', port=5058, debug=False)
|
||||
port = int(os.environ.get('PORT', 5058))
|
||||
app.run(host='0.0.0.0', port=port, debug=False)
|
||||
|
||||
56
deploy.sh
Normal file
56
deploy.sh
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
# ziwei-power 一键部署脚本
|
||||
# 用法: bash deploy.sh [port]
|
||||
|
||||
set -e
|
||||
|
||||
PORT="${1:-5058}"
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
LOG_FILE="/tmp/ziwei-power.log"
|
||||
|
||||
echo "=== ziwei-power 部署 ==="
|
||||
echo "目录: $PROJECT_DIR"
|
||||
echo "端口: $PORT"
|
||||
|
||||
# 1. 停止旧进程
|
||||
OLD_PID=$(lsof -ti :$PORT 2>/dev/null || true)
|
||||
if [ -n "$OLD_PID" ]; then
|
||||
echo "停止旧进程 PID=$OLD_PID..."
|
||||
kill $OLD_PID 2>/dev/null || true
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
# 2. 创建/激活 venv
|
||||
cd "$PROJECT_DIR"
|
||||
if [ ! -d "venv" ]; then
|
||||
echo "创建虚拟环境..."
|
||||
python3 -m venv venv
|
||||
fi
|
||||
|
||||
echo "安装依赖..."
|
||||
venv/bin/pip install -q -r requirements.txt
|
||||
|
||||
# 3. 自动建表(首次运行)
|
||||
echo "初始化数据库..."
|
||||
venv/bin/python -c "
|
||||
from database import init_db
|
||||
init_db()
|
||||
print('数据库就绪')
|
||||
"
|
||||
|
||||
# 4. 启动服务
|
||||
echo "启动服务 (PID=$$)..."
|
||||
nohup venv/bin/python app.py > "$LOG_FILE" 2>&1 &
|
||||
NEW_PID=$!
|
||||
sleep 1
|
||||
|
||||
if kill -0 $NEW_PID 2>/dev/null; then
|
||||
echo "部署完成!"
|
||||
echo " 访问: http://localhost:$PORT"
|
||||
echo " 日志: $LOG_FILE"
|
||||
echo " PID : $NEW_PID"
|
||||
else
|
||||
echo "启动失败,查看日志:"
|
||||
cat "$LOG_FILE"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user