LINUX.ORG.RU
решено ФорумAdmin

Nginx permission denied помогите побороть

 , ,


0

2

Здравствуйте уважаемые. Собираю хостинг для django проектов по этому мануалу. Столкнулся с проблемой 502 Bad Gateway. В лог сыпятся ошибки:

 18:45:58 [crit] 2575#0: *88 connect() to unix:/var/run/uwsgi/blog.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.0.5, server: example.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/var/run/uwsgi/blog.sock:", host: "example.com" 

Конфиг виртуального хоста nginx:

upstream wsgi_blog {
   server unix:/var/run/uwsgi/blog.sock;
}

server {
    listen      80;
    server_name example.com;
    charset     utf8;
    autoindex   off;
    access_log  /var/log/nginx/blog_access.log;
    error_log   /var/log/nginx/blog_error.log error;

    set         $project_home /home/django/projects/blog;

    location /static_common {
        root            $project_home;
        expires         1d;
    }

    location / {
        try_files       $uri    @django;
    }

    location @django {
        uwsgi_pass      wsgi_blog;
        include         uwsgi_params;
    }
}

Конфиг uwsgi:

[uwsgi]
virtualenv = /home/django/env/%n
chdir = /home/django/projects/%n
plugins = python34
pythonpath = ..
socket = /var/run/uwsgi/%n.sock
chmod-socket = 666
logto = /var/log/uwsgi/%n.log
env = DJANGO_SETTINGS_MODULE=%n.settings
module = django.core.handlers.wsgi:WSGIHandler()
buffer-size = 32768

Операционая система gentoo, uwsgi собирался с этими флагами:

 www-servers/uwsgi-2.0.9::gentoo  USE="python -apache2 -caps -cgi -debug -embedded -expat -jemalloc -json -lua -mono -pcre -perl -php -python_asyncio -python_gevent -routing -ruby (-selinux) -ssl -xml -yajl -yaml -zeromq" PHP_TARGETS="php5-5 (-php5-4)" PYTHON_TARGETS="python2_7 python3_4 -python3_3" RUBY_TARGETS="ruby20" UWSGI_PLUGINS="http* router_access* router_cache* router_http* router_memcached router_rewrite router_static router_uwsgi -alarm_curl -alarm_xmpp -cache -carbon -cheaper_busyness -clock_monotonic -clock_realtime -corerouter -curl_cron -dumbloop -echo -emperor_amqp -emperor_pg -emperor_zeromq -fastrouter -forkptyrouter -geoip -graylog2 -ldap -legion_cache_fetch -logcrypto -logfile -logpipe -logsocket -mongodblog -nagios -notfound -pam -ping -rados -rawrouter -redislog -router_basicauth -router_expires -router_hash -router_metrics -router_radius -router_redirect -router_redis -router_spnego -router_xmldir -rpc -rrdtool -rsyslog -signal -spooler -sqlite* -ssi -sslrouter -stats_pusher_statsd -symcall -syslog -systemd_logger -transformation_chunked -transformation_gzip -transformation_offload -transformation_tofile -transformation_toupper -tuntap -ugreen -webdav -xattr -xslt -zabbix -zergpool"

Что я делаю не так?

★★★

Еще у меня путь к сокету по другому записан, но я не знаю имеет ли это хоть какое-то значение.

upstream django {
    server unix:///Volumes/Storage/.einstein-server/socket;
}

FIL ★★★★ ()
Последнее исправление: FIL (всего исправлений: 1)
Ответ на: комментарий от FIL

Да. Добавил в конфиг группу щас рут вообще не присутствует все тупо запускается от пользователя django

srw-rw-rw-  1 django django   0 мар 10 21:46 blog.sock
-rw-rw-rw-  1 django django   5 мар 10 21:46 uwsgi.pid
и по прежнему 502

xaTa ★★★ ()
Ответ на: комментарий от FIL

Щас ситуация поменялась в логах после того как дал ему группу в конфиге.

 [error] 8053#0: *1 upstream prematurely closed connection while reading response header from upstream, client: 192.168.0.5, server: example.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///var/run/uwsgi/blog.sock:", host: "example.com"

xaTa ★★★ ()
Ответ на: комментарий от FIL

Да там хосты правильно прописаны. Подозреваю что это проблема uwsgi, попробую происать статические пути в конфигах.

xaTa ★★★ ()
Ответ на: комментарий от anonymous
srv0 main # curl -v --unix-socket /var/run/uwsgi/blog.sock http:/index.html_or_so
*   Trying /var/run/uwsgi/blog.sock...
* Connected to http (/var/run/uwsgi/blog.sock) port 80 (#0)
> GET /index.html_or_so HTTP/1.1
> Host: http
> User-Agent: curl/7.45.0
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host http left intact
curl: (52) Empty reply from server
xaTa ★★★ ()
Ответ на: комментарий от FIL

Поборол) я был прав это настройки uwsgi, а точнее module = blog.wsgi:application Спасибо вам за помощь.

xaTa ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.