Одним из преимуществ, которые всегда указываются при сравнении mod_perl и fastcgi, является то, что для mod_perl вам нужно полностью перезагрузить приложение и иметь время простоя, но с fastcgi вы можете перезагрузить приложение без время простоя. Однако я не могу найти примеров того, как это сделать. Возможно ли перезагрузить приложение Catalyst, которое выполняется с помощью fastcgi без простоя? Я пошел за этим guide, чтобы запустить приложение Catalyst. Благодаря!катализатор с перезагрузкой nginx и fastcgi без простоя
ответ
Я смог создать скрипт, который делает то, что я хочу, объединив этот скрипт guide и часть скрипта bash, найденного в этом answer. Если вы поместите скрипт в /etc/init.d
, а затем измените соответствующие vars вверху, этот скрипт может быть очень полезен. Вызов:
service script reload
или
/etc/init.d/script reload
Позволяет не иметь простоев в то время как новый код нагрузки до. Сценарий можно найти here. Вам просто нужно скачать скрипт, изменить переменные в верхней части, сделать
chmod +x script
и переместить его в /etc/init.d
, и тогда вы хорошо идти! :)
Да. Приложение, работающее под управлением FastCGI (независимо от того, использует ли он Catalyst или нет), может просто exit;
, и FastCGI немедленно создаст процесс замены при условии, что FastCGI имеет AppClass, определенный для этого приложения, и AppClass настроен с положительным счетом -processes
.
Если нет AppClass или -processes
равно 0, процесс замены будет создан, когда следующий запрос поступит в URI приложения. Это может вызвать небольшую задержку для этого первого запроса во время ожидания запуска приложения, но запрос будет по-прежнему обрабатываться нормально.
В любом случае не должно быть момента, когда входящий запрос будет утерян или иным образом завершится неудачей, при условии, что приложению разрешено exit
после завершения текущего запроса, а не прерываться в середине запроса (например, с kill -9
).
- 1. Nginx, sendfile и FastCGI
- 2. Настройка FastCGI с Nginx
- 3. Nginx, proxy_pass и fastcgi/php
- 4. Ошибка WordPress, nginx и fastcgi?
- 5. NGINX FastCGI без использования spawn-fcgi
- 6. Как использовать гнезда с nginx и fastcgi
- 7. Язык C FastCGI с Nginx
- 8. Nginx + FastCGI с блокирующими вызовами
- 9. Проблема усечения Nginx + fastcgi
- 10. Nginx + fastcgi multithreading
- 11. nginx, fastcgi и как переписать URL-адрес
- 12. Apache fastcgi катализатор Bugzilla REST api @INC issue
- 13. Nginx FastCGI cache VS Varnish?
- 14. FastCGI и Nginx - Возврат HTTP-статуса
- 15. Nginx + FastCGI для PHP error_page
- 16. Перенос fastcgi_param с HHVM fastcgi в Nginx
- 17. Выполнение скрипта C FastCGI с использованием NGINX
- 18. Разница между перезагрузкой и перезагрузкой
- 19. Катализатор: Log4perl и Apache
- 20. Чтение данных POST с помощью nginx и Perl FastCGI
- 21. Поймать PHP ошибки 404 с Nginx и FastCGI
- 22. Пустой 'текущий URL' для Django развертывается с Nginx и FastCGI
- 23. PHP 5.6 ошибка синтаксического анализа с использованием Nginx и FastCGI
- 24. Как включить HTTPS с fastcgi-mono-server4 и nginx?
- 25. Разница между перезагрузкой докеров и перезагрузкой докеров
- 26. Создание приложения sailsjs без простоя с pm2
- 27. nginx не передает строку запроса fastcgi
- 28. PHP и Django: Nginx, FastCGI и зеленый единорог?
- 29. nginx fastcgi получает информацию о SSL?
- 30. Ошибка Nginx + web.py + fastcgi: не найден
поэтому, если бы я должен был «убить» каждую из моих приложений, запущенных под FastCGI, они перезагрузились бы с любыми изменениями, внесенными в мое приложение, и тогда я могу продолжать использовать его нормально? – srchulo
Исправить. Если по какой-либо причине процессы приложения уходят (убитые, завершенные, разбитые ...), FastCGI автоматически будет создавать замены. –
Я вижу, что FastCGI регенерирует процессы, когда я их убиваю, однако эти процессы, похоже, не перезагружены в новом коде, потому что я не вижу изменений, которые я сделал. Однако, если я убью процесс FastCGI, а затем запустил его снова, я увижу изменения. – srchulo