Как изящно перезагрузить скрипт spawn-fcgi для nginx

Мой стек 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 ответ

Решение

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

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

Другие вопросы по тегам