Недавно решил попробовать MovableType в качестве платформы для своих блогов. Эта платформа мне очень понравилась вот чем:
- может весь блог сгенерировать в виде статики
- платформа бесплатная и с открытым кодом
- поддерживает XML-RPC, что очень облегчает процесс удаленного постинга
- умеет пинговать другие блогосервисы
Собственно, только из-за генерации статики я и выбрал эту платформу; то же самое умеет делать и Blogger – но у меня все-таки доверие больше софтине с открытым кодом, установленной на моих серверах, чем стороннему бесплатному сервису.
Разочаровал же меня Movable Type тем, что по умолчанию он выполнялся как cgi-скрипт. Слишком много времени уходило на интерпретацию скриптов, чувствовались существенные задержки в работе – но памяти при этом кушалось немного.
Увеличить быстродействие платформы можно двумя способами, прикрутив к Apache mod_perl или заставив выполнять скрипты Movable Type как FastCGI.
Первый вариант сразу отпадает, мне даром не нужен каждый процесс апача, который бы съедал значительный объем памяти из-за загруженного модуля mod_perl; поэтому я и выбрал второй вариант.
Настроить mod_fcgid под Debian на свой Apache 2.2.6 у меня получилось с первого раза совершенно без проблем.
Все свелось буквально к набору только одной команды:
apt-get install libapache2-mod-fcgid
ну и к последующей правке httpd.conf и перезапуску Apache.
Решил сделать нечто подобное и под OpenSUSE 10.3, с помощью Yast установил apache2-mod_fcgid, дописал заветные строчки в httpd.conf и … получил болт. При выполнении скрипта Perl как Fast CGI стала появляться ошибка:
mod_fcgid: Can’t create share memory for size %zu byte
Как оказалось, это лечится добавлением всего лишь одной строчки в mod_fcgid.conf:
SharememPath /var/lib/apache2/fcgid_shm
Для этого модуля сборщики пакета не удосужились прописать одну единственную строчку, которая не позволяла полноценно работать Perl-скриптам как FastCGI. Это действительно зарегистрированный баг OpenSUSE, который в недалеком будущем исправят (я надеюсь).