Django + apache & mod_wsgi: необходимость перезапускать apache после изменений - PullRequest
25 голосов
/ 17 ноября 2010

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

Ubuntu, Apache, mod_wsgi, Python 2.6

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

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

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

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

Спасибо

Ответы [ 3 ]

14 голосов
/ 17 ноября 2010

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

7 голосов
/ 17 ноября 2010

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

function a2reload (){
sudo /etc/init.d/apache2 reload
}
0 голосов
/ 17 ноября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...