Подтвердить что ты не робот

Django + apache & mod_wsgi: необходимо перезапустить apache после изменений

Я сконфигурировал свой сервер разработки следующим образом:

Ubuntu, Apache, mod_wsgi, Python 2.6

Я работаю на сервере с другого подключенного к нему компьютера.

В большинстве случаев изменения не влияют на приложение, если я не перезапущу Apache. В некоторых случаях изменения вступают в силу без перезапуска веб-сервера, но после того, как скажут, что 3 или 4 страницы загружаются, приложение может вести себя так, как будто оно ведет себя раньше изменений.

До сих пор я просто перезагружался каждый раз, когда apache, поскольку у меня есть сервер разработки здесь со мной, но HELL через некоторое время так раздражает. Как я могу избежать этого?

Я не могу работать с сервером разработки, так как мне нужна среда, максимально приближенная к исходной.

Спасибо

4b9b3361

Ответ 1

Мое предложение состоит в том, что вы запускаете приложение в режиме демона. Таким образом, вам не потребуется перезапускать apache, просто touch my_handler.wsgi, и демон будет знать, чтобы перезапустить приложение. Apache httpd не будет только вашим (в производстве), поэтому справедливо не перезапускать его при каждом обновлении.

Ответ 2

Никаких изменений не требуется для RESTART. Вам просто нужно перезагрузить, используя "sudo/etc/init.d/apache2 reload". Который у меня есть aliased в моем bashrc к 'a2reload'.

function a2reload (){
sudo /etc/init.d/apache2 reload
}

Ответ 3

Apache загружает среду Django при запуске и продолжает работать даже при изменении источника.

Я предлагаю вам использовать Django 'runningerver' (который автоматически перезапускается при изменениях) в тяжелых сессиях разработки, если вам не нужны некоторые специфичные для Apache функции (например, многопоточные).

Обратите внимание, что изменения в шаблонах не требуют перезапуска веб-сервера.