Как изящно перезагрузить скрипт spawn-fcgi для nginx - PullRequest
0 голосов
/ 19 марта 2012

Мой стек - nginx, который запускает скрипты python web.py fast-cgi с использованием spawn-fcgi. Я использую runit, чтобы поддерживать процесс в качестве демона. Я использую unix-сокеты для spawed-fcgi.

Ниже приведен мой скрипт runit под названием myserver в / etc / sv / myserver с файлом запуска в /etc/sv/myserver/run.

exec spawn-fcgi -n -d /home/ubuntu/Servers/rtbTest/ -s /tmp/nginx9002.socket -u www-data -f /home/ubuntu/Servers/rtbTest/index.py >> /var/log/mylog.sys.log 2>&1

Мне нужно отправить изменения в сценарии на производственных серверах. Я использую paramiko, чтобы вставить ssh в коробку и обновить скрипт index.py.

Мой вопрос заключается в следующем: как изящно перезагрузить index.py, используя лучшие практики для обновления до нового кода.

Использую ли я:

sudo /etc/init.d/nginx reload

Перезапустить скрипт runit: sudo sv start myserver

Или я использую оба:

sudo /etc/init.d/nginx reload
sudo sv start myserver

Или ничего из вышеперечисленного?

1 Ответ

1 голос
/ 20 марта 2012

В основном вам нужно перезапустить процесс, который загрузил ваш скрипт Python. Это spawn-cgi, а не сам nginx. nginx обменивается данными с spawn-cgi только через сокет Unix и успешно переподключается, если соединение теряется из-за перезапуска процесса spawn-cgi.

Поэтому я бы предложил простое sudo sv restart myserver. Нет необходимости перезапускать / перезагружать сам nginx.

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