2013-07-10 4 views
5

Так что я, наконец, получил Nginx + uWSGI успешно работает для моего Django установитькак убить процесс uWSGI

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

Я чувствую, что я бегу правильную команду здесь (я новичок в Linux, а кстати):

uwsgi --stop /var/run/uwsgi.pid 
uwsgi --reload /var/run/uwsgi.pid 

я не получаю сообщение об ошибке при запуске этих команд, однако мой старый код еще какие грузы

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

ответ

4

Рекомендуемый способ сигнализировать перегрузки данных приложения является использование опции --touch-reload. Пример синтаксиса на .ini штрафа:

touch-reload /var/run/uwsgi/app/myapp/reload 

Где myapp ваше имя приложения. /var/run/uwsgi/app - рекомендуемое место для таких файлов (может быть где угодно). Файл reload является пустым файлом, временная метка которого проверяется uwsgi, когда она изменяется (например, с помощью touch). UWSGI обнаруживает это изменение и перезапускает соответствующий экземпляр приложения uWSGI.

Итак, всякий раз, когда вы обновляете свой код, вы должны прикоснуться к файлу, чтобы обновить версию приложения в памяти. Например, на баш:

sudo touch /var/run/uwsgi/app/myapp/reload 

Примечание --reload недокументированная опция на текущей версии uWSGI.

+0

Когда вы говорите образец в файле .ini, вы имеете в виду место, которое касается перезагрузки строки в ini-файле? и какова структура приложения/myapp? – tareq

+0

Да, эта строка должна быть добавлена ​​в файл uWSGI .ini, соответствующий вашему приложению. Если вы используете XML, YAML, JSON, вам нужно использовать правильный синтаксис вместо .ini ' = ' стандарт. Я использую, чтобы поместить файл 'touch-reload' под'/var/run/uwsgi/app/', но вы можете разместить его в любом удобном для вас месте, таком как ваш домашний каталог. – flaviodesousa

+0

Что такое ссылка на перезагрузку, с которой вы ссылаетесь сейчас ??? На данный момент я думаю в моем ini-файле 'touch-reload/path/to/my/ini/file', но это не имеет смысла, я предполагаю, что мне нужно создать файл с перезагрузкой? что я могу разместить в этом файле? – tareq

Смежные вопросы