栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[python] Django宝塔线上部署踩坑记录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[python] Django宝塔线上部署踩坑记录

原本的Django本地运行的时候是正常的, 当部署线上的时候就一大堆问题出现了.
因为我对Linux并不熟悉, 所以就选择了宝塔的python项目管理器来部署

在部署上线之前, 要添加几个文件.
常规的要在项目根目录加上uwsgi.ini文件, 文件内容如下

[uwsgi]
master = true
processes = 1
threads = 2
chdir = /www/wwwroot/api
wsgi-file = /www/wwwroot/api/zeno_api/wsgi.py  # wsgi文件的绝对路径
http = 0.0.0.0:520  # 0.0.0.0:端口号
logto = /www/wwwroot/api/logs/error.log  # 日志保存路径
chmod-socket = 660
vacuum = true
max-requests = 1000

以上内容需要注意的是, wsgi-file填写的是wsgi.py文件的绝对路径加上文件夹名字. 网上很多都是只填路径的, 部署后会直接报错. 而wsgi.py是Django在建项目的时候就自带了的, 不需修改

部署成功之后, 如果有域名可以映射到域名上, 点击上面的映射填上域名即可, 映射成功之后可以使用域名访问

如果有使用Django自带的admin后台, 会发现项目部署后admin后台的样式会没了. 找了好几天百度都没有解决, 后来还是看官方文档解决的…
首先是要在settings.py下加上STATIC_ROOT, 然后在这个路径下手动创建一个static文件夹

STATIC_ROOT = '/www/wwwroot/api/zeno_api/static/'

然后再去主app下的urls.py修改以下代码

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

修改完之后去服务器切换到你Django所使用的python环境, 去到你Django项目的目录, 然后运行以下命令

python manage.py collectstatic

官方文档链接: https://docs.djangoproject.com/zh-hans/3.2/howto/static-files/

注: 记得每次修改后重启一下服务才能生效

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674981.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号