MVC Catalyst + Apache 2 + FastCGI [quick and simple hint]
Не понравилось каждый раз перезапускать Apache, чтобы применить изменения в скриптах (да и чего душой кривить, просто интересно стало!) =) Решил поковырять в сторону Catalyst + FastCGI
Этот способ отличается от предыдущего настройками сервера и запуском FastCGI сервера вашего приложения. Считается, что модуль mod_fastcgi уже установлен (Catalyst и всё прочее тоже). Итак:
- Создаём приложение Catalyst, пусть это будет Test :)
- В конфиге vurtual host’а пишем:
LoadModule fastcgi_module /usr/lib/apache2/mod_fastcgi.so # у меня OpenSUSE 11.0 и модуль лежит здесь
<IfModule mod_fastcgi.c>
FastCgiIpcDir /var/lib/apache2/fastcgi
AddHandler fastcgi-script fcg fcgi fpl pl cgi
</IfModule>
FastCgiExternalServer /srv/www/vhosts/test/cgi-bin/script/test_fastcgi.pl -host 127.0.0.1:82 -idle-timeout 500
<VitualHost 127.0.0.1:81>
### эти настройки опущу =) предположу, что вы знаете как настраивать virtual host’ы
Alias /test /srv/www/vhosts/test/cgi-bin/script/test_fastcgi.pl/
Alias /static /srv/www/vhosts/test/htdocs/static</VirtualHost>
- Далее, перезапускаем Apache
- Идем в директорию script/ (для данного примера это /srv/www/vhosts/test/cgi-bin/script/) и запускаем FastCGI сервер вашего приложения:
./test_fastcgi.pl -l :82 -n 3 -p /tmp/test_catalyst.pid -d
Теперь радостно открываем свой любимый браузер и резво набираем там http://127.0.0.1:81/ должны увидеть результат работы пустого приложения Catalyst :)
Если что не получилось — милости прошу за ответами на вопросы :) Опять же, этот микропост не претендует на проф. документацию :)

