502 ошибка ничего не слушает порт 8000 nginx - PullRequest
0 голосов
/ 26 апреля 2018

Я столкнулся с проблемой при попытке развернуть мой веб-сервер, где я получил ошибку неверного шлюза 502.

При просмотре журналов ошибок nginx я получаю следующее:

failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: xxx.xxx.xxx.xx, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "example.com"

Затем я запустил sudo netstat -tnlp | grep :8000, чтобы посмотреть, прослушивает ли что-нибудь порт 8000, но не получил никакого вывода, что означает, что на самом деле ничего не прослушивается порт 8000.

Кроме того, вот мои конфигурации nginx вsites-enabled:

upstream app_server {
     server unix:/home/daniel/myproject/myproject.sock fail_timeout=0;
}

server {
    listen 80;
    server_name 138.197.152.54;
    client_max_body_size 50M;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /home/daniel/myproject;
}

location / {
    include proxy_params;
    proxy_pass         http://127.0.0.1:8000/;
    proxy_redirect     off;
    # proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_connect_timeout 30;
    proxy_read_timeout 30;
}

Мне интересно, является ли порт, на котором прослушивается сервер, ложным, поскольку проход прокси имеет 127.0.0.1:8000, а сверхусервер, по-видимому, прослушивает порт 80 .

Что-то не так с моими конфигурациями?Я совершенно новичок в работе с nginx, gunicorn, и буду очень признателен за любую помощь в этом вопросе.

1 Ответ

0 голосов
/ 27 апреля 2018

Итак, я обнаружил, что действительно проблема была в моих конфигурациях nginx.в частности, решение было изменить настройку для proxy_pass .

Вместо того, чтобы быть proxy_pass http://127.0.0.1:8000, это должно быть:

proxy_pass http://unix:/home/daniel/myproject/myproject.sock;

Конечно, замените daniel , myproject и myproject.sock на ваши фактические имена файлов и каталогов.

Я получил всю эту информацию из этого урока: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

...