FastCGI лаунчер

Мне нужно обслуживать некоторые сценарии FCGI (через WSAPI, но это не имеет значения) из nginx.

В настоящее время я использую spawn_fcgi для этого. Это единственное решение, которое я нашел.

Мне нужно знать мои другие варианты. Есть ли другие способы запуска FastCGI под nginx?

4 ответа

Решение

Лично я предпочитаю максимально отделить свои процессы FCGI от веб-сервера и управлять ими так же, как и любым другим демоном. В моем случае я переключил все подобные вещи на использование daemontools, потому что он небольшой, легкий, очень надежный и делает именно то, что вам нужно в этом случае, без суеты и суеты.

Еще раз никто не упомянул php-fpm. Теперь он связан с самим php, поэтому вы должны прочитать документы о php-fpm в руководстве по PHP.

Потенциально есть cgi-fcgi. Что вам не нравится в текущем методе, который вы используете?

Теоретически, есть 3 варианта подключения PHP к nginx:

  1. Модуль. В настоящее время нет PHP-модуля nginx. Минус.
  2. CGI. PHP создается при каждом запросе, и один процесс php анализирует один файл php. накладные расходы execve() очевидны. Грязный Плюс.
  3. FCGI. Предварительно порожденные процессы, которые обрабатывают запросы и никогда не останавливаются. Плюс.

Есть 2 способа создания этих процессов FCGI:

  1. Предварительно запусти их. Это то, что делает spawn_fcgi, и это нормально.
  2. Пусть nginx запускает их: nginx пытается подключиться к localhost:, и, если никто не слушает, порождает работников php FCGI. Это было бы лучше с точки зрения комфорта и стабильности администрирования, но я никогда не слышал о таком модуле для nginx:) Может быть, вы будете первым, кто его разработает?;)

скрипт spawn не злой, правда:)

PS Походу, самый пытливый ум у русских;)

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