Статьи

Почему nginx — лучший друг хостинга для WordPress

В моей предыдущей статье я исследовал, почему PHP7 является подходящим вариантом для WordPress, а в сегодняшней статье настала очередь веб-сервера.

Большая часть хорошего хостинга – это то, как настроен стек веб-серверов. Наличие быстрого стека имеет первостепенное значение для хорошей производительности WordPress и удобного взаимодействия с пользователем. Я уже обсуждал, почему PHP7 является таким хорошим способом автоматического улучшения производительности WordPress, но как насчет реального веб-сервера?

Сегодня я собираюсь объяснить: что такое веб-сервер, какие из них самые популярные и почему nginx чертовски хорош!

Веб-сервер

Одним из наиболее важных аспектов хостинга является фактический веб-сервер. Веб-сервер отвечает за предоставление статического контента, такого как HTML, и его отправку клиенту (что означает, прямо в ваш браузер). Таким образом, веб-сервер также будет отвечать за обработку всей информации, поступающей через процессор PHP, и преобразование ее в биты, которые передаются по сети в ваш браузер. Стек веб-серверов работает с моделью клиент / сервер, где веб-сервер действует как сервер (поставщик контента), а клиент (вы) – тот, кто его запрашивает.

Наиболее распространенными веб-серверами являются Apache, IIS от Microsoft и, конечно же, nginx.

Веб-сервер может обрабатывать как статический, так и динамический контент, который отправляется клиенту с небольшими различиями. Серверная часть загружается в память в так называемом рабочем процессе и отвечает за предоставление запрошенного контента. И Apache, и nginx обрабатывают статический и динамический контент. Хотя Apache может обрабатывать оба процесса внутри одного рабочего процесса, nginx этого не делает, поскольку для этого ему нужен внешний процессор.

Почему так популярны Apache и nginx? Ответ прост: они бесплатны и имеют открытый исходный код. Вместе они составляют почти 50% всего мирового трафика, что нелегко!

Что такое апач?

Apache сервер HTTP был создан Робертом МакКул в 1995 году, и это все еще в стадии разработки под The Apache Software Foundation. Этот веб-сервер был самым популярным выбором с 1996 года. Он очень модульный по конструкции, содержит массу документации и настолько популярен, что является основой для всех основных панелей управления веб-хостингом. Он даже включен в cPanel, самую используемую панель управления в мире.

Конечно, он гибкий, это оправдание, которое подавляющее большинство людей, использующих его, придумает, когда его спросят, и в целом это правда. Он также очень расширяемый, и, поскольку он может загружать модули динамически (над чем nginx все еще работает), его можно легко настроить.

Apache может обрабатывать статический и динамический контент сам по себе в одном воркере, поэтому он идеально подходит для его гибкости, но (и всегда есть но) он делает это за счет производительности.

Apache был известен своей медлительностью, но ничто и близко не могло раскрыть эту истину, как когда стал популярным nginx. Разницу в производительности между ними нельзя не заметить. Только по этому поводу большинство крупных компаний переходят на nginx. Несмотря на то, что Apache по-прежнему популярен, в будущем все обязательно изменится, поскольку технологии догонят и все больше и больше программного обеспечения, которое раньше работало только с apache, начинает включать nginx.

А как насчет Nginx?

Nginx родом из России. В 2002 году программист по имени Игорь Сысоев начал работать над nginx, так как был глубоко озабочен проблемой C10K. Что? Проще говоря, оптимизация сетевых сокетов для одновременной обработки большого количества клиентов, что было основным недостатком Apache и реальной проблемой для современной сети. Первоначальный выпуск nginx был обнародован в 2004 году на основе архитектуры, управляемой событиями.

Даже сам Сысоев не мог представить, насколько успешным будет nginx. Огромные преимущества скорости в nginx и низкого использования ресурсов стали очевидны со временем. Nginx имеет великолепный способ предоставления статического контента, но не может обрабатывать динамический контент. Это также оказалось преимуществом, потому что динамический контент не был привязан к одному и тому же исполнителю и, следовательно, мог работать намного быстрее.

Nginx выделяется тем, что предоставляет более быстрый контент для гораздо большего количества подключений, чем Apache, и в настоящее время является выбором для хостинговых служб, которые хотят предложить максимальную производительность. Его архитектура, управляемая событиями, и ее асинхронный характер – вот основные факторы, влияющие на ее производительность.

Почему nginx - лучший друг хостинга для WordPress

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

Другой недостаток nginx – отсутствие модульной конструкции, что означает, что он не может обрабатывать правила в реальном времени,  как Apache с файлом .htaccess, а также не может загружать модули в реальном времени. Это то, над чем nginx уже работает, но все же потребуется время, чтобы соответствовать гибкости Apache.

Тем не менее, недостатки быстро затмеваются великолепной производительностью. Это само по себе позволило nginx стать популярным выбором для хостинга, ориентированного на производительность, и это основа для столь же широко используемого сервиса, как Steam, снова и снова доказывая, что он может стабильно превышать Apache во всех отношениях.

Почему Nginx является предпочтительным выбором для хостинга WordPress?

Есть несколько моментов, в которых nginx намного лучше, чем Apache для размещения сайтов WordPress. Я постараюсь обобщить это в следующем списке.

Легко установить

Nginx – это полный пакет, для его работы требуется очень мало внешних модулей, и в большинстве случаев для его включения требуется всего одна строчка в Linux.

apt-get install nginx

yum install nginx

Это все, что нужно для того, чтобы nginx был активен как служба. Остальное в комплектации.

Может работать как прокси для Apache или любого другого веб-сервера

Nginx может обеспечить мгновенное увеличение производительности для любой конфигурации веб-сервера Apache, работая в качестве прокси-сервера, без какого-либо влияния на функциональность сервера.

Может работать напрямую с микрокэшем или даже с кешем fastcgi

Nginx великолепен благодаря встроенному микрокэшу и может даже работать с кешем fastcgi, чтобы повысить производительность в 10 раз. Nginx также может обеспечить колоссальный прирост производительности при работе с кешем fastcgi, и ему даже не понадобится внешний механизм кэширования, такой как memcache.

Это невероятно быстро для обслуживания контента

Nginx быстро работает со статическим контентом, и его очень легко настроить для таких целей. Одна строка кода может обеспечить доступ к наиболее распространенным файлам, таким как статическое содержимое, и повысить его производительность. Кроме того, если вы знаете, как настроить HttpProxyModule, вы даже можете достичь того же уровня производительности для динамического содержимого, не влияя на функциональность веб-сервера.

Почти в 4 раза больше одновременных подключений, чем у Apache

Если вы подумываете о хостинге очень востребованного веб-сайта с тысячами посещений в день, было бы полезно знать, что nginx может обрабатывать в четыре раза больше одновременных подключений, чем Apache, что означает 2 вещи:

  • Ваш сайт будет в целом быстрее
  • Для этого вам потребуется меньше ресурсов, чем Apache.

Это связано с тем, что nginx управляется событиями, и это дает следующие преимущества.

Почему nginx - лучший друг хостинга для WordPress

Очень легкий

Nginx настолько хорошо разработан, что он невероятно легок в использовании ресурсов. Это означает, что он будет использовать меньше процессорного времени для обработки каждого запроса на соединение и будет использовать намного меньше памяти. Это позволит вам размещать более крупные сайты, используя тот же сервер, который ранее не мог делать это в Apache.

Секрет успеха – в самом двигателе. Nginx работает как веб-сервер, запускаемый по событию, что означает, что он будет прослушивать «события» на рабочем сервере и отвечать только при необходимости. OnDemand аргумент в Nginx позволяет службу грибницы и удалить слушатель по требованию. Это помогает уменьшить использование памяти и повысить эффективность. Apache попытался включить режим событий в mpm-event worker, но ему с треском не удалось сопоставить скорость nginx, поскольку Apache не был построен как веб-сервер, управляемый событиями.

Он может балансировать нагрузку

Nginx может быть настроен для балансировки нагрузки, следовательно, он еще больше увеличивает скорость одновременных подключений за счет распределения нагрузки между несколькими серверами, что делает его идеальным для проектов с очень высокой нагрузкой одновременных подключений.

Что все это значит?

Это означает, что nginx идеально подходит  для WordPress практически во всех отношениях. Это означает, что вы ощутите преимущества его использования практически сразу после внедрения. Если вы системный администратор, установить nginx не составит труда. Если, наоборот, вы хотите разработать проект или разместить свой веб-сайт и разместить его в другом месте, очень высоки шансы, что если ваш хостинг использует nginx, он будет работать быстрее.

Высококачественные хостинговые компании, такие как WP Engine и Flywheel, уже работают на nginx. Но если вы собираетесь обратиться в другую хостинговую компанию, изучите или спросите техподдержку, включает ли стек веб-серверов nginx. Я могу гарантировать вам, что если услуга будет качественной, то в какой-то части стека будет включен nginx.

Кнопка «Наверх»