Техническое: как работает dxdt.ru

В свете падения известных хостингов, которое сейчас обсуждают, поделюсь описанием того, как работает и где размещается dxdt.ru. Сайт я разместил на амазоновском EC2, на виртуальном сервере (сервер типа Small Instance). Операционная система Amazon Linux (это, по сути, Red Hat). Веб-сервер – Apache 2.2. Непродолжительное время использовал nginx в качестве обратного прокси к Apache, но, пока что , особого смысла в nginx, конкретно для dxdt.ru, не вижу: монструозный Apache справляется с небольшим трафиком.

БД – MySQL, на том же сервере; иногда с аппетитом кушает память. PHP + APC (это “ускоритель” PHP, как известно) + WordPress + кэшируюший плагин W3 Total Cache (очень полезный плагин оказался).

Есть поддержка HTTPS, но я использую собственный корневой сертификат (и это правильно, для данной модели), так что попытка обратиться по HTTPS стандартным браузером приведёт к ошибке/предупреждению. Понятно, что HTTPS предназначен для админки WordPress-а (WP). Тут надо заметить, что разработчики WP никак не допилят поддержку HTTPS, поэтому в некоторых случаях страницы (не принадлежащие к админке) генерируются с элементами, адресуемыми по HTTP (обычно, это картинки). Возможно, есть какой-то плагин, решающий эту проблему.

В целом, WP – неплохая CMS. Есть планы (о которых мне периодически напоминают) переписать dxdt.ru руками на специальный “движок”, отказавшись, наконец, от PHP. Интерес тут чисто спортивный. В качестве снарядов для данного спорта я сейчас рассматриваю связку Python + Django + MongoDB + какой-то не-Apache (nginx?). Но это планы, да.

Опыт использования амазоновского хостинга для dxdt.ru положительный. Доступность хорошая. Ресурсов хватает. Гибкости тоже. Нет трудностей с IP-шниками (кстати, важный фактор!). Например, удалось оперативно и без всяких проблем настроить обратную зону для IP-адреса dxdt.ru (это нужно для отправки почты с сервера) и всё такое прочее. Преимущество амазоновского сервиса в том, что тут предоставляется инфраструктура, то есть можно самостоятельно быстро поднять нужные серверы, что-то настроить, переключить адреса, ну и так далее. Это уровнем выше аренды обычного виртуального сервера, и удобнее, чем один физический выделенный сервер. Вообще, я амазоновским EC2 пользуюсь несколько лет, но для совсем других задач – сайты раньше там не хостил, а оказалось, что и для этого весьма хороший вариант. Кстати, домен dxdt.ru я поддерживаю тоже на паре NS-ов, находящихся в EC2 (это не амазоновский DNS, а виртуальные серверы с BIND-ом – всё жду, когда же КЦ и ТЦИ доделают DNSSEC в .ru, чтобы быстро внедрить поддержку, да, видно, нескоро это будет).

Вот.

Update (18/04/2014): эта записка некоторое время не обновлялась, а между тем, ещё в декабре 2012 года, в домене RU внедрили поддержку DNSSEC; конечно, домен dxdt.ru был подписан одним из первых.

Update (24/11/2014): c 21 ноября 2014 года dxdt.ru возвращает страницы только по HTTPS – этот безопасный протокол стал единственным для работы с сайтом.

()

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 6

  • 1. 18th July 2012, 09:49 // Читатель Z.T. написал:

    Лучше чем CMS на Python и MongoDB, я предлагаю генерировать после каждого изменения static page с помощью Python, а данные хранить в sqlite. Это будет проще, надежней и намного производительней.

  • 2. 18th July 2012, 13:26 // Читатель jno написал:

    lighttpd?
    и, как алаверды к коменту №1, wiki?
    что-то в духе dokuwiki, но на питоне…
    с парой бэкендов: plain text и sqlite.
    было бы интересно, да.

    кстати, а чем плох ПХП (ну, кроме имманентной идейной кривизны, понятно)?
    такой себе “веб-ассемблер”…

  • 3. 18th July 2012, 16:42 // Читатель jno написал:

    это… цель-то какая? :)

  • 4. 23rd July 2012, 15:25 // Александр Венедюхин ответил:

    Static page мне не нравится тем, что нельзя прозрачно приделать какую-то “динамику” ко всем страницам. (Не, я понимаю, как это можно сделать.)

    Lighttpd – пробую как раз.

  • 5. 23rd July 2012, 15:38 // Читатель jno написал:

    о! ещё мысля пришла :)
    Раз уж Python и “спорт”, то, может, и asyncore/asynchat и встроенный HTTP-сервер?

  • 6. 23rd July 2012, 15:45 // Читатель jno написал:

    И, раз уж на то пошло, то “динамику” можно и к “статическим” страницам привернуть – AJAX и прочий HTML5 никто ж не отменял.

    Т.е. текст статьи и наличные комменты “отливаются в гранит”, а навигационный бар сосётся жабаскриптом в некий , prefilled чем-то осмысленным, чтобы был нормальный дегрейд при отключенном js.