- PVSM.RU - https://www.pvsm.ru -

Настройка веб-сервиса Cherokee под Ubuntu 11.04 для работы с WordPress

Недавно я захотел попробовать какую-нибудь альтернативу для домашнего веб-сервиса.
Не то чтобы меня чем-то не устраивал «станартный» Apache — просто хотелось расширить кругозор ну и, возможно, найти альтернативу получше.
Кандидат должен был отвечать нехитрым требованиям — малое потребление ресурсов и высокая скорость работы.
Так как Nginx [1], lighthttpd [2] и LiteSpeed [3] я уже в своё время трогал, и примерно знал, чего от них можно ожидать — выбор пал на испанскую разработку Cherokee [4].

Изначально статья планировалась как сравнение двух «индейцев» — но в процессе установки и настройки Cherokee я столкнулся с парой подводных камней. Так что эта статья — так сказать вводная.
Сравнение производительности тоже будет — но чуть позже.

Итак, Cherokee.
Как написано на официальном сайте — это инновационный, легко конфигурируемый веб-сервер с большим количеством фич. Давайте приступим к установке и посмотрим на него поближе.
И сразу же нас ждёт

Подоводный камень №1.

Заключается он в выборе источника для установки. Вариантов, как обычно, 3:

  • использовать стандартные репозитории системы;
  • использовать ppa;
  • собирать из исходных кодов;

Третий вариант я отмёл сразу — чай, не Gentoo [5], и решил поставить из стандартного репозитория:

sudo apt-get install cherokee php5-fpm

Как выяснилось позже — в стандартном репозитории Ubuntu лежит достаточно старая версия, которая толком не работает с PHP-fpm (старый баг 2010 года [6] — конфигуратор Cherokee не может отыскать конфиг PHP-fpm в системе).
Посему — ставить нужно из PPA:

sudo add-apt-repository ppa:cherokee-webserver/ppa
sudo apt-get update
sudo apt-get install cherokee cherokee-admin

После установки — запускаем админку Cherokee (отдельный Python-based веб-сервис, запускать его нужно только на время конфигурирования Cherokee — постоянно работающий он не нужен) и идём по URL, который отдаст команда (по-умолчанию — http://127.0.0.1:9090 [7]):

sudo cherokee-admin

На домашнем сервере у меня крутится мой стенделон-блог на WordPress — посему нам нужно сконфигурить Cherokee для работы с PHP-fpm, и для обслуживания WordPress.
В сети масса мануалов о том, как это сделать, но подробной пошаговой инструкции я не нашёл и потратил пару часов на то, чтобы привести всё в рабочее состояние.

Подводный камень №2.

Behavior [8] для обработки файлов php должен быть всегда сверху (настоящий мужик, чо).
Вот так должны выглядеть настройки Behavior для WordPress:

Настройка веб сервиса Cherokee под Ubuntu 11.04 для работы с WordPress

Обратите внимание, что правила обработки директорий содержат относительные пути.
То есть, в терминах Apache, если у вас DocumentRoot для VirtualHost WordPress'а показывает в /var/www/html/blog/ — полностью путь указывать не надо, работать не будет. Указывайте как на скриншоте: /wp-content, /wp-includes, /wp-admin.

Подведём итог.

Для настройки Cherokee для обслуживания WordPress нужно установить сам Cherokee, PHP-fpm, и настроить веб-сервис через cherokee-admin:

— добавляем новый Source для PHP-fpm (если Cherokee не подхватил его сам), для этого вверху в меню идём в Sources, слева жмём на знак «+» и заполняем поля:

  • Nick: PHP Interpreter
  • Connection: 127.0.0.1:9000
  • Type: Local Interpreter
  • Interpreter: /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf

Пути правим в соответствии с вашим окружением.

— добавляем Virtual Server, для этого идём вверху в меню vServers, жмём на знак «+» слева и заполняем поля:

  • Nick: yoursite.com (аналог ServerName в Apache)
  • Document root: /absolute/path/to/files

Жмём на Add, переходим на вкладку Basics прописываем index.php в поле Directory Indexes
Переходим на вкладку Behavior, жмём на Rule Management, добавляем правило для PHP:

  • Rule type: Extensions
  • Extensions: php

Вкладка Handler:

  • Handler: FastCGI
  • Balancer: Round Robin (при выборе пункта ниже должен подгрузится наш Source)

Точно так же добавляем правила типа Directory для wp-admin, wp-includes и wp-content, в качестве Handler выбираем List&Send

Всё, жмём SAVE и проверяем в браузере что сайт работает.

В следующей статье я рассмотрю разницу в производительности Apache и Cherokee на основе всё того же WordPress, не переключайтесь.

Автор: br0ziliy


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/3905

Ссылки в тексте:

[1] Nginx: http://nginx.org/

[2] lighthttpd: http://www.lighttpd.net/

[3] LiteSpeed: http://www.litespeedtech.com/

[4] Cherokee: http://www.cherokee-project.com/

[5] Gentoo: http://lurkmore.to/Gentoo

[6] старый баг 2010 года: http://code.google.com/p/cherokee/issues/detail?id=1040

[7] http://127.0.0.1:9090: http://127.0.0.1:9090

[8] Behavior: http://www.cherokee-project.com/doc/config_virtual_servers_rule.html