Техническое: как работает 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 – этот безопасный протокол стал единственным для работы с сайтом.
Адрес записки: https://dxdt.ru/2012/07/18/5006/
Похожие записки:
- Реплика: интернет-названия
- TIKTAG и процессоры с кешированием
- Вычисления на различной аппаратуре
- Новые криптосистемы на тестовом сервере TLS 1.3
- Синхронное время и "тики"
- Поддержка STARTTLS сервисом audit.statdom.ru
- Детектирование видеофрагментов, сгенерированных ИИ
- Реплика: эффекты наложенных сетей уровня браузера в вебе
- Обновление "Избранных записок"
- Статья про HTTP-заголовки
- Интерпретация DMARC в разрезе DKIM
Комментарии читателей блога: 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.