您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

uwsgi+nginx代理Django无法访问静态资源的解决

51自学网 2022-07-04 11:32:38
  网站维护

在部署uwsgi+nginx代理Django的时候,使用uwsgi访问正常,但是使用nginx代理端口访问的时候无法访问静态资源。

解决方法:

  • 查看nginx启动用户,将静态资源赋权给改用户访问即可。
  • 如我的静态资源目录:/data/django/static
  • 赋权:chmod 755 /data/django/static -R

uwsgi配置:

# uwsig使用配置文件启动[uwsgi]# 项目所在的根目录chdir=/data/django/dailyfresh# 指定项目的application,区别于启动命令--wsgi-filemysite/wsgi.py#logsquery自己应用的名字module=dailyfresh.wsgi:application#the local unix socket file than commnuincate to Nginx# 指定sock的文件路径,这个sock文件会在nginx的uwsgi_pass配置,用来nginx与uwsgi通信# 支持ip+port模式以及socket file模式#socket=/etc/uwsgi/uwsgi.socksocket=127.0.0.1:9001# 进程个数processes = 8# 每个进程worker数workers=5procname-prefix-spaced=dailyfresh # uwsgi的进程名称前缀py-autoreload=1 # py文件修改,自动加载# 指定IP端口,web访问入口http=0.0.0.0:9000# 启动uwsgi的用户名和用户组uid=rootgid=root# 启用主进程master=true# 自动移除unix Socket和pid文件当服务停止的时候vacuum=true# 序列化接受的内容,如果可能的话thunder-lock=true# 启用线程enable-threads=true# 设置一个超时,用于中断那些超过服务器请求上限的额外请求harakiri=30# 设置缓冲post-buffering=4096# 设置日志目录daemonize=/var/log/uwsgi/uwsgi.log# uWSGI进程号存放pidfile=/etc/uwsgi/uwsgi.pid

nginx配置:

server {            listen       9002;            server_name  192.168.2.100;            access_log /var/log/test.log;            error_log /var/log/test.log;            charset utf-8;            client_max_body_size 100M;            location /static{                    alias /data/django/dailyfresh/static;            }            location /media{                    alias /data/django/dailyfresh/media;            }            location /  {                    include  uwsgi_params;                    uwsgi_pass 127.0.0.1:9001;            }            error_page   500 502 503 504  /50x.html;            location = /50x.html {                root   html;            }}

下载地址:
通过idea打包项目到docker的操作方法
windows下快速安装nginx并配置开机自启动的方法
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1