Почему UWSGI возвращаются пустыми, когда curl? - PullRequest
0 голосов
/ 30 мая 2018

У меня есть развертывание Flask Uwsgi

До сегодняшнего дня все работало нормально

Зависание к серверу опустится ниже

curl http://ip:5000/api -i
curl: (52) Empty reply from server

Журнал Uwsgi показываетниже (Пожалуйста, не говорите больше проверять журналы.Журналы уже здесь)

[pid: 15778|app: 0|req: 552000/854000] 8.8.8.8 () {22 vars in 241 bytes} [Wed May 30 16:40:51 2018] HEAD / => generated 0 bytes in 0 msecs (HTTP/1.0 404) 2 headers in 72 bytes (0 switches on core 0)
...The work of process 15778 is done. Seeya!
worker 1 killed successfully (pid: 15778)
Respawned uWSGI worker 1 (new pid: 18478

Также этот вопрос не является дубликатом вопроса Django, uWSGI & nginx: Процесс умирает без «причины»

Причина этого в том, что у него есть настройка

--max-requests 10

А у него нет настройки Мастера.Таким образом, в его журнале вы можете увидеть требование 1000/1000, которое достигает предела.У меня нет !!!

Я установил master = true в моей конфе также вы можете увидеть из журнала wsgi.максимальный запрос не достигнут !!!

Конфигурация uwsgi выглядит следующим образом:

[uwsgi]
socket = /opt/CephMGRServer/ceph_mgr_server/var/tmp/uwsgi.sock
http= 0.0.0.0:5000
chdir=/opt/CephMGRServer/ceph_mgr_server
wsgi-file = app.py
callable=app
master = true
processes=2
threads=2
max-requests=2000
chmod-socket=664
vacuum=true
daemonize = /opt/CephMGRServer/ceph_mgr_server/var/log/uwsgi.log

Я вижу, что процесс все еще там и прослушивается порт 5000

ps -ef | grep wsgi| grep -v grep| grep -v tail
root      2083 22075  0 May28 ?        00:00:00 uwsgi --ini /opt/CephMGRServer/ceph_mgr_server/conf/wsgi.ini
root     18478 22075  0 16:40 ?        00:00:00 uwsgi --ini /opt/CephMGRServer/ceph_mgr_server/conf/wsgi.ini
root     22075     1  0 May24 ?        00:02:50 uwsgi --ini /opt/CephMGRServer/ceph_mgr_server/conf/wsgi.ini
root     22090 22075  0 May24 ?        00:01:48 uwsgi --ini /opt/CephMGRServer/ceph_mgr_server/conf/wsgi.ini

Хотя стоит заметить, что только два процесса прослушивания 5000 и uwsgi имеют 4 процесса

lsof -i:5000
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
uwsgi   22075 root    3u  IPv4 76455578      0t0  TCP *:commplex-main (LISTEN)
uwsgi   22090 root    3u  IPv4 76455578      0t0  TCP *:commplex-main (LISTEN)

Так что же происходит с uwsig и как проверить?

1 Ответ

0 голосов
/ 06 июня 2019

Вы не можете запросить его напрямую.Вы должны настроить upstream в конфигурации NGINX и указать свой сокет uwsgi unix / tcp

Или просто запустить uwsgi с сокетом http / https

Что-то вроде этого uwsgi --ini uwsgi.ini --httpsocket80 (не могу вспомнить правильный вариант)

...