生产环境部署Django:ubuntu 16 + Django + uwsgi + Nginx
部署成功后,网站可以正常打开,但是后台管理系统找不到css文件而无样式。
网站正常说明uwsgi 和 nginx 配置都没有问题,在urls.py中添加静态文件路由即可:
第一步:urls.py中添加静态文件路由
from django.views.static import serve
url(r'^xx_static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT }),
第二步:settings.py中添加路径
xx_static 名称与settings.py 中的 STATIC_URL 文件名称保持一致,即:
STATIC_URL = /xx_static/
STATIC_ROOT = os.path.join(BASE_DIR, "xx_static")
第三步:生产环境中的网站根目录下创建文件夹
在生产环境中的网站根目录下,即 /home/用户名/项目名称 下 新建 xx_static 文件夹。然后再根目录下执行:
python3 ./manage.py collectstatic
第四步:生产环境中的nginx配置文件
重启 uwsgi --ini 项目名称.ini ,就可以显示。如果还有问题,检查文件 vi /etc/nginx/nginx.conf,server中添加 静态文件路径:
server {
listen 80;
server_name 域名;
root /home/用户名/项目名称;
location /static/ {
alias /home/用户名/项目名称/xx_static/;
break;
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
}
参考:如下博文中介绍了两种解决方法,也可以尝试。