宝塔用户_tvnydk 发表于 2026-4-17 17:08:17

【已解答】Python项目自动化部署问题

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:11.6
系统版本:debian 12.0
问题描述:宝塔启动python项目的方式不是系统的systemctl,如何编写脚本重启该项目
相关截图(日志、错误):

大炮运维V587 发表于 2026-4-17 18:39:35

您好,可以尝试这样操作:
1、确定您的Python环境位,比如我的是Python3.14.3
/www/server/pyporject_evn/versions/3.14.3/bin/python3
2、确定您的项目启动文件:
默认一般是 /www/wwwroot/你的项目/app.py
3、你项目的根目录,默认是 /www/wwwroot/你的项目

4、创建您的systemd服务文件,默认放在/etc/systemd/system/
vi /etc/systemd/system/myproject.service


Description=My Python Project# 服务描述(可以自己修改成自己的项目)
After=network.target         # 等待网络启动后再运行


User=root                      # 运行用户(宝塔用 root 最稳定)
Group=root                     # 用户组
WorkingDirectory=/www/wwwroot/你的项目根目录# 项目根目录
ExecStart=/www/server/pyporject_evn/versions/3.14.3/bin/python3
/www/wwwroot/你的项目/app.py# 启动命令
Restart=always               # 崩溃自动重启
RestartSec=5                   # 重启间隔 5 秒
StandardOutput=journal+console # 日志输出到系统日志
StandardError=journal+console


WantedBy=multi-user.target      # 开机自启
必须修改的 3 个地方
WorkingDirectory= → 项目根目录
ExecStart= → 前面是虚拟环境 python 路径,后面是启动文件路径
Description= → 自定义服务名





5、重载systemd 并启用服务
# 1. 刷新 systemd 配置
systemctl daemon-reload

# 2. 设置开机自启
systemctl enable myproject

# 3. 启动服务
systemctl start myproject

# 4. 查看服务状态(最重要)
systemctl status myproject
看到有 active(running)就是成功了。





宝塔用户_tvnydk 发表于 2026-4-18 16:30:37

大炮运维V587 发表于 2026-4-17 18:39
您好,可以尝试这样操作:
1、确定您的Python环境位,比如我的是Python3.14.3
/www/server/pyporject_evn/ve ...

感谢解答,明白了,就是不使用bt ui面板的python项目管理器启动项目,而是自己编辑系统服务管理项目是么?

大炮运维V587 发表于 2026-4-18 16:36:40

宝塔用户_tvnydk 发表于 2026-4-18 16:30
感谢解答,明白了,就是不使用bt ui面板的python项目管理器启动项目,而是自己编辑系统服务管理项目是么 ...

是的呢。这个需求我先记下来,等后面需求多了,我看看能不能做个通用的模板
页: [1]
查看完整版本: 【已解答】Python项目自动化部署问题