Я запускаю чероки, чтобы обслуживать приложение django, используя uwsgi. У меня было странное поведение после обновления до чероки 1.2.х.
Установка работала нормально до выхода чероки 1.2.x, и я не изменил ни одну из своих настроек.
Проблема в том, что теперь, когда uwsgi не запущен и я пытаюсь загрузить сайт приложения django, я сначала получаю ошибку 503. Последующие запросы работают нормально. Глядя на логи, я вижу, что чероки порождают несколько экземпляров uwsgi, и это, похоже, проблема.
Я разместил журнал ошибок cherokee.er здесь
Похоже, что чероки порождают несколько экземпляров uwsgi:
probably another instance of uWSGI is running on the same address.
Мои конфиги для uwsgi:
<pidfile>/home/my_home/my_project/uwsgi.pid</pidfile>
<vacuum />
<processes>4</processes>
<harakiri>30</harakiri>
<master />
Другим симптомом проблемы является то, что после 503 и последующего успешного запуска uwsgi у меня нет файла PID. Это связано с тем, что дополнительные экземпляры uwsgi, которые запускаются, а затем терпят неудачу, удаляют файл PID при выходе:
binding on TCP port: 45611
probably another instance of uWSGI is running on the same address.
bind(): Address already in use [socket.c line 341]
VACUUM: pidfile removed.
Итак, в целом, проблемы:
- 503 отображается при первом просмотре после запуска uwsgi cherokee
- Файл PID не создается (или, скорее, он создается, но сразу же удаляется другим выходящим процессом uwsgi)
Поиск в Google по запросу probably another instance of uWSGI is running on the same address
соответствует только исходному коду uwsgi, так что, похоже, я единственный, кто испытывает это.
У меня такая же проблема на нескольких компьютерах с одинаковыми настройками.
Есть идеи?
Версии программного обеспечения:
- UWSGI 0,9,6,2
- Чероки 1.2.1
- Ствол развития Django (от 1,3 до 1,3)