Для кеширования контента я использую плагин WordPress ““. Одна из очень ценных его функций кроме кеширования – вынесение статического контента (изображения, css, js-файлов) в Content Delivery Network (о его настройке я уже рассказывал).
Достоинства:
Ускоряется загрузка сайта за счёт того, что контент располагается на ближайших серверах CDN.
Уменьшается нагрузка на сайт, так как не приходится раздавать множество изображений и других файлов, движок WordPress генерирует только страницу, а всё остальное подтягивается из CDN. Это снижает требования к хостингу.
Уменьшается трафик, ведь большинство трафика создают изображения. Это также приводит к экономии.
Три месяца я держал свой блог на ноутбуке MacBook, стоящем на кухне – он плавно перемещался под потолком с кухонного шкафа на холодильник и обратно. Процесс установки блога на Mac OS X я детально описал в статьях: “Часть 1, MySQL“, “Часть 2, Apache” и “Часть 3, кеширование“.
Но в последние недели я стал замечать, что по какой-то непонятной для меня причины подсеть моего домашнего провайдера становится недоступной на переходе Telia – Level3. Если бы это был одинарный случай, то я бы не беспокоился. Но две недели подряд – это уже перебор.
В итоге я принял решение перейти на внешний хостинг.
Для любого сайта важны контент, скорость и дизайн. Без качественного контента не будет посетителей, плохая скорость их рано или поздно отпугнёт, плохой дизайн тоже не придаст особой любви даже при хорошем контенте (но это на последнем месте, так как многие посетители читают обновления только через RSS). Контент и дизайн – вещи творческие, а вот скорость технологична, её можно обеспечить за счёт применения некоторых рекомендаций и настройки софта. Самое качественное и полное руководство – это документ Yahoo ““. Если его выполнить, то можно добиться значительного ускорения работы своего сайта.
Для аудита есть плагин Firefox , разработанный Yahoo. Он работает совместно с . В этой части я не буду останавливаться на нём, расскажу в отдельной части.
Один из важных пунктов в оптимизации – это “Use a Content Delivery Network”. Все Content Delivery Network служат для быстрой и надёжной географически распределённой доставки статического контента. Вот как раз об этом и поговорим.
Для быстрой работы блог нужно всячески кешировать. Я использую комбинацию из нескольких способов – кеширование на уровне WordPress , на уровне PHP – , и заодно кеширование запросов MySQL. По крайней мере хуже не становится, а улучшение производительности налицо.
Один из полезнейших плагинов WordPress – это . Он из категории “must have”. Настройки:
Для простоты следующим шагом в качестве web-сервера я запущу . Его большое преимущество в том, что php очень просто ставится, как модуль, и не требуется дополнительных ухищрений. Поэтому я запущу сайт именно под apache, а уже после этого переделаю всё под , который мне нравится больше.
В Mac OS X есть штатный apache, его можно запустить в System Preferences/Sharing/Web Sharing:
Это полноценный Apache/2.2.13, но для наших целей он не подходит – PHP в портах требует установленного apache, причём из портов. Ухищряться можно было бы, но особого желания у меня делать это не было. Поэтому я спокойно смиряюсь с мыслью, что в системе будет стоять Apache родной и Apache из портов.
Недавно я подключился к провайдеру Интернет по Ethernet, да ещё с постоянным IP-адресом. Сервер, на котором у меня расположен сайт, периодически ведёт себя очень странно, я думаю, что вы могли это заметить. Иногда сервер перестаёт отвечать, я подозреваю вываливание в Kernel Panic (на сервере стоит FreeBSD 6.3). Подозреваю аппаратную проблему, но заменить сервер я пока не могу, а обновить систему до 8.0, или установить Linux можно, но непросто, так как я использую для сайтов . В итоге я решил временно перенести сайты на MacBook, который у меня используется в виде сервера.
Подъём сервера для хостинга WordPress состоит из нескольких этапов, и я рассмотрю их в серии статей. В этой части я опишу установку MySQL, затем – настройку web-сервера на базе nginx с использованием PHP в виде Fastcgi (можно было бы использовать и Apache, но мне нужен легковесный и быстрый web-сервер, хорошо работающий под большой нагрузкой). Итак, приступим.
Поставить MySQL под Mac OS X можно несколькими методами. Самый неинтересный для меня – это (готовое решение, включающее MySQL, Apache, PHP с полным набором модулей). Объяснять почему мне это не нравится не буду, и так понятно.
В первой части статьи я описал создание учётной записи на Amazon Web Services. Сейчас же приступим к реальной работе. Весь процесс работы отлично описан в официальном документе
““, очень рекомендую с ним ознакомиться.
Создавал в последний раз сервера три дня назад. Сегодня же, уставившись на консоль, почувствовал себя как себя как герой рассказа ““… Ладно, прорвёмся.
Создание сертификата X.509
Заходим на ““, “Your Account”, “Security Credentials”.
Данная тема не совсем об Apple, но меня она интересует давно, и процесс работы очень сильно завязан на работу в shell в нашей любимой Mac OS X в частности и в любом нормальном Unix в общем. Распространяться о модной теме облачных вычислений я особо не буду, здесь всё и так понятно. Я долго подходил к (AWS), но наконец-то смог более-менее разобраться с ним.
Как вы заметили, любая статья на моём сайте не абстрактное теоретизирование, а результат решения какой-либо проблемы или вопроса, который меня заинтересовал. Вот и разборки с AWS родились из того, что я решил проработать возможность переноса сайта и нескольких других задач на новый сервер. Разделяемый хостинг недолюбливаю давно, столкнувшись с реалиями локальных хостеров, считающих, что load average от 15 на хостинговом сервере – это нормальная ситуация в расчёте на то, что “пипл всё схавает”. не нравится почти по той же причине, плюс некоторые проблемы с актуальностью операционных систем (не знаю, как сейчас, но лет 5 назад версии OS в VPS очень отставали). Арендовать выделенный сервер достаточно дорого – минимальная конфигурация, которая устраивает меня, стоит от $100 в месяц ( у Воли – 799 грн), причём я бы добавил ещё 2 GB памяти (+ 98 грн в месяц).
И вот, читая Release Notes Ubuntu 9.10, я вспомнил о том, что давно хотел повозиться с AWS, а именно с (Amazon EC2). Характеристики Standard Small Instance (1.7 GB of memory, 1 EC2 Compute Unit – 1 virtual core with 1 EC2 Compute Unit, 160 GB of instance storage, 32-bit platform) со скрипом, но устраивали, а возможность динамически менять производительность с использованием технологии меня очень привлекла. Технология облачных вычислений очень интересная, и есть несколько идей по поводу их практического применения, в итоге я решил если не перейти на AWS, так хотя бы плотно с ним поработать. Стоимость решения примерно должна стоить в районе $80 в месяц – небольшая экономия по сравнению с выделенным сервером, но повозиться интересно.
Среди представленных вчера Apple новых продуктов для меня самым интересным оказался . Он меня настолько заинтриговал, что я даже загорелся идеей установки сервера на его базе где-нибудь на colocation. Представьте – суровые 19″ стойки, суровые мотки кабелей, суровые инженеры датацентра, и тут – сурово стоит Mac mini, пытаясь соответствовать общей суровости :-)
Кстати, мне порекомендовали две фирмы, дающие Mac mini в аренду для хостинга: (ссылка от ) и (ссылка от ).
А пока попытаюсь понаслаждаться картинами Mac mini в качестве серверов.
Каждый день я имею дело с Mac OS X, и каждый день узнаю что-то новое. И этим новым я рад поделиться с вами, уважаемые читатели. Если у вас есть вопросы, то связаться со мной вы можете любым удобным способом.