Вебсервери
Nginx проти Apache: який сервер виконує яке робоче навантаження?
nginx і Apache — це два механізми, на яких можна будувати стек хостингу, і боротьба припиняється в момент, коли робоче навантаження називається. nginx — це керована подіями машина з низьким вмістом для статичного вмісту та зворотного проксі; Apache — це багатомодульний сервер додатків, каталог якого перекриває, а екосистема забезпечує спільний хостинг. Це таблиця чесних рішень за обома присвяченими статтями.
Головне
- Модель паралелізму вирішує перевагу: асинхронний цикл подій nginx обробляє тисячі одночасних з’єднань із кількома робочими процесами, тому він домінує на рівнях статичної інтенсивності та зворотного проксі; Подія MPM Apache заповнює цю прогалину, але все одно виділяє більше на одне з’єднання на тому самому обладнанні.
- Філософія конфігурації суперечить: Apache підтримує .htaccess і перевизначення для кожного каталогу (основна зручність спільного хостингу), тоді як конфігурація nginx є простою для кожного сайту, включає файли з дисципліною перезавантаження; повсякденний ефект залежить від команди, хто редагує конфігурації та де.
- Гібридний стек є легітимним, а не заміною: nginx попереду як термінатор TLS і статичний сервер, Apache позаду для програми, це перевірена в боях форма, яка зберігає інструменти htaccess, одночасно захоплюючи краєву продуктивність nginx; вартість — це ще один рівень для усунення несправностей і моніторингу.
- Де кожен движок виграє беззастережно: nginx виграє проксі-сервер, що потребує з’єднання, роботу з підтримкою роботи на периферії та повільне виснаження клієнта; Apache виграє потужність конфігурації для кожного каталогу, сумісність застарілих модулів і загальний хостинг mod_security/mod_php-class, де жодна інша екосистема не є настільки зрілою.
- LiteSpeed — це третій варіант, до якого прагнуть багато хостів (наша спеціальна стаття розповідає про нього): сумісність Apache із підтримкою паралелізму, керованого подіями, ліцензовано на кожне ядро, тому середній шлях «замінити Apache, зберегти конфігурацію» існує для економіки спільного хостингу.
- Процедура прийняття рішень, яка підтримується в усій категорії наших веб-серверів: назвіть робоче навантаження (nginx на межі; Apache за програмами, що містять велику кількість htaccess), зберігайте обидві ролі явними, коли гібридні, порівняйте свій власний трафік (а не контрольні показники журналу) і пам’ятайте, що це одне рішення, яке ви можете повторити, оскільки обидва механізми успішно співіснують.
Польова нотатка
Клієнт, який навчив нас звичці гібридного стеку: nginx попереду для TLS і статики, Apache позаду з дванадцятирічним знанням htaccess, яке ніхто не наважувався переписати. Чесною відповіддю було не «перейти на nginx», а «вказати навантаження на рівень». Вони досі працюють у такій формі сьогодні, не збуджені та прикрашені безвідмовною роботою.
Часті запитання
Чи потрібно нам взагалі вибирати один?
Ні: зворотний проксі перед сервером додатків є нормальною сучасною формою. Єдине реальне рішення полягає в тому, який двигун куди йде; бігти обидва є стандартною практикою, а не визнанням поразки.
Що швидше для WordPress?
З хорошими рівнями кешування всі три (nginx, Apache, LiteSpeed) добре служать WordPress; кінцевий порядок у наших тестах зводився до налаштування кешу, а не двигуна. Вибір механізму має більше значення на граничному та проксі-рівнях, ніж за кеш-пам’яттю.
Що легше навчитися?
Обидва можна вивчити за тиждень для базового віртуального хостингу та TLS; тертя відрізняється: документація Apache більш знайома ветеранам індустрії, конфігурація nginx коротша, але відкриває ручки проксі-сервера раніше.
Чи існують важливі відмінності в безпеці?
Обидва містять CVE і обидва захищені з коробки в підтримуваних версіях; поверхнею ризику є поверхня конфігурації, культура .htaccess і застарілі модулі для Apache, модулі, скомпільовані сторонніми розробниками, а також помилки порядку конфігурації для nginx. Швидкість патча має більше значення, ніж марка двигуна.
Допомога Kinetikatech: вебсервери
Ось у чому річ: Налаштування, оптимізація й безпека вебсерверів у виробничих і тестових середовищах. Передайте це службі Оптимізація швидкості сайтів та Адміністрування серверів, і все буде закрито: грамотна оцінка, чисте впровадження, цілодобовий нагляд.