Apache php_mod або fastcgi, а може lighttpd

Цікавим залишається той факт - яку конфігурацію використовують професійні хостери для своїх клієнтів.

Беремо тільки свіжі на даний момент версії
Apache2.2.4 або
Lighttpd1.5 (Betta) або
Nginx 0.5.23
+ PHP5.2.3

Виріанти: (всі сровненія по відношенню до першого варіанту)

1. prefork + mod_php саме поппулярное
+ дуже швидкий
- запуск пхп від вебсервера (пов дуже погано, проблеми з безпека при відключенні safemode), досягаємо безпека так - (openbase_dir + disable shell functions + safemode OFF + правильна настройка прав до папок)
- 7Мб на процес (бідний RAM)
- проблема нестачі пам'яті при більшої кол-ве запитів / процесів (ймовірне рішення - відключити KeepAlive, але втрачаємо швидкість + доп. навантаження на CPU)

2. prefork + suphp
+ запуск пхп від власника акаунта - хороша безпека, фтп і пхп ​​працюють обидва від користувача
- продуктивність погіршується в 5-10 разів (жах)

3. prefork + php as fastcgi
+ процес апача легшає, близько 1-2мб, тому що пхп окремий сервер приймає запити
- як бути з різними акаунтами, кожному запускати пхп-сервер? інакше немає безпеки, неможна вказати openbase_dir: /
- ймовірно час йде на відправлення запиту до ПХП і отримання відповіді значимо і трохи погіршує швидкість

4. prefork + php as fastcgi + suexec
Цей варіант мені невдалося налаштувати і зрозуміти принцип роботи, можливо це та сама золота середина ..

5. prefork + mod_php + (mod_suid or mod_ruid.)
або peruser-MPM + mod_php
Це впринцепи той же варіан (1) за винятком того що процеси вебсервера запускаються від юзера встановленого в вирт. хостах, що прибирає деякі мінуси (1) -го варіанта. Є ймовірність погіршення продуктивності!
Ці варіанти мені також неудалось толком налаштувати, наприклад apache peruser взагалі недороблений модуль хоч і є різні патчі.


lighttpd або nginx
Впрінцепі це дуже легкі і швидкі вебсервера які використовують пхп як fastcgi.
Є варіанти зв'язки цих серверів з apache (для пхп), що дає непогану продуктивність. Але наприклад для використання в хостингу тільки lighttpd необхідно кожному користувачеві запускати пхп-fastcgi-сервер, той же випадок що і в пункті (3)

Ось впринцепи і все, може хто-небуть поділиться своїми (безпеки, робітниками і стабільними) реалізаціями? Все ж цікаво як це налаштовують професійні вебхостери, невже самі програміруют свої модулі і патчі і ні з ким не діляться. =)

1. найпродуктивніший, безпеку звичайно мала.
4. найоптимальніше відношення продуктивності і безпеки.
5. найбезпечніше, але продуктивності мала.

ну і nginx як акселератор (хоча можна і апач налаштувати натомість) і для віддачі статики

p.s. пробував і eAccelerator і xcache - нічого не допомагало, apache йшов в ступор через секунду після запуску.

З 1м варіантом мені все зрозуміло, сам його використовую. в день 3 мільйону хітів, рятує тільки відключений KeepAlive, nginx неиспольз

mustafa, Що за бігун (php) який був переписаний? Ймовірно у вас був включений KeepAlive і тому апач несправлялся?

sesse / mpm-itk / або свій дописаний? Наскоько я знаю на сайті апача цей модуль недороблений. Я також читав що існує доп. небезпека тому апа працює під рутом для зміни uid, хіба не так?

Roxis, чи можна реалізувати цей варіант для великого числа користувачів без наслідків? Чи це той випадок коли пхп-фастцгі-сервера для користувача не запущені, а якщо з'являється активність на якомусь хості то запускається фастцгі для даного користувача і наступні запити обробляються з легкістю, а по непотрібності сново відрубують (наприклад після хвилини спокою) ??

p.s. пробував і eAccelerator і xcache - нічого не допомагало, apache йшов в ступор через секунду після запуску.
Так не справа це апачевское - треба було конструктивно підійти до вирішення.

Схожі статті