понедельник, 18 января 2010 г.

Хостинги. Начало.

Давненько не излагал мыли. Хотя есть чем поделиться.

Так уж случилось, что хостим мы сайты своих клиентов на виртуальном хостинге от masterhost. Что можно сказать плохого об этом:
  1. Цена. За 4 площадки тарифа "Специалист", где можно разместить 60 доменов и 40 баз MySQL платить приходится около 24 т.р. в год.
  2. Странные тарифы. На 1 площадку дается 1 MySQL пользователь. Получается что если нужно дать доступ клиенту к площадке (по умолчанию не даем, сами обслуживаем - так вернее) - светятся пароли к БД. А докупить 1 БД юзера - 4 у.е. в месяц. Некисло так выходит.
  3. Кодировки сервера MySQL. Я работаю с базами в уникоде. По умолчанию на сервере кодировка баз - кириллица. А сопоставление соединения с MySQL - юникод. В итоге приходится извращаться когда нужно сделать дамп базы - данные дампятся в кириллице, но при этом в дампе валяется "SET NAMES UTF8". И пока не изменишь на cp1251 - дамп по человечески не зальеш. А править файлы например размером 50 мб - не айс, только vi и справляется, а под виндой сделать это нереально. В общем не понимаю я зачем все это :-(
Хотя, надо отдать должное, за более чем 2-х летний опыт работы с хостингом - проблем почти не было. Бэкапы по просьбам "достают" довольно быстро, сайты работают нормально, в почте спам режется хорошо. Был прицидент с системным временем: время на хост-сервере и сервере БД отличалось секунд на 40 - потупил неслабо пока это понял. Но поддержка оперативно таки среагировала, молодцы.

Но кризис есть кризис, и решили мы сэкономить. Толчком послужило открытие сервиса truevds с мизерными ценами на ВПС (при оплате за год - скидка 50%. Это не реклама, просто делюсь:-). Был взят для пробы минимальный тариф, так потыкать и оттестировать предполагаемую схему. Позже был изменен тариф на 256Мб/480МГц/8Гб и взят дополнительный сервер под базу данных - 128Мб/320Мгц/4Гб.
Ну и впоследствии 40 сайтов были перенесены на него. Так как с почтой разбираться категорически влом - почта переехала на Google Apps/pdd.Yandex.ru

Что получилось:
  1. Настроен хостинг с учетом некоторых рекомендаций безопасности на основе FAST-CGI (php-fpm+apc)/lighttpd
  2. Размещены 40 сайтов, их них 35 - динамика (php и mysql)
  3. Экономия денег - считайте сами (расходы были 24 000, стали 6 000)
  4. Свобода действий: понадобился например модуль для псевдостриминга flv и php-ffmpeg - да пожалуйста.
  5. После настройки акселератора - сайты летают. Хотя нагруженных сайтов нет - все они чисто номинальные (самый посещаемый - 1000 хостов/4000 хитов в сутки), но на глаз открываются гораздо шустрее чем это было у мастерхоста.
  6. Глядя на загрузку сервера - думается еще есть задел на будущее.
Как это делалось на практике - в следующих статьях.
Про что хочется поведать:
  • Установка lighttpd-1.4.25(из Sid - там есть полезная фича в mod_rewrite для легкой настройки правил rewrite для Codeigniter/Kohana) на Debian 5 и его настройка.
  • Настройка виртуальных хостов.
  • Настройка php через fast-cgi. На каждом вирт. хосте php будет работать под своим uid/gid. Сначала все запустил через spawn-fcgi. Позже перешёл на использование deb-пакета php-fpm, который собрали (и планируют поддерживать) ребята из truevds.
  • Тестирование производительности сервера. Смотреть что он выдает будем с помощью siege.
  • Подключение apc/xcache/eaccelerator. Опять тестирование производительности.
  • Про тонкую настройку MySQL сервера.