Назад | Перейти на главную страницу

Соединение отклонено файлом сокета Unix

Возникли проблемы с подключением Django + uWSGI + NGINX

Если я запускаю сервер разработки Django, страница работает отлично.

Если я запускаю: uwsgi --http 0.0.0.0:8134 --wsgi-file /test/test_project/wsgi.py и получаю доступ к нему по адресу localhost: 8134, сайт работает, за исключением того, что изображения не загружаются.

Но если я захожу на сайт по адресу localhost: 80 (предположительно для обработки nginx), я получаю сообщение об ошибке в журнале ошибок nginx (ниже приведен запрос ОДНОЙ страницы, поэтому не уверен, почему он выглядит как два):

2018/07/15 11:55:34 [error] 20986#20986: *1 connect() to unix:/test
/test_project/test.sock failed (111: Connection refused) while 
connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, 
request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/test/test_project
/test.sock:", host: "localhost"
2018/07/15 11:55:34 [error] 20986#20986: *1 connect() to unix:/test
/test_project/test.sock failed (111: Connection refused) while 
connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, 
request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:
/test/test_project/test.sock:", host: "localhost", referrer: 
"http://localhost/"

Я убедился, что запустил sudo service nginx reload и sudo service nginx restart.

Основной вопрос:
1. Почему я не могу получить доступ к сайту через localhost: 80. Я предполагаю, что это связано с тем, что файл сокета отказывается от соединений; файл сокета пуст и был создан с помощью 'uwsgi --ini test_uwsgi.ini'. Есть ли что-то с inetd / xinetd, что мне нужно проверить?

Дополнительные вопросы (может потребоваться отдельный пост):
1. Не уверен, что с конфигурацией что-то не так, или я вообще правильно ее использую. Должен ли я запускать «sudo service nginx start» И запускать «uwsgi --http 0.0.0.0:8134 --wsgi-file /test/test_project/wsgi.py»? Я предполагаю, что да, если я каким-то образом не автоматизирую команду uwsgi через nginx.
2. Должен ли каждый сценарий, изображение и файл конфигурации принадлежать www-data?
3. Доступна ли папка со статическими изображениями для uwsgi и nginx (на основе конфигураций ниже)? Как убедиться?
4. У меня были проблемы с передачей файлов cookie, поэтому, если что-то в конфигурации препятствует этому, сообщите мне.

Вот установка:

/test/test_project/test.sock разрешения:

srwxrwxrwx 1 www-data www-data 0 Jul 14 22:51 test.sock
*Obviously I'll want to tighten this up, but for troubleshooting   purposes permissions are open wide.

/test/test_project/test_uwsgi.ini:

[uwsgi]

chdir = /test/test_project
module = test.wsgi

pythonpath = /usr/bin/python2
# process-related settings
master = true
processes = 8
socket = /test/test_project/test.sock
chmod-socket = 666
max-requests = 50000

/test/test_project/uwsgi.py:

def application_backup(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])

вернуть view.index (среда, start_response)

custom_nginx.conf:

upstream django {
 server unix:/test/test_project/test.sock;
 # Also tried unix:///test/test_project/test.sock;
}

server {
 listen 80;
 server_name 127.0.0.1;
 charset utf-8;

client_max_body_size 1024M;

location /static {
 alias /test/test_project/static;
 }

location /media {
 alias /test/test_project/media;
 }

location / {
 uwsgi_pass django;
 include uwsgi_params;
 }

 access_log /var/log/nginx/access.log;
 error_log /var/log/nginx/error.log warn;
}