Вопрос

Я недавно получил свое первое приложение для работы в UWSGI с Cherokee. Я использовал следующий код из Документы UWSGI:

def application(environ, start_response):
  start_response('200 OK', [('Content-Type', 'text/plain')])
  yield 'Hello World\n'

Страница правильно читает Hello World. Отказ Когда я меняю этот текст на New Thing И обновить, ничего не меняется. Что я забыл?

Что я пробовал:

  1. Очистка истории браузера и кэш
  2. Остановка и запуск чероки


Редактировать: чтобы уточнить, я меняюсь Привет мир к Новая вещь в коде Python. Затем я останавливаю чероки, обновите, и я, очевидно, вижу сообщение об ошибке. Я перезапускаю Cherokee, обновить, и я вижу Привет мир.

Это было полезно?

Решение

Таким образом, это работает, что Cherokee управляется запуском экземпляра UWSGI на заднем плане для вас. То, что я не заметил до сих пор, и я не закончил, это то, что если вы выключите чероки, это, похоже, также не выключится под управлением экземпляров UWSGI.

Попробуй это:

sudo service cherokee start
ps aux | grep uwsgi 
# you should see nothing from this ps command

# now hit your web app
sudo service cherokee stop
ps aux | grep uwsgi
# you should see the instance of uwsgi that cherokee started

Таким образом, ваш код приложения на самом деле работает через UWSGI, а Cherokee больше похоже на прокси-сервер. Чтобы обновить код приложения, вам нужно отправить сигнал HUP на UWSGI, а не черки.

sudo killall -HUP uwsgi

Это должно привести к обновлению UWSGI для ваших изменений приложения независимо от Cherokee.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top