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

编程知识 行业动态 更新时间:2024-06-13 00:20:19

原本的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/zh-hans/3.2/howto/static-files/

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

更多推荐

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

本文发布于:2023-03-29 17:35:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/a7e6f02c17093b01c2e347a12fb72145.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:宝塔   线上   python   Django

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!