Кажется, все установлено и работает должным образом (сайт / сервер запущен), но продолжайте получать эту ошибку:
UWSGI CRITICAL: could not connect() to workers Operation now in progress
при беге:
uwsgi --nagios --socket=0.0.0.0:1717
Мой uwsgi.conf (анонимный):
description "uwsgi instance"
start on runlevel [2345]
stop on runlevel [06]
exec uwsgi --master --die-on-term --ini /etc/uwsgi/apps-enabled/my-app.com
И мой ini файл:
[uwsgi]
uid = www-data
gid = www-data
plugins = python
module= wsgi_app
home = /home/django/domains/my-app.com/my-app.com/
pythonpath = /home/django/domains/my-app.com/my-app/uwsgi/
touch-reload = /home/django/domains/my-app.com/my-app/uwsgi/restart.trig
socket = /tmp/my-app.com.socket
logto = /var/log/uwsgi/my-app.com.log
enable-threads = true
single-interpreter = true
listen=4000
threads = 5
workers = 10
master = true
max-requests=1000
buffer-size = 32768
post-buffering = 8192
Итак, это была простая проблема выравнивания сокетов. Так что вместо:
uwsgi --nagios --socket=0.0.0.0:1717
тогда я должен быть:
uwsgi --nagios --socket=/tmp/my-app.com.socket
Но на этом мои проблемы не закончились. Затем я столкнулся с проблемой разрешения. Это можно исправить, добавив chmod-socket = 666
. Но безопасность в этом решении не идеальна. Вместо этого вы можете установить его на 664, дать пользователю права sudoer для запуска команды uwsgi и запустить команду nagios следующим образом:
sudo /usr/local/bin/uwsgi --nagios --socket=/tmp/my-app.com.socket
Чтобы предоставить пользователю права sudo, добавьте это в свой файл / etc / sudoer (измените имя пользователя на правильное):
username ALL=(ALL) NOPASSWD:/usr/local/bin/uwsgi --nagios --socket=/tmp/my-app.com.socket
Когда я перешел от установки aptitude к установке pip, мне также пришлось удалить plugins = python
. А также listen = 4000
пришлось удалить, так как это было сверх лимита, который у меня был.
Итак, в конце концов, у меня есть эта настройка uwsgi:
[uwsgi]
uid = www-data
gid = www-data
module = wsgi_app
home = /home/django/domains/my-app.com/my-app.com/
pythonpath = /home/django/domains/my-app.com/my-app/uwsgi/
touch-reload = /home/django/domains/my-app.com/my-app/uwsgi/restart.trig
socket = /tmp/my-app.com.socket
chmod-socket = 664
logto = /var/log/uwsgi/my-app.com.log
enable-threads = true
single-interpreter = true
threads = 5
workers = 10
master = true
max-requests = 1000
buffer-size = 32768
post-buffering = 8192