Blog ← Настройка «уютного места» на Gentoo в связке nginx + fastcgi [ru]

Устанавливаем 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

Все. Можно заходить по адресу :)

20 May, 2008
« Генерация пароля «unix-way» [ru]Установка блога [ru] »

Leave a comment

OpenID Login with OpenID
[u] [i] [url] [img] [code] [list]...
Won't be published
 
2008 GPL
This page takes 0.034438s to load
Powered by Catalyst