/ / अनुमति से इनकार कर दिया स्थिर फ़ाइलों तक पहुँचने Nginx + uwsgi + Django - django, nginx, uwsgi, centos6.5

अनुमति अस्वीकृत स्थिर फाइलों तक पहुंच Nginx + uwsgi + Django - django, nginx, uwsgi, centos6.5

मेरे पास सेटअप Django परियोजना है CentOS 6.5 पर Nginx और uwsgi के साथ।

स्थैतिक सामग्री तक पहुँचने के दौरान मुझे त्रुटि हो रही हैनीचे के रूप में (/var/log/nginx/error.log)- 2015/11/02 19:05:37 [त्रुटि] 29701 # 0: * 52 खुला () "/home/amar/workspace/myproj/config/static/rest_framework/js/default.js" विफल (13: अनुमति से इनकार किया) ), क्लाइंट: 172.29.100.104, सर्वर: myapi.dev, अनुरोध: "GET /static/rest_framework/js/default.js HTTP / 1.1", होस्ट: "myapi .dev", संदर्भ:http://myapi.dev/api/v1/datasets/"

मेरा /etc/nginx/conf.d/virtual.conf नीचे दिखाया गया है -

# mysite_nginx.conf

# the upstream component nginx needs to connect to
upstream django {
server unix:///tmp/uwsgi.sock; # for a file socket
#server 127.0.0.1:8001; # for a web port socket (we"ll use this first)
}

# configuration of the server
#
#API
#
server {
# the port your site will be served on
listen      80;
# the domain name it will serve for
server_name myapi.dev; # substitute your machine"s IP address or FQDN
charset     utf-8;

# max upload size
client_max_body_size 75M;   # adjust to taste

location /static {
autoindex  on;
alias /home/amar/workspace/myproj/config/static; # your Django project"s static files - amend as required
}

# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass  django;
include     /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
}

यहाँ मेरी uwsgi.ini फ़ाइल है:


[uwsgi]

chdir = /home/amar/workspace/myproj
#home = %(base)/.virtualenvs/myproj
module = config.wsgi:application

home = /home/amar/.virtualenvs/myproj

master = true
processes = 3

socket = /tmp/uwsgi.sock
chmod-socket = 777
vacuum = true

क्या कोई मुझे सही दिशा बतला सकता है?

उत्तर:

उत्तर № 1 के लिए 1

इसमें समय लगा लेकिन मैंने खुद ही समस्या को ठीक कर लिया। उपयोगकर्ता को बदल दिया अमर को जड़ और स्थैतिक फ़ोल्डर की अनुमति सेट करें 666। आशा है कि यह भविष्य में किसी की मदद करेगा।


जवाब के लिए 0 № 2

संभवतः SELinux से संबंधित है। आपको HTTPD स्क्रिप्ट और मॉड्यूल को नेटवर्क से कनेक्ट करने की अनुमति देने की आवश्यकता होगी।

setsebool httpd_can_network_connect on -P