Делимся опытом. Настройка веб-сервера под Drupal на Hetzner

Недавно к нам в Drupal Coder обратился клиент с просьбой настроить сервер, оптимизированный под Drupal проекты, на известном хостинге Hetzner. Клиент там купил самый недорогой сервер.

Постановка задачи

Настроить веб-сервер, оптимизированный по Drupal проекты, с использованием конфигурации Varnish + Nginx + PHP-FPM + APC + Memcached, с возможностью добавлять виртуальные хосты через панель ISP Manager.

Реализация

Реализация осложнялась тем, что панель ISP Manager не умеет работать с Varnish и PHP-FPM, наверное поэтому она и не позволяет перекинуть Nginx с 80-го порта на какой-нибудь другой. План настройки сервера был следующим:

  1. Установка необходимого программного обеспечения через панель: убираем Apache и ставим Nginx.
  2. Установка из репозитариев недостающие пакеты: varnish, php-fpm, apc, memcached.
  3. Настройка Varnish под Drupal и перенос на 80-ый порт (см. инструкцию по настройке Varnish)
  4. Настройка Nginx на работу с PHP-FPM и перенос Nginx на порт 8080 (см. инструкцию по настройке Nginx)
  5. Настройка шаблона виртуального хоста Nginx для панели ISP Manager (см. инструкцию по настройке ISP Manager)
  6. Настройка memcached, varnish, mysql, php-fpm, apc под количество оперативной памяти на сервере.
  7. Тюнинг mysql (этой теме будет посвящена отдельная статья)
  8. Подключение memcached к Drupal сайтам.

Преимущество такой конфигурации сервера является то, что виртуальные хосты добавляются через панель управления ISP Manager, но ввиду того, что ISP Manager не умеет переносить Nginx с 80-го порта, после добавления виртуального хоста приходится поправить 1-ну строчку в конфигурации Nginx (в параметр Listen виртуального хоста добавить номер порта 8080). После настройки провели ab тестирование и получили достаточно неплохой результат: 38 авторизованных пользователей в секунду. После настройки клиент проверил, остался доволен и оставил положительный отзыв. Заказать настройку сервера, оптимизированного под Drupal проекты, можно у нас в openadmins и Drupal Coder за 24000 р.

Для того чтобы виртуальный хост в Nginx заработал на нестандартном порту, достаточно в конфигурации добавить нужный порт в директиву listen, например listen 8080;. Это позволит серверу принимать запросы на указанном порту и корректно обрабатывать виртуальные хосты.

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

Добавить комментарий

Filtered HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <pre> <br> <h1> <h2 id> <h3 id>
  • Строки и абзацы переносятся автоматически.
  • Web page addresses and email addresses turn into links automatically.