@devpledge

Как локализовать ошибку при запуске uWSGI+nginx через UNIX-сокет?

Добрый день.

После запуска uWSGI на VPS-сервере в браузере получаю ошибку Connection Refused. При этом в логах nginx и uwsgi ошибок нет вообще, оба процесса работают.
Если запускаю uWSGI без участия nginx (через tcp-порт) - проблем нет.
Если запускаю nginx без участия uWSGI (для раздачи статики) - проблем нет.
Однако запустить приложение (django) в веб не удается. Ранее на этом же VPS связка работала на CentOS в той же конфигурации без ошибок.

Используемые версии:
Fedora 22
nginx 1.8.0
uWSGI 2.0.11.1

uwsgi_nginx.conf:
upstream django {
    server unix:///projects/monadm/monadm.sock; 
    # server 127.0.0.1:8001; 
}

server {
    listen      8000;
    server_name     188.166.103.94;
    charset     utf-8;

    client_max_body_size 75M;

    location /media  {
        alias /projects/monadm/media;  
    }

    location /static {
        alias /projects/monadm/static; 

    }

    location / {
        uwsgi_pass  django;
        include     /projects/monadm/uwsgi_params;
    }
}


nginx.conf:
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }


uwsgi_params:
uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;


uwsgi.ini не прикладываю, ошибка сохраняется даже при запуске командой
uwsgi --socket monadm.sock --module monadm.wsgi --chmod-socket=666
  • Вопрос задан
  • 673 просмотра
Решения вопроса 1
права доступа к /projects/monadm/monadm.sock ?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
как-то так нужно делать
[uwsgi]
chdir=/path/to/prog
virtualenv=/path/to/virtualenv
module=PROJECT_NAME.wsgi:application

pidfile=/var/run/PROJ_NAME_uwsgi.pid
socket=/tmp/PROJ_NAME_wsgi.sock
chmod-socket = 600

vacuum=True
master=True
processes=10
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы