Я пытаюсь подключить Nginx к uWSGI, чтобы я мог запустить приложение, написанное на Ruby (где я не могу использовать пассажир). Это моя конфигурация виртуального хоста:
server {
listen unix:/var/run/nginx/redmine.sock;
root /var/www/redmine/public;
location / {
try_files $uri @uwsgi;
}
location @uwsgi {
include uwsgi_params;
uwsgi_pass unix:/var/run/uwsgi/redmine.sock;
}
}
Это просто, я пытаюсь найти статический файл, в противном случае я перехожу к прослушиванию uwsgi на сокете unix. Это касается меня ошибка 502 "плохой шлюз". Я пошел читать журналы ошибок, и у меня есть следующее:
2014/09/09 20:08:56 [crit] 20922#0: *29484 connect() to unix:/var/run/uwsgi/redmine.sock failed (13: Permission denied) while connecting to upstream, client: unix:, server: , request: "GET /redmine HTTP/1.0", upstream: "uwsgi://unix:/var/run/uwsgi/redmine.sock:", host: "localhost"
Но я был уверен, что настроил uWSGI для использования того же пользователя, что и Nginx:
user nginx;
а также
[uwsgi]
socket = /var/run/uwsgi/redmine.sock
chdir = /var/www/redmine
rails = .
plugins = 0:rack_ruby20
rack = config.ru
idle = 3600
chmod-socket = 660
chown-socket = nginx:nginx
uid = nginx
gid = nginx
И розетка это:
fenix ~ # ls -lh /var/run/uwsgi/redmine.sock
srw-rw---- 1 nginx nginx 0 Set 9 20:08 /var/run/uwsgi/redmine.sock
Значит, Nginx не может даже читать и писать в свой сокет? Что это должно означать? Я не могу понять, как это сделать.
Я также заметил, что Nginx не будет работать, даже если разрешения сокетов 777.