Почему вам следует сосредоточиться на улучшении производительности Drupal с помощью Nginx

Опубликовано: 2018-01-14

Все мы знаем, что в Drupal гибкость сочетается с простотой. CMS, разработанная как идеальное решение для нетехнических пользователей, Drupal представляет собой унифицированную систему, которая стремится иметь сильные стороны системы управления контентом и структуры управления контентом. Таким образом, независимо от того, что хочет создать конструктор сайтов (от новостного сайта или интернет-магазина до социальной сети или очень сложного правительственного веб-сайта), это просто вопрос объединения правильных модулей для идеальной разработки Drupal. Известно, что Nginx - это сверхмощный веб-сервер, который можно использовать для кеширования, балансировки нагрузки, обратного прокси-сервера и многого другого для повышения производительности веб-сайта. Комбинация Drupal Nginx может привести к максимальной производительности. Давайте посмотрим, почему вам следует выбрать Nginx для своего следующего проекта Drupal.

Drupal постоянно обновляется, и его новейшая версия является доказательством того, как эта CMS с открытым исходным кодом быстро превратилась в один из самых востребованных фреймворков (согласно отчету Drupal.org, почти 1 миллион веб-сайтов используют Drupal 7). Версия Drupal-Drupal 8 поставила своих пользователей на пороге самых интересных функций.

Некоторые из этих функций Drupal 8:

  • Готовые веб-службы: прошли те времена, когда веб-сайты были только для настольных компьютеров, а веб-службы использовались только для веб-сайтов, использующих службы из других систем. С учетом разнообразия устройств веб-сервисы в современном мире важны как никогда. Хотя веб-службы поддерживаются сторонним модулем в Drupal 7, он включен в ядро ​​Drupal 8.
  • Улучшения безопасности: безопасность всегда была проблемой, и с добавлением новых функций Drupal 8 сделал способы сделать системы более безопасными.
  • Проще и быстрее: с Drupal 8 API Drupal полностью RESTful, что упрощает для разработчика использование Angular.js, Ember.js и многих других инструментов отображения без особых хлопот.
  • Улучшения для мобильных устройств: как мы уже говорили ранее, мобильные устройства являются движущей силой в современном мире. Drupal 8 обеспечивает полную поддержку шаблонов мобильных сайтов, а также простое внутреннее администрирование с мобильного устройства.

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

Архитектура сайта с Drupal Nginx

Широкий спектр веб-сайтов Drupal изначально использует HTTP-сервер Apache в качестве своего веб-сервера, и тот факт, что инструкции по его настройке широко доступны, делает его первым выбором среди многих владельцев веб-сайтов. Но по мере того, как веб-сайт растет и начинает привлекать больше трафика, люди переходят на сервер NGINX. На данном этапе, когда возникают трудности с поддержкой более 10 000 подключений одновременно ко всему серверу, зависанию или сбоям, Drupal и Apache разделяют проблемы, которые трудно преодолеть.

Поскольку на карту поставлена ​​уязвимость сайта, организации предпочитают Drupal 8 NGINX для стабилизации архитектуры сайта. Вместо того, чтобы менять серверы и вызывать проблемы, можно предпринять несколько шагов для решения таких проблем, связанных с производительностью, по мере роста сайта.

  • NGINX как лучший выбор для веб-сервера вашего сайта Drupal повышает производительность и резко снижает использование памяти.
  • NGINX - один из самых популярных обратных прокси-серверов для ряда сайтов Drupal, поскольку он может обрабатывать интернет-трафик и снижать нагрузку на ваш сервер приложений.

Веб сервер

Быстрое исправление, которое может позаботиться о производительности, безопасности и гибкости вашего веб-сайта Drupal, - это переход с Apache на NGINX в качестве веб-сервера для вашего сайта. Распространенной проблемой, с которой сталкивается большинство веб-серверов, является проблема C10K - сложность, с которой веб-серверы сталкиваются с поддержкой одновременных подключений (обычно не более 10 000 подключений одновременно). NGINX был разработан для решения этой конкретной проблемы. Благодаря возможности запускать непрерывный цикл обработки событий, который обрабатывает запросы по мере их возникновения, без выделения ресурсов запрашивающим, Drupal NGINX устраняет накладные расходы, возникающие при создании нового процесса для каждого нового соединения.

Обратный прокси-сервер с Drupal 8 Nginx

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

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

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

Несколько серверов приложений и балансировка нагрузки

Практически невозможно повысить производительность с помощью одного сервера приложений. Но более крупные и более быстрые серверы потенциально дороги, и поскольку одно устройство всегда имеет неотъемлемую производительность, вам необходимо обновить или заменить текущее устройство (очень опасная операция) для повышения производительности. Здесь на сцену выходит обратный прокси-сервер. Этот сервер позволяет использовать несколько серверов приложений, что обеспечивает лучшую производительность Drupal, просто добавляя дополнительные серверы в систему. Этот процесс добавления и удаления серверов можно упростить с помощью подходящих программных инструментов, таких как NGINX Plus, который в значительной степени сокращает время простоя.

Наличие нескольких серверов приложений означает, что должен быть способ решить, какой сервер получит следующий запрос. Методы варьируются от простого до сложного, при котором каждый сервер проверяется системой, чтобы определить, какой из них наименее занят, перед отправкой запроса. Это называется балансировкой нагрузки. Сервер NGINX и NGINX Plus поддерживают пять методов балансировки нагрузки, которые помогают повысить производительность Drupal.

Ознакомьтесь с официальным файлом конфигурации Drupal 8 Nginx, рекомендованным Nginx, чтобы начать его внедрение на своем веб-сайте Drupal 8.