Устанавливаем nginx
# USE="fastcgi" emerge nginxВ файле /etc/nginx/fastcgi_params необходимо подправить:
#fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;Настройка nginx (/etc/nginx/nginx.conf)
…
root /var/www/example.com/root;
location / {
fastcgi_pass unix:/var/www/example.com/tmp/blog.socket;
include fastcgi_params;
}
# папка со статическими файлами, пусть напрямую обрабатывается сервером
location /static/ {
access_log off;
expires 30d;
}
# не нужно нам .git директорий
location ~ /\.git {
deny all;
}
…Теперь init.d скрипт для удобства запуска fastcgi процессов.
Создаем «базовый скрипт», на который затем будем просто делать символические ссылки (/etc/init.d/catalyst-fastcgi):
#!/sbin/runscript
# Copyright 2008 vti
# Distributed under the terms of the GNU General Public License v2
PIDFILE="/var/run/${SVCNAME}.pid"
depend() {
need net
after sshd
}
checkconfig() {
if [ ! -d ${SERVERROOT} ]; then
eerror "SERVERROOT does not exist: ${SERVERROOT}"
return 1
fi
USER="${USER:-nginx}"
GROUP="${GROUP:-${USER}}"
PROC="${PROC:-5}"
if [ ! -f ${FCGISCRIPT} ]; then
eerror "FCGISCRIPT does not exist: ${FCGISCRIPT}"
return 1
fi
}
start() {
checkconfig || return 1
ebegin "Starting fastcgi"
start-stop-daemon --start --exec ${FCGISCRIPT} \
--chuid ${USER}:${GROUP} --pidfile ${PIDFILE} --make-pidfile --background \
-- -l ${SOCKFILE} -n ${PROC} -p ${PIDFILE}
eend $?
}
stop() {
ebegin "Stopping fastcgi"
start-stop-daemon --stop --retry -TERM/5/-KILL/5 --exec ${FCGISCRIPT} \
--pidfile ${PIDFILE}
eend $?
}Делаем его исполняемым и создаем символическую ссылку для работы с блогом
# chmod +x /etc/init.d/catalyst-fastcgi
# ln -s /etc/init.d/catalyst-fastcgi /etc/init.d/catalyst-fastcgi-example.comСоздаем конфигурационный файл для сервисного скрипта (/etc/conf.d/catalyst-fastcgi-example.com):
USER="vti"
PROC=3
SERVERROOT="/var/www/example.com"
FCGISCRIPT="${SERVERROOT}/script/blog_fastcgi.pl"
SOCKFILE="${SERVERROOT}/tmp/blog.socket"Заносим в список запусков необходимые скрипты
# rc-update add nginx default
# rc-update add catalyst-fastcgi-example.comЗапускаем сервисы
# /etc/init.d/nginx start
# /etc/init.d/catalyst-fastcgi-example.com startВсе. Можно заходить по адресу :)
Войти с помощью OpenID