Невозможно управлять UWSGI с помощью systemd

Я работаю над этой статьей: Как обслуживать приложения Django с помощью uWSGI и Nginx в Ubuntu 16.04 | DigitalOcean.

Я закончил тут и перезапустил nginx и uwsgi. Я замечаю, что если я захожу на ip своего сервера, я вижу свой сайт, как и ожидалось. Однако, если я захожу на www.mysite.com, я получаю ошибку 502.

Я теперь подозреваю, что проблема с uwsgi, потому что:

deploy@server:/etc/systemd/system$ systemctl stop uwsgi
Failed to connect to bus: No such file or directory
deploy@server:/etc/systemd/system$ systemctl start uwsgi
Failed to connect to bus: No such file or directory
deploy@server:/etc/systemd/system$ ps -aux |grep uwsgi
root     29993  0.0  0.5  84112  4344 ?        Ss   10:43   0:00 /usr/local/bin uwsgi --emperor /etc/uwsgi/sites
deploy   29996  0.0  3.9 136220 31364 ?        S    10:43   0:01 /usr/local/bin uwsgi --ini mysite.ini
deploy   29999  0.0  3.7 138888 29820 ?        S    10:43   0:02 /usr/local/bin uwsgi --ini mysite.ini
deploy   30000  0.0  3.2 136220 25496 ?        S    10:43   0:00 /usr/local/bin uwsgi --ini mysite.ini
deploy   30001  0.0  3.2 136220 25496 ?        S    10:43   0:00 /usr/local/bin uwsgi --ini mysite.ini
deploy   30002  0.0  3.2 136220 25496 ?        S    10:43   0:00 /usr/local/bin uwsgi --ini mysite.ini
deploy   30003  0.0  3.7 138328 29368 ?        S    10:43   0:00 /usr/local/bin uwsgi --ini mysite.ini
deploy   32311  0.0  0.1  11228   876 pts/0    S+   15:41   0:00 grep --color=auto uwsgi

Исходя из этого, файл модуля uwsgi:

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown deploy:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Почему systemd не контролирует uwsgi?

Редактировать: я понял, что по крайней мере часть проблемы связана с путем. У меня установлена ​​анаконда и:

deploy@server:~$ which uwsgi
/home/deploy/miniconda2/bin/uwsgi

Я внес изменения в:

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown deploy:www-data /run/uwsgi'
ExecStart=/home/deploy/miniconda2/bin/uwsgi --emperor /etc/uwsgi/sites

закрыл оболочку и снова открыл. Я все еще получаю:

deploy@server:~$ systemctl start uwsgi
Failed to connect to bus: No such file or directory

1 ответ

Решение

systemctl следует использовать запустить как root или с sudo systemctl,

PD: Тот же ответ на вопрос, который вы удалили.

Другие вопросы по тегам