May 30, 2012

Конфиг Nginx для TheBugGenie

Всем привет!

Не так давно поднял для себя собственный небольшой багтрекер на базе TheBugGenie. Веду там свои проекты, немного пишу в вики и попутно неспешно перевожу сам движок багтрекера на русский =)

Так как на сервере где установлен багтрекер конфигурация исключает наличие гордого индейца по имени Апач, то привожу свой конфиг nginx для багтрекера:

server {
    listen 80;
    server_name mybugtracker.ru;

    access_log /var/log/nginx/bt.access_log;
    error_log /var/log/nginx/bt.error_log;

    root /var/www/bt;
    index index.php;

    location /thebuggenie/ {
        try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/thebuggenie/(.\*)$ /thebuggenie/index.php?url=$1&$args;
    }

    location ~\* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires 30d;
        log_not_found off;
     }

    location ~ .php$ {
        fastcgi_pass unix:/tmp/fastcgi.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/bt$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ .(tpl|xml|log)$ {
        deny all;
    }
}

Вот как то так =) Как только доделаю перевод то выложу его здесь. Ну и напоследок чтобы пост не был таким коротким:

Вот вам ссылка на htaccess-конвертер - генератор конфигов nginx на основе апачевых htaccess.

Где-то проскакивали комментарии о том что иногда косячный конфиг выдает, но в целом направление задает верно. Для людей которые не очень рубят в регулярках либо им лень писать конфиг (ну типа меня короче xD) эта рпиблуда может оказаться полезной. Сам пока не пробовал применять конфигы нагенеренные этим сервисо, но если будет время то обязательно поэксперементирую =)

UPD: Еще один сервис для конвертирования mod_rewrite в конфиги nginx - http://anilcetin.com/convert-apache-htaccess-to-nginx/

UPD2:

Конфиг для размещения TheBugGenie в корне сайта.

server {
    listen 80;
    server_name site.ru;
    root /home/site/www/thebuggenie/;
    index index.php;
    rewrite_log on;

    location ~\* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires 30d;
        log_not_found off;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        set $fsn $fastcgi_script_name;

        fastcgi_pass unix:/var/run/php5-fpm-mrd.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /(.\*) {
        set $suburi $1;
        try_files $uri $uri/ /index.php?url=$suburi&$args;
    }

    location ~ .(tpl|xml|log)$ {
        deny all;
    }
}

Другие проекты:

telegram-catalog.top

rhamdeew © 2020