Я настраиваю django на digitalocean, у них есть правило настройки, которое работает на этот раз, хотя gunicorn не будет работать.
Первый шаг - настройка службы gunicorn с помощью этой команды sudo nano /etc/systemd/system/gunicorn.service
и содержимое
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=sammy
Group=www-data
WorkingDirectory=/home/sammy/webapp/prestige
ExecStart=/home/sammy/webapp/envs/prestige/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn.sock \
prestige.wsgi:application
[Install]
WantedBy=multi-user.target
и файл сокета sudo nano /etc/systemd/system/gunicorn.socket
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn.sock
[Install]
WantedBy=sockets.target
обратите внимание, что этот каталог
/home/sammy/webapp/prestige
является каталогом главной папкиdjango с manage.py
, так что, в основном, если я войду в него, я могу запустить python manage.py runserver
, и он будет работать.
это папка для virtualenv
/home/sammy/webapp/envs/prestige
теперь, когда я запускаюзапустить команду gunicorn Я получаю это
(prestige) sammy@prestige:~/webapp$ sudo systemctl start gunicorn.socket
Failed to start gunicorn.socket: Unit gunicorn.socket is not loaded properly: Invalid argument.
See system logs and 'systemctl status gunicorn.socket' for details.
, если вы проверите статус
(prestige) sammy@prestige:~/webapp$ sudo systemctl status gunicorn.socket
● gunicorn.socket - gunicorn daemon
Loaded: error (Reason: Invalid argument)
Active: inactive (dead)
May 17 07:25:18 prestige systemd[1]: [/etc/systemd/system/gunicorn.socket:6] Unknown section 'Service'. Ignoring.
May 17 07:25:18 prestige systemd[1]: gunicorn.socket: Unit lacks Listen setting. Refusing.
May 17 07:33:32 prestige systemd[1]: [/etc/systemd/system/gunicorn.socket:6] Unknown section 'Service'. Ignoring.
May 17 07:33:32 prestige systemd[1]: gunicorn.socket: Unit lacks Listen setting. Refusing.
May 17 07:34:09 prestige systemd[1]: [/etc/systemd/system/gunicorn.socket:6] Unknown section 'Service'. Ignoring.
May 17 07:34:09 prestige systemd[1]: gunicorn.socket: Unit lacks Listen setting. Refusing.
May 17 07:53:41 prestige systemd[1]: [/etc/systemd/system/gunicorn.socket:6] Unknown section 'Service'. Ignoring.
May 17 07:53:41 prestige systemd[1]: gunicorn.socket: Unit lacks Listen setting. Refusing.
May 17 07:56:59 prestige systemd[1]: [/etc/systemd/system/gunicorn.socket:6] Unknown section 'Service'. Ignoring.
May 17 07:56:59 prestige systemd[1]: gunicorn.socket: Unit lacks Listen setting. Refusing.
Понятия не имею, что происходит.