nginx + perl + php-fpm + eAccelerator

Главные вкладки

Аватар пользователя georotor georotor 18 января 2008 в 22:06

Я давно хотел избавиться от пожирателя памяти Apache, тем более что и половины его возможностей мне использовать не приходится.
Но при попытке перейти на nginx + fastcgi (описание здесь) мне пришлось столкнуться с некоторыми трудностями:

  1. Perl, без него уж извините никак:(
  2. в сети неоднократно сталкивался с утверждением что spawn-fcgi не умеет работать с акселераторами, а это сами понимаете не есть гуд + spawn-fcgi работает через TCP/IP, а не через unix socket, что как понимаете то же не очень хорошо

Ответ на первый мой вопрос мне удалось найти в рассылке, где Игорь Сысоев (автор nginx) на вопрос о запуске скриптов написанных на Perl’e рекомендовал использовать небольшой сервер mini-httpd, который после запуска у меня съел менее 500К памяти.

Со вторым моим вопросом было немного сложнее, я все таки поставил spawn-fcgi, но помимо отсутствия возможности использовать какой-либо акселератор и отсутствия unix socket у меня возникла проблема. После запуска всей связки сайты просто летают, но так продолжается не долго, всего минут 10—15, после при открытии какой либо странице возникает задержка секунд в 5—8, при этом на сервере какой-либо загрузки мной замечено не было. В общем весь расстроенный такими делами я отправился гуглить и как оказалось не зря.

После нудных поисков я попал на страничку php-fpm, это патч к php-cgi, который позволяет запустить php не просто в качестве демона fastcgi, а настоящий менеджер процессов + он же позволяет работать через unix socket, а так же умеет работать с разными акселераторами.

Т.к. во время поисков у меня накопилось много материала по установке всего выше описанного, а копи-пастом заниматься я не очень люблю и в тоже время мне не удастся написать чего либо нового по установке nginx + php-fpm + mini-httpd + eAccelerator, я просто привожу список ссылок:

nginx+php+eaccelerator
php-fpm
mini-httpd
eAccelerator

Комментарии

Аватар пользователя cwer cwer 18 января 2008 в 22:19

спасибо Smile
странно, а почему spawn не умеет с акселераторами работать?
я с такими утверждениями не сталкивался.

Аватар пользователя georotor georotor 18 января 2008 в 23:20

> cwer
Честно, не знаю, я хотел сначала сам проверить, но столкнулся с другой проблемой, похуже. На данный момент я очень доволен получившейся сборкой. И впечатление от php-fpm намного лучше (я в код залезал, он сам по себе более качественно написан) чем от spawn-fcgi, тем более он написан нашим соотечественником Smile

Аватар пользователя orbisnull orbisnull 19 января 2008 в 7:56

Apache+FastCGI+Accelerator - все работает. Кстати если запускаете процессы под разными юзверями (например для каждого сайта свой), то буфера будут разные у акселератора.

Аватар пользователя Гость Гость (не проверено) 8 февраля 2008 в 18:51

И кто вам сказал, что spaw-fcgi не работает с unix sockets и что php под ним криво? связка nginx+spawn-fcgi+php, с десяток блогов на ней крутится под не плохим трафиком, тормозов не замечено)

Аватар пользователя Константин Константин (не проверено) 18 февраля 2008 в 15:14

1. Spawn-fcgi отлично работает со всеми акселераторами (тестил eAccelerator и xcache)
2. Проблем с unix сокетами у него тоже нет!
3. Чем плох встроенный перл в nginx?
4. php-fpm лучше использовать на хостингах (или где много пользователей и нужна гибкая настройка для каждого) Правда у меня возникли проблемы при настройке php-fpm и xcache (eAccelerator не проверял)