gunicorn daemon (активный: сбой) / curl (56) Recv Failure: Соединение сбрасывается по пиру - PullRequest
0 голосов
/ 22 февраля 2020

Во-первых, я не уверен, лучше ли это здесь или спрашивать Ubuntu (в Ubuntu не было тега 'gunicorn', поэтому я думаю, что я нахожусь в нужном месте). Если это не подходит, просто напишите это в комментариях, и я закрою его.

Я следую учебному пособию по цифровому океану (https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04). Я до Gunicorn настроить. Я до конца пытаюсь заставить работать это оружие, поэтому я пришел сюда. Все, что в кавычках - это название текущего раздела в статье. Я дошел до «Проверка файла сокета Gunicorn» и «проверить наличие файла gunicorn.sock в каталоге / run:» до сбоя. Проверьте наличие файла сокета:

  sudo systemctl status gunicorn.socket returns
    Failed to dump process list, ignoring: No such file or directory
    ● gunicorn.socket - gunicorn socket
       Loaded: loaded (/etc/systemd/system/gunicorn.socket; enabled; vendor pres
       Active: active (listening) since Fri 2020-02-21 21:34:06 UTC; 1min 8s ago
       Listen: /run/gunicorn.sock (Stream)
       CGroup: /system.slice/gunicorn.socket

Проверьте наличие выхода gunicorn.sock:

file /run/gunicorn.sock

: /run/gunicorn.sock: socket

После «Проверка активации сокета», он ошибка:

sudo systemctl status gunicorn

вывод:

● gunicorn.service - gunicorn daemon
   Loaded: loaded (/etc/systemd/system/gunicorn.service;
   Active: failed (Result: exit-code) since Fri 2020-02-
 Main PID: 15708 (code=exited, status=217/USER)

Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: S
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[15708
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[15708
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: g
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: g
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: g
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: g
Feb 21 21:32:39 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: F
lines 1-13/13 (END)

Он говорит, что для проверки активации сокета, выполните следующее:

curl --unix-socket /run/gunicorn.sock localhost

вывод (говорит, что я должен увидеть HTML):

curl: (56) Recv failure: Connection reset by peer

Не уверен, предоставил ли я достаточно информации. Ниже я включу мои файлы gunicorn.socket и gunicorn.service, а также расположение каталогов на моем сервере.

gunicorn.socket:

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target

gunicorn.service:

[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=justin
Group=www-data
WorkingDirectory=/home/justin/project
ExecStart=/home/justin/project/env/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          jobzumo.wsgi:application
[Install]
WantedBy=multi-user.target

Макет сервера / проекта:

home/justin/project/

Эта папка project/ содержит env (env/bin/gunicorn существует), jobzumo (django project), manage.py и static.

Единственное, о чем я думаю, это то, что я, возможно, создал эти файлы оружейного оружия при использовании root, и теперь я пытаюсь изменить их, используя пользователя justin? Не совсем уверен, что здесь происходит. Если я не предоставил достаточно информации или если вам нужно, чтобы я выполнял какие-либо команды отладки, пожалуйста, дайте мне знать. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 февраля 2020

Мне нужно было выполнить следующие две команды:

sudo ufw delete allow 8000
sudo ufw allow 'Nginx Full'

и теперь все работает. Очевидно, это открывает мой брандмауэр до порта 80. Не знаю почему, поскольку я не указываю порт 80 там, но он работает.

...