Руководства по настройке LEMP сервера Drupal с поддержкой сертификата Let’s Encrypt для самых популярных дистрибутивов Linux — CentOS 7, Debian 9, Ubuntu 18.04.
Закончив чтение данного руководства, вы научитесь самостоятельно настраивать минималистичный сервер для для сайта Drupal без лишних компонентов. Ваш сайт будет доступен по защищенному протоколу HTTPS с поддержкой бесплатного сертификата Let’s Encrypt.
Drupal — широко используемая CMS, обладающая гибкими возможностями и подходящая для больших контентных сайтов. В этой статье мы рассмотрим как настроить сервер для сайта Drupal.
В этой статье мы рассмотрим как правильно установить и настроить сервер MySQL (MariaDB 10.3) для продуктового использования. Для настройки будем использовать установку СУБД в виде приложения Docker, при этом все постоянные данные будут храниться в файловой системе хоста.
Если вам интересно узнать о преимуществах MariaDB перед стандартной реализацией от Oracle, читайте статью, посвященную этому вопросу.
Docker. Использование Docker-контейнера позволяет не только обеспечивает чистое развертывание, не зависящее от программного обеспечения сервера, но и позволяет поддерживать несколько СУБД MySQL разных версий и различного назначения в рамках одной операционной системы.
MariaDB. Открытость, темп разработки и улучшения MariaDB гораздо выше, чем у традиционного MySQL, поэтому многие дистрибутивы используют его по умолчанию, а разработчики предпочитают движок MariaDB традиционному MySQL из-за новых возможностей, которые отсутствуют в MySQL.
ClickHouse — колоночная СУБД, предназначенная для решения задач аналитической обработки данных. Несмотя на то, что в большинстве случаев ClickHouse должен использоваться для работы в режиме множества серверов, объединенных в кластер, в случаях, когда объем обрабатываемых данных составляет 1-2 TB, он может обрабатываться и на одном сервере.
Прочитав эту статью вы научитесь использовать современный способ запуска Redis как безопасного приложения Docker.
Redis — популярное хранилище вида «ключ-значение» в памяти и не только — он позволяет организовывать другие хранилища, например, для множеств, очередей сообщений, блокировок, счетчиков и других структур. Благодаря высочайшей производительности Redis стал популярным хранилищем и используется в множестве продуктов, например, вы можете настроить хранение пользовательских сессий в Redis для PHP, что позволить разгрузить файловую систему сервера и автоматически удалять устаревшие объекты.
В статье мы рассмотрим, как установить PHP 7 в CentOS 7. Дело в том, что PHP 7 не входит в поставку CentOS 7, однако современные движки уже ориентируются на эту версию PHP.
В данной статье описывается установка для PHP 7.2, но в репозитории Remi есть многие актуальные версии PHP, собранные для CentOS, например, PHP 7.3. Если вы хотите установить другую версию, просто сделайте замену «72» на «73», убедившись, что в репозитории эта версия есть.
Установка будет выполняться из стороннего репозитория, в котором есть данная версия PHP. Будет использоваться Remi’s Repo. Установка достаточно типовая:
Теперь в вашем сервере CentOS 7 доступен PHP 7.2. Дальше вы можете почитать о том, как в CentOS 7 настроить полноценный хостинг для WordPress с Nginx + PHP-FPM, PHP 7.2, MariaDB и сертификатами Let’s Encrypt.
Вы научитесь как настроить сервер частного хранилища S3 с помощью Minio на сервере с операционной системой Linux.
Протокол хранения S3 стал популярным для хранения данных. Одно из преимуществ S3 — возможность доступа через API, что позволяет организовать гибкое взаимодействие с хранилищем, включая публичный доступ на чтение, в то время как обновление информации в хранилище происходит только авторизованными лицами.
Существует несколько как открытых, так и частных реализаций хранилищ, работающих по протоколу S3. Сегодня мы рассмотрим популярное решение для организации малых хранилищ — Minio.
Вы научитесь настраивать в CentOS7 прокси-сервер Nginx с поддержкой SSL Let’s Encrypt для балансировки между двумя upstream-серверами.
Nginx часто используется не как самостоятельный Web-сервер, а как обратный прокси, который, который распределяет трафик на обрабатывающие серверы (в общей терминологии — upstream), которые уже выполняют всю работу. Эта схема часто применяется даже там, где вы ее не ожидаете, например, для взаимодействия с PHP-FPM или для передачи обработки на сервер Apache2.
Вы научитесь развертывать WordPress в форме приложения Docker, узнаете как настроить каталоги хост-системы для долгосрочного хранения данных WordPress и MySQL.
Все руководство будет состоять из блоков шагов:
Установка Docker в вашу операционную систему.
Настройка WordPress и MySQL с помощью Docker Compose.
Настройка проксирования с помощью Nginx с поддержкой сертификата Let’s Encrypt.
Вы научитесь настраивать прокси-сервер Nginx с поддержкой SSL Let’s Encrypt для балансировки между двумя upstream-серверами. Данное руководство для ОС семейства Debian — Ubuntu Linux, Debian Linux и других, которые используют схожие пакеты и методы их установки.
Nginx часто используется не как самостоятельный Web-сервер, а как обратный прокси, который, который распределяет трафик на обрабатывающие серверы (в общей терминологии — upstream), которые уже выполняют всю работу. Эта схема часто применяется даже там, где вы ее не ожидаете, например, для взаимодействия с PHP-FPM или для передачи обработки на сервер Apache2.
Что такое CDN? Если коротко, CDN (Content Delivery Network) — глобальная сеть, которая служит для ускорения доставки трафика от поставщиков к получателям. К примеру, когда вы смотрите видео с Youtube, это видео не отправляется из единого датацентра, а обслуживается ближайшим к вам сервером CDN. Таким образом поставщики контента не только повышают качество обслуживания, но и снижают затраты на доставку трафика.
Среди покупателей услуг CDN есть самые разные потребители:
поставщики стримингового медиа-контента;
разработчики программного обеспечения;
сервисы доствки рекламы;
контентные сайты.
Разные сети CDN организованы по-разному, в зависимости от целей сети. Часто применяется принцип организации с помощью Anycast IP — способ, при котором владелец сети CDN публикует одни и те же IP-сети из разных точек с помощью протокола BGP. Таким образом, для пользователя из Москвы, некоторый IP A.B.C.D может видеться как московский, а для пользователя из Берлина как находящийся в Нидерландах.
Это позволяет избежать ряда проблем, например, с DNS, когда компьютеры пользователей помнят старые адреса, которые уже находятся в аварийном состоянии.
С другой стороны, Anycast IP не гарантирует лучшего маршрута трафика, поскольку это достаточно грубый инструмент. Однако, он надежен и применяется в CDN широко.
Не стоит думать, что CDN полезен только для огромных проектов и стоит кучу денег. Далее, мы рассмотрим как можно использовать CDN с обычным сайтом, какие преимущества это дает и что необходимо предусмотреть при использовании.