nginx + django + uwsgi静态文件403禁止

嗨〜我正在CentOS 6.5中部署一个网站。 该框架是django1.7。 我使用nginxuwsgi

除了所有静态文件的403 Forbidden之外,该网站现在可用。

我GOOGLE了几个小时,并已经改变了整个网站文件夹为chmod 777.文件夹的所有者是kltc,用户在nginx.conf中也是kltc。

我不知道为什么问题仍然是权限被拒绝。

nginx.conf

user kltc; worker_processes 1; 

kuaileticao.miyayx.me

  server { # the port your site will be served on listen 80; # the domain name it will serve for server_name kuaileticao.miyayx.me; # substitute your machine's IP address or FQDN charset utf-8; access_log /srv/www/nginx/kuaileticao.miyayx.me/access.log; error_log /srv/www/nginx/kuaileticao.miyayx.me/error.log; location /static { autoindex on; alias /home/kltc/Project/sunny_sports/sunny_sports/static; } # Finally, send all non-media requests to the Django server. location / { uwsgi_pass 127.0.0.1:8001; include uwsgi_params; # the uwsgi_params file you installed } } 

uwsgi.ini

 [uwsgi] # the base directory (full path) chdir=/home/kltc/Project/sunny_sports # Django's wsgi file module=sunny_sports.wsgi:application master=true # maximum number of worker processes processes=10 # the socket (use the full path to be safe socket=127.0.0.1:8001 chmod-socket=664 chown-socket=kltc:kltc pidfile=/tmp/project-master.pid # clear environment on exit vacuum=true max-requests=5000 daemonize=sunny_sports.uwsgi.log 

error.log中

 [error] 34335#0: *73 open() "/home/kltc/Project/sunny_sports/sunny_sports/static/css/font-awesome.min.css" failed (13: Permission denied), client: 157.7.154.194, server: kuaileticao.miyayx.me, request: "GET /static/css/font-awesome.min.css HTTP/1.1", host: "kuaileticao.miyayx.me", referrer: "http://kuaileticao.miyayx.me/" 
 [kltc@localhost static]$ pwd /home/kltc/Project/sunny_sports/sunny_sports/static [kltc@localhost static]$ ls -l total 32 4 drwxrwxrwx. 2 kltc kltc 4096 Feb 25 18:51 avatars 4 drwxrwxrwx. 7 kltc kltc 4096 Feb 25 18:51 css 4 drwxrwxrwx. 2 kltc kltc 4096 Feb 25 18:51 custom 4 drwxrwxrwx. 2 kltc kltc 4096 Feb 25 18:51 font 4 drwxrwxrwx. 2 kltc kltc 4096 Feb 25 18:51 fonts 4 drwxrwxrwx. 3 kltc kltc 4096 Feb 25 18:51 images 4 drwxrwxrwx. 2 kltc kltc 4096 Feb 25 18:51 img 4 drwxrwxrwx. 10 kltc kltc 4096 Feb 26 08:18 js 

>

 [kltc@localhost static]$ ps -aux | grep nginx root 37444 0.0 0.0 110008 2048 ? Ss 09:02 0:00 nginx: master process /usr/sbin/nginx kltc 37445 0.0 0.0 112548 3700 ? S 09:02 0:00 nginx: worker process 

我已经尝试了几种方法。 比如,把nginx.conf用户改为root 。 但他们都没有工作。

希望你的帮助。 谢谢!

确保将chown项目(/ home)的父目录设置为可由nginx工作人员读取。

 chown -R kltc:kltc /home chmod -R ug+r /home 

确保在设置文件中声明了STATIC_ROOT。

另外,在运行服务器之前,尝试运行python manage.py collectstatic --noinput

希望工程!