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

nginx - 502 Bad Gateway ubuntu 14.04 aws ec2 django project + gunicorn

Я пытаюсь запустить свой проект django на экземпляре aws ec2. Я использую gunicorn с nginx, и я не совсем уверен, как мне решить эту проблему. Я уже потратил на это пару часов, включая просмотр других сообщений на этом сайте ... но я все еще застрял. Вот что не так: наряду с 502 Bad Gateway, мои журналы ошибок nginx продолжают возвращать мне это:

2015/07/17 08:32:32 [error] 8049#0: *18 connect() failed (111: Connection refused) while connecting to upstream, client: ip.ip.ip.ip, server: ip.ip.ip.ip, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8001/", host: "ec2-numbers.us-west-1.compute.amazonaws.com"

Мой /etc/nginx/sites-available/at_api.conf выглядит так (отступы на этом в порядке?):

server {
listen 80;
server_name ip.ip.ip.ip;
access_log /var/log/nginx/site_access.log;
error_log /var/log/nginx/site_error.log;
location /static/ {
alias /home/ubuntu/static/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
}

Это мой первый раз, когда я настраиваю свой проект django на ec2 ... поэтому я не совсем уверен, правильный ли это способ делать это. Какие-нибудь советы? p.s. Я видел другой похожий пост, в котором говорилось, что php-fpm не был настроен должным образом, но я использую django, поэтому я не использую php.

Изменить: Мой at_api/gunicorn.conf.py

proc_name = "at_api"
bind = '127.0.0.1:8001'
loglevel = "error"
workers = 2

Изменить 2: Netstat

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8463/nginx: worker
tcp6       0      0 :::22                   :::*                    LISTEN      -
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -
udp        0      0 0.0.0.0:10524           0.0.0.0:*                           -
udp6       0      0 :::21956                :::*                                -
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     8754     -                   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     52566    -                   /var/run/supervisor.sock.8446
unix  2      [ ACC ]     STREAM     LISTENING     6691     -                   @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     9075     -                   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     35450    -                   /var/run/postgresql/.s.PGSQL.5432
unix  2      [ ACC ]     SEQPACKET  LISTENING     14550    -                   /run/udev/control

Connection refused означает, что ваш gunicorn программное обеспечение не слушает 8001 порт, который вы настроили в своем nginx. Вы должны проверить свой gunicorn конфигурация.