Я работаю над этой статьей: Как обслуживать приложения 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
Основываясь на tut, файл uwsgi unit:
[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?
Edit: Я понял, что по крайней мере часть проблемы связана с дорогой. У меня установлена anaconda и:
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