原本的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/
注: 记得每次修改后重启一下服务才能生效
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)