Files
4an-workorder/4an.sh
T
2025-08-08 10:38:10 +08:00

61 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# 激活虚拟环境
VENV_PATH="/mnt/nfs/.venv"
if [ -d "$VENV_PATH" ]; then
source "$VENV_PATH/bin/activate"
else
echo "虚拟环境路径不存在:$VENV_PATH"
exit 1
fi
# 定义 uWSGI 的启动配置文件路径
INI_FILE="/opt/1panel/docker/compose/4an/app/uwsgi.ini"
# 定义 uWSGI 的 PID 文件路径
PID_FILE="/opt/1panel/docker/compose/4an/uwsgi.pid"
# 定义日志文件路径
LOG_FILE="/opt/1panel/docker/compose/4an/uwsgi.log"
# 检查配置文件是否存在
if [ ! -f "$INI_FILE" ]; then
echo "uWSGI 配置文件不存在:$INI_FILE"
exit 1
fi
# 检查 PID 文件是否存在
if [ -f "$PID_FILE" ]; then
echo "停止 uWSGI 服务..."
uwsgi --stop "$PID_FILE"
if [ $? -eq 0 ]; then
echo "uWSGI 服务已成功停止。"
else
echo "停止 uWSGI 服务失败,请检查 PID 文件:$PID_FILE"
exit 1
fi
else
echo "PID 文件不存在,跳过停止服务步骤。"
fi
# 等待 2 秒,确保服务已完全停止
sleep 2
# 启动 uWSGI 服务
echo "启动 uWSGI 服务..."
uwsgi --ini "$INI_FILE" --pidfile "$PID_FILE" --logto "$LOG_FILE"
if [ $? -eq 0 ]; then
echo "uWSGI 服务已成功启动。"
else
echo "uWSGI 服务启动失败,请检查日志:$LOG_FILE"
exit 1
fi
# 检查 PID 文件是否重新生成
if [ -f "$PID_FILE" ]; then
echo "uWSGI 服务已成功重启。"
else
echo "uWSGI 服务启动失败,PID 文件未生成。"
exit 1
fi