#!/bin/bash
# 定义环境变量
PROJECT_ENV="py-project-env" # 宝塔里的python环境,如非宝塔,这里可以忽略
PYTHONPATH_DIR="" # 后端项目目录
UVICORN_APP="application.asgi:application"
HOST="0.0.0.0" # 设置监听的主机地址,0.0.0.0 表示监听所有网络接口
PORT="8000" # 设置 Uvicorn 服务监听的端口号
RELOAD="--reload" # 开启代码热重载功能,适用于开发环境
LIFESPAN="--lifespan off" # 禁用生命周期管理,通常用于调试或特定配置
WORKERS=4 # 设置workers数量,提高并发处理能力
# 激活 Python 项目虚拟环境
echo "激活虚拟环境: $PROJECT_ENV"
source "$PROJECT_ENV" backend # 如非宝塔,将这行改为你的激活环境的命令
# 切换到项目目录
echo "切换到项目目录: $PYTHONPATH_DIR"
cd "$PYTHONPATH_DIR" || { echo "无法进入目录: $PYTHONPATH_DIR" >&2; exit 1; }
# 启动 Uvicorn 服务
echo "启动 Uvicorn 服务..."
uvicorn "$UVICORN_APP" --host "$HOST" --port "$PORT" $RELOAD $LIFESPAN --workers "$WORKERS"
创建文件并提权※
cd
nano run_uvicorn.sh
sudo chmod +x run_uvicorn.sh
./run_uvicorn.sh