Отказ в соединении при соединении с вышестоящим (nginx + uwsgi) - кластеризация - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь выполнить балансировку нагрузки с помощью nginx.Мое приложение Django работает за uwsgi, который находится в отдельном контейнере, а nginx в отдельном контейнере.Я подключаю их через порт.

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

    log_format main '$server_name to: $upstream_addr [$request] '
        'upstream_response_time $upstream_response_time '
        'msec $msec request_time $request_time';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
    upstream uwsgicluster {
       server x.x.x.x:3873;
    }
   server {
        listen 8080;
        server_name mycustom.domain.com;
        location = favicon.ico { access_log off; log_not_found off; }
        location / {
            include uwsgi_params;
            uwsgi_pass uwsgicluster;
      }
   }
}

Моя конфигурация uwsgi на другой машине - -

[uwsgi]
project = testApp
username = root
base = /data/application/

chdir = %(base)/%(project)
#home = %(base)/Env/%(project)
module = %(project).wsgi:application

master = true
processes = 5

uid = %(username)
gid = %(username)
log-reopen = true
logto = /data/application/logs/uwsgi_error.log
log-maxsize = 20000000
logfile-chown = true
http = 127.0.0.1:3873
vacuum = true

Итак, мой nginx слушает 8080 (отдельный контейнер), а uwsgi работает 3873(отдельный контейнер).

Теперь, когда я делаю запрос, я получаю сообщение об отказе в соединении, как показано ниже -

2018/11/19 12:47:32 [error] *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: mycustom.domain.com, request: "GET / HTTP/1.1", upstream: "uwsgi://x.x.x.x:3873", host: "localhost:8080"

Я установил selinux в разрешающий режим.Любые подсказки, где я делаю неправильно?Помощь действительно ценится!

1 Ответ

0 голосов
/ 28 декабря 2018

После нескольких часов борьбы я решил проблему, изменив конфигурацию uwsgi.

Вместо того, чтобы использовать параметр http для прослушивания 127.0.0.1:3873, я изменил его на параметр сокета и заставил его слушать 0.0.0.0:3873.

Надеюсь, это кому-нибудь поможет:)

...