61 lines
1.4 KiB
Bash
Executable File
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
|