Update deploy script
This commit is contained in:
parent
4f8048bd8d
commit
fc4b891c5f
112
deploy.sh
112
deploy.sh
|
|
@ -1,50 +1,100 @@
|
|||
#!/bin/bash
|
||||
# LLM性能测试工具部署脚本
|
||||
# LLM Performance Test Tool 部署脚本
|
||||
# 部署到 8001 端口
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== LLM性能测试工具部署脚本 ==="
|
||||
APP_NAME="llm_perf_test"
|
||||
APP_DIR="/opt/llm_perf_test"
|
||||
PORT=8001
|
||||
USER=$(whoami)
|
||||
|
||||
# 检查Python版本
|
||||
echo "=== LLM Performance Test Tool 部署脚本 ==="
|
||||
echo ""
|
||||
|
||||
# 检查 Python
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "错误: 未找到 Python3,请先安装 Python3.8+"
|
||||
echo "错误: 未找到 Python3"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PYTHON_VERSION=$(python3 --version | cut -d' ' -f2 | cut -d'.' -f1,2)
|
||||
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
|
||||
echo "Python 版本: $PYTHON_VERSION"
|
||||
|
||||
# 创建虚拟环境
|
||||
if [ ! -d "venv" ]; then
|
||||
echo "创建虚拟环境..."
|
||||
python3 -m venv venv
|
||||
fi
|
||||
# 创建应用目录
|
||||
echo "创建应用目录: $APP_DIR"
|
||||
sudo mkdir -p $APP_DIR
|
||||
sudo chown $USER:$USER $APP_DIR
|
||||
|
||||
# 激活虚拟环境
|
||||
echo "激活虚拟环境..."
|
||||
source venv/bin/activate
|
||||
|
||||
# 升级pip
|
||||
echo "升级pip..."
|
||||
pip install --upgrade pip
|
||||
# 复制文件
|
||||
echo "复制应用文件..."
|
||||
cp -r ./* $APP_DIR/
|
||||
|
||||
# 安装依赖
|
||||
echo "安装依赖..."
|
||||
pip install -r requirements.txt
|
||||
echo "安装 Python 依赖..."
|
||||
cd $APP_DIR
|
||||
|
||||
# 检查端口是否被占用
|
||||
if lsof -Pi :8001 -sTCP:LISTEN -t >/dev/null 2>&1; then
|
||||
echo "警告: 端口8001已被占用,尝试停止现有进程..."
|
||||
kill $(lsof -t -i:8001) 2>/dev/null || true
|
||||
sleep 2
|
||||
# 根据 Python 版本安装不同版本的依赖
|
||||
PY_MAJOR=$(python3 -c "import sys; print(sys.version_info.major)")
|
||||
PY_MINOR=$(python3 -c "import sys; print(sys.version_info.minor)")
|
||||
|
||||
if [ "$PY_MAJOR" -eq 3 ] && [ "$PY_MINOR" -le 6 ]; then
|
||||
echo "检测到 Python 3.6,安装兼容版本..."
|
||||
pip3 install --user flask==1.1.4 requests==2.27.1 2>/dev/null || \
|
||||
pip3 install flask==1.1.4 requests==2.27.1
|
||||
else
|
||||
pip3 install --user -r requirements.txt 2>/dev/null || \
|
||||
pip3 install -r requirements.txt
|
||||
fi
|
||||
|
||||
# 启动应用
|
||||
echo "启动LLM性能测试工具 (端口: 8001)..."
|
||||
echo "访问地址: http://localhost:8001"
|
||||
echo ""
|
||||
echo "按 Ctrl+C 停止服务"
|
||||
echo "==================================="
|
||||
# 创建数据目录
|
||||
mkdir -p $APP_DIR/data
|
||||
|
||||
python app.py
|
||||
# 创建 systemd 服务文件
|
||||
echo "创建系统服务..."
|
||||
sudo tee /etc/systemd/system/$APP_NAME.service > /dev/null <<EOF
|
||||
[Unit]
|
||||
Description=LLM Performance Test Tool
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=$USER
|
||||
WorkingDirectory=$APP_DIR
|
||||
Environment=PYTHONPATH=$APP_DIR
|
||||
ExecStart=/usr/bin/python3 $APP_DIR/app.py
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# 重新加载 systemd
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
# 停止旧服务(如果存在)
|
||||
sudo systemctl stop $APP_NAME 2>/dev/null || true
|
||||
|
||||
# 启动服务
|
||||
echo "启动服务..."
|
||||
sudo systemctl start $APP_NAME
|
||||
sudo systemctl enable $APP_NAME
|
||||
|
||||
# 检查状态
|
||||
sleep 2
|
||||
if sudo systemctl is-active --quiet $APP_NAME; then
|
||||
echo ""
|
||||
echo "=== 部署成功! ==="
|
||||
echo "应用地址: http://$(hostname -I | awk '{print $1}'):$PORT"
|
||||
echo "本地地址: http://localhost:$PORT"
|
||||
echo ""
|
||||
echo "查看日志: sudo journalctl -u $APP_NAME -f"
|
||||
echo "停止服务: sudo systemctl stop $APP_NAME"
|
||||
echo "重启服务: sudo systemctl restart $APP_NAME"
|
||||
else
|
||||
echo ""
|
||||
echo "=== 部署失败 ==="
|
||||
echo "请检查日志: sudo journalctl -u $APP_NAME -n 50"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in New Issue