有没有人会用宝塔面板的Python管理器部署Django应用啊?

求指教,无论怎么弄都只显示 [Internal Server Error]


有没有人会用宝塔面板的Python管理器部署Django应用啊?
3 回复

我搞过,宝塔的Python项目管理器部署Django确实有点坑,主要是环境隔离和静态文件处理。给你个能跑通的流程:

  1. 准备项目:在宝塔里创建Python项目,选好Python版本(比如3.8)。把Django项目代码上传到项目目录。

  2. 安装依赖:在“模块”页面安装djangogunicorn(宝塔默认用这个跑WSGI)。

  3. 关键配置(在“配置文件”里改):

# 这是宝塔生成的uwsgi配置,但实际用gunicorn,所以重点改这里:
import os
import sys

# 项目路径
path = '/www/wwwroot/your_project'
if path not in sys.path:
    sys.path.insert(0, path)

# 设置Django环境变量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')

# 用gunicorn启动
from gunicorn.app.wsgiapp import run
if __name__ == '__main__':
    sys.argv = "gunicorn --bind 127.0.0.1:5000 your_project.wsgi:application".split()
    sys.exit(run())
  1. 静态文件:在Django设置里加:
STATIC_ROOT = '/www/wwwroot/your_project/static'
STATIC_URL = '/static/'

然后SSH进项目目录执行 python manage.py collectstatic,最后在宝塔网站设置里把/static路径映射到刚才的STATIC_ROOT目录。

  1. 数据库:宝塔面板里创建MySQL数据库,在Django的settings.py里配置好连接信息。

  2. 启动:在Python项目管理器页面点“重启”。

常见坑点:宝塔的Python环境有时会调用系统Python而不是虚拟环境里的,导致找不到模块。如果遇到模块导入错误,SSH进项目目录手动用pip装一遍依赖。

总结:配好gunicorn启动和静态文件路径基本就能跑。


手动部署不好吗,nginx+uwsgi。
不过你说的这个问题可能是出在 nginx 反代上。

我部署成功了,可以看我的过程:
http://www.snailtoday.com/archives/14425

回到顶部