Нещодавно я почав розміщувати сайти, використовуючи Cherokee. Для зовнішніх джерел (FastCGI тощо) він має можливість запустити процес, якщо він не може знайти жодного, що працює на призначеному сокеті або порту. Це чудово, оскільки це означає, що якщо PHP або сайт Django потрапляє (як це трапляється іноді), він автоматично його перезапускає.
На новому сервері, що використовує PHP-FPM, я не міг використовувати Cherokee (він має помилку з PHP), тому я перейшов до NGINX. Мені дуже подобається NGINX (за його конфігураційний стиль), але у мене виникають серйозні проблеми з процесами, які перепадають і ніколи не розмножуються. PHP робить це іноді, але сайти Django є більшою проблемою. Я створив для них скрипти init, і вони з'являються під час завантаження, але це не допомагає мені, якщо вони переходять між перезавантаженнями.
Я думаю, я шукаю проксі-сервер FastCGI. Щось таке, що, як і Cherokee, знає, які процеси повинні працювати в яких сокетах / портах і відновлює їх на вимогу. Чи існує така річ? Чи є спосіб вбудувати це в NGINX (для зручності налаштування)?
/etc/init.d/apachectl
у нього. Вам часто потрібно переписати власний простий сценарій запуску для використанняexec
. Хоча я хотів би побачити ще кілька прикладів із використанням daemontools