宝塔面板部署gunicorn+django(python项目管理器,旧版本!)


用的是CentOS系统(python项目管理器目前只有centos的宝塔才能安装),以下是操作过程,希望大家可以少踩坑

基本情况说明:

  • 系统centos
  • 宝塔+python项目管理器1.5
  • django是2.1版本

操作流程

进入宝塔面板,python项目管理器中进行相关操作

1. 添加项目

选项 填写说明
项目名称 如blog
路径 如 /www/wwwroot/blog/
python版本 我选择的是python3.6.8
启动方式 gunicorn
启动文件或文件夹 /www/wwwroot/blog/
端口 如8000,看自己需求
安装模块依赖 勾选
开机启动 勾选
其中一些选项说明:
  • python版本 可以在【python项目管理器】的【版本管理】中安装各种python版本
  • 启动方式 用的是gunicorn,所以在django项目settings.py文件的【INSTALLED_APPS】中添加"gunicorn"
  • 安装模块依赖 可以在本地项目开发环境中通过“pip freeze > requirements.txt”导出requirements.txt文件,勾选后【python项目管理器】会根据requirements.txt来安装模块

2. 映射

  • 启动项目,输入【映射】的域名(没有也可以输入IP),然后就可以在宝塔面板的【网站】一栏看到刚映射的网站名了

3. 静态文件访问设置

在【网站中】配置下【反向代理】,在{}中最后一行追加如下代码:

    location /static/ {
        alias /www/wwwroot/blog/mystatic/;
    }
    location /media/ {
        alias /www/wwwroot/blog/media/;
    }
其中一些选项说明:
  • 我在项目的settings.py文件中STATIC_ROOT的一些配置
ALLOWED_HOSTS = ['*']
Debug = False
STATIC_ROOT = os.path.join(SITE_ROOT, 'mystatic')
#   我用的mystatic,也可以其他的,不要用static,可以少踩坑
  • 如果网站admin后台样式没有,可能是你静态文件没导出
#导出静态文件
python manage.py collectstatic
  • 如果logo显示不出,在urls文件中添加
from django.views.generic.base import RedirectView
urlpatterns+=[path('favicon.ico', RedirectView.as_view(url='/static/CACHE/favicon.ico'))]