флейм: mod_fcgid рулит, php-fpm отдыхает

V
На сайте с 25.07.2006
Offline
128
1608

Хочу поделиться опытом и обратить внимание любезной публики на достаточно новый, переписанный модуль mod_fcgid

http://httpd.apache.org/mod_fcgid/

Он включен в apache 2.3, но прекрасно компилируется и работает и с более ранними версиями, лично мной проверена работоспособность с 2.2

Что в нем хорошо:

- запускает fast-cgi процессы по мере необходимости в заданном конфигом макс. количестве от имени юзера

- с помощью простенького врапера можно задавать каждому юзеру свой php.ini

- более того, врапером можно выбирать, например, версии php

- с помощью .htaccess можно переключить как обрабатывать php - через fastcgi или mod_php

- в отличие от php-fpm не требует дополнительного конфига/отдельного сервиса, все управляется через httpd.conf

- может запускать не только php

- легко компилируется через apxs и цепляется как довесок к работающему серверу, даже такому капризному как cpanel/whm

Для примера, мой врапер. В домашней папке юзера может лежать php.ini и по желанию файл use-php-5.3

#!/bin/sh


if [ -f ~/use-php-5.3 ]; then
exec /usr/local/php-fcgi/php5.3 -c ~
else
exec /usr/local/php-fcgi/php5.2 -c ~
fi

Я понимаю, что этот модуль - не панацея от всех бед. Есть у него и недостатки. Например, опцию FCGIWrapper нельзя использовать в .htaccess, хотя по доке вроде бы и можно - на каждый запрос будет запускаться отдельный процесс. Это баг - может его когда-то его пофиксят, но пока спасает вышеприведенный врапер.

Тем не менее, этот модуль таки значительно лучше предыдущих подобных реализаций.

Может быть кому-то пригодится в жизни ;)

Приватный linux-администратор
M
На сайте с 16.09.2009
Offline
278
#1

А с чего Вы взяли, что его включили в 2.3 ветку?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
V
На сайте с 25.07.2006
Offline
128
#2

http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html

Хотя в принципе - да, релиза нет, так что туда еще ничего не включено ;)

M
На сайте с 16.09.2009
Offline
278
#3

пока ничего не говорит о том, что его в принципе собираются туда включать.

правильный мед здесь:

http://httpd.apache.org/docs/2.3/

http://httpd.apache.org/docs/2.3/new_features_2_4.html

В 2.4 будет mod_fcgi_proxy, а mod_fcgid - достаточно старый независимый проект.

Andreyka
На сайте с 19.02.2005
Offline
822
#4

Когда fcgid процесс залипнет - проходит много времени прежде чем он умрет и сайты получают 50x ошибку

В fpm эту ситуацию вырулили

И потом - давать пользователю враппер в руки - опасно, иди знай чего он там себе пропишет :)

Не стоит плодить сущности без необходимости
V
На сайте с 25.07.2006
Offline
128
#5
myhand:
пока ничего не говорит о том, что его в принципе собираются туда включать.

правильный мед здесь:
http://httpd.apache.org/docs/2.3/
http://httpd.apache.org/docs/2.3/new_features_2_4.html

В 2.4 будет mod_fcgi_proxy, а mod_fcgid - достаточно старый независимый проект.

Прокси - это прокси. Он не запускает fcgi процессы, для этого там еще приблуда fcgistarter прилагается.

Если вы внимательно почитаете привиденьевые мной ссылки, то заметите, что этот старый независимый проект существенно переработан и теперь под крылом asf

Я не настаиваю, что его включат в 2.3, это не суть важно.

Гораздо важнее, что он удобен и достаточно стабильно работает. За пару месяцев эксплуатации я пока не столкнулся ни с какими проблемами.

vapetrov добавил 20.03.2010 в 05:12

Andreyka:
Когда fcgid процесс залипнет - проходит много времени прежде чем он умрет и сайты получают 50x ошибку

Пока с этим модулем с таким не сталкивался

Andreyka:

И потом - давать пользователю враппер в руки - опасно, иди знай чего он там себе пропишет :)

Насколько я понимаю, он использует апачевский suexec. Не думаю, что модуль снизит безопасность. Впрочем, сами понимаете, все может глючить...

Zaqwr
На сайте с 08.08.2007
Offline
111
#6

на одном из проектов fcgid показал худший результат чем php as cgi =) , при большой нагрузке fcgid зависал.

Администрирование, Linux, Cisco, Juniper
M
На сайте с 16.09.2009
Offline
278
#7
vapetrov:
Если вы внимательно почитаете привиденьевые мной ссылки, то заметите, что этот старый независимый проект существенно переработан и теперь под крылом asf

Да, он там с 2009 года. Но то, что его включат в основной код - сомнительно. Апачи выбрали себе более легкое решение, которое в 2.4 будет. Да-да, с fcgistarter.

V
На сайте с 25.07.2006
Offline
128
#8
myhand:
Да, он там с 2009 года. Но то, что его включат в основной код - сомнительно. Апачи выбрали себе более легкое решение, которое в 2.4 будет. Да-да, с fcgistarter.

Разве решение должно быть одно?

Более легкое - это как посмотреть...

Да, на отдельный сервер под высоконагруженный проект его ставит нет резона.

Но лично мне было очень легко довесить этот модуль к работающему на шареном хостинге апачу с mod_php и получить все прелести fastcgi фактически не меняя конфига апача. Кроме настройки самого модуля, конечно.

H
На сайте с 21.09.2008
Offline
25
#9

У него есть существенный недостаток перед php-fpm, старым mod_fastcgi - он при graceful рестартит все свои процессы. При немальеньком кол-ве виртуалхостов это получается довольно накладно.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий