Мінуси використання nginx в якості основного веб-сервера?


12

Я бачив мільйони веб-сайтів, які використовують nginx як посилюючий веб-сервер, що працює разом з Apache. Але я бачив дуже мало серверів, на яких працює nginx лише як їх веб-сервер за замовчуванням. Які основні недоліки такої конфігурації?

Я бачу деякі:

  • Неможливість використання конфігураційних файлів для директорій, таких як .htaccess, тому кожну зміну конфігурації слід здійснювати до основного файлу конфігурації сервера та вимагає перезавантаження сервера. Але pecl htscanner може компенсувати їх налаштуванням php
  • Недоступність mod_php для nginx, який можна компенсувати, наприклад, php-fpm.

Які інші? Чому люди просто не кидають Apache і переходять на nginx або будь-яке інше легке рішення? Можливо, є якісь особливі причини?

EDIT: це питання насамперед стосується роботи зі стеком LAMP.


1
Mindshare, інерція, інвестиції. Те саме, що завжди.
Ігнасіо Васкес-Абрамс

Які інвестиції потрібні для установки nginx на новий сервер? Це безкоштовне програмне забезпечення з відкритим кодом.
Владислав Раструсний

3
Вкладення часу, необхідного для дослідження, розгортання, тестування тощо
ThatGraemeGuy

Якщо ми говоримо про кількість, найбільшою причиною IMHO є величезна кількість спільних хостів, що використовують Apache. Налаштувати nginx як спільну послугу (наприклад, у cPanel, Plesk тощо) ще не так просто, як зробити те ж саме з Apache, особливо для кінцевих користувачів. І я знаю багато виділених серверів, які працюють на одному веб-сайті, і все ж використовують cPanel / Plesk / і т. Д. Саме через простоту, знайомство та низьку вартість налаштування.
Halil Özgür

Відповіді:


9

З мого досвіду #nginx, це майже завжди через ознайомлення з файлами Apache .htaccess і не бажає втрачати те чи інше, залежно від цього. Наприклад, люди, на яких розміщено спільний сервер, який хоче завантажувати лише статичні файли і зберігати апачі для своїх користувачів.

І я, чесно кажучи, не можу придумати будь-яких інших причин доступу до Apache, окрім збереження .htaccess для кінцевих користувачів.

Редагувати: насправді mod_php плюс phpsuexec для спільних хостів може бути ще однією причиною дотримуватися Apache.


З мого досвіду досить складно отримати хороші показники роботи від tomcat через nginx, оскільки ajp-робочий apache2 помітно швидший під високим тиском. Я знаю, що nginx має експериментальну реалізацію ajp13, але вона не є стабільною і погано задокументована.
pauska

1
Це дуже можливо. Nginx найкраще працює як зворотний проксі-сервер fastcgi або HTTP 1.0. Я знаю, що існують сторонні модулі для розмови з scgi, wsgi тощо, але я не можу сказати, наскільки вони стабільні або навіть наскільки вони швидкі.
Мартін Фьордвальд

BTW, mod_php не працює з suexec. Suexec призначений для програм cgi.
Владислав Раструсний

Ну ви йдете, без реальних причин. Ви занадто довго були користувачем nginx, щоб навіть більше запам'ятати Apache. : D
Мартін Фьордвальд

6

Якщо у вас є маса людей, які можуть змусити Apache добре працювати, навіщо турбуватись над повторним навчанням нового додатка та конфігурації, міграцією правил mod_rewrite, повтором конфігурацій mod_perl / php / тощо, повторним тестуванням, повторним розгортанням?

Обидва стеки програмного забезпечення можуть бути безкоштовними, але "переучити, переробити, повторно протестувати" це не так, і саме час ви можете додавати функції, які ваші користувачі дбають про 1 , а не повозитися заради майстерності.

1 Очевидно , я не говорю про особисті проектах, там.


2

Мені подобається Nginx, але дві речі не дозволяють мені використовувати його для своїх веб-сайтів.

  • Важко налаштувати PHP-FPM . Мені ще не вдалося це зробити з останньою версією PHP.

  • Nginx не підтримує HTML5 Websockets, що мене цікавить.


1
Чи можете ви назвати труднощі, які виникли з nginx та php-fpm? Щодо веб-сокетів HTML5, схоже, Apache ще їх не мав
Владислав Раструсний

Я також хотів би знати проблеми php-fpm. Якщо ви можете скласти PHP з джерела без нього, тоді це зробити дуже просто.
Мартін Фьордвальд

1
5.3 філія вже має її всередині, так що просто ./configure --enable-fpm, і ви закінчите.
Владислав Раструсний
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.