mercurial+ nginx: настройка вебморды для mercurial проектов

Maxim Dounin mdounin at mdounin.ru
Sat Dec 6 03:21:17 MSK 2008


Hello!

On Sat, Dec 06, 2008 at 01:29:12AM +0300, allnightlong wrote:

> Хочу стало быть настроить вебморду для  mercurial репозиториев. Использую
> hgwebdir.fcgi из поставки меркурия.
> Непосредственно вебморда работает нормально, но проблема в том, что через
> nginx не получается провести ни одной mercurial операции (clone/push/pull).
> Вот моя система: debian lenny, nginx 0.6.34, mercurail 1.0.1.
> 
> Конфиг nginx.conf
> 
> server {
>     server_name hg.mysite.com;
>     include        /etc/nginx/fastcgi_params;
> 
>     location / {
>         fastcgi_pass  127.0.0.1:4080;
>         fastcgi_param  PATH_INFO $uri;
> 
>         fastcgi_param  SERVER_PORT        $server_port;
>         fastcgi_param  SERVER_NAME        $server_name;
>         fastcgi_param  SERVER_PROTOCOL    $server_protocol;
>         fastcgi_param  REQUEST_METHOD     $request_method;

Определение любого fastcgi_param отменяет наследование с 
предыдущих уровней (стандартное поведение всех директив, задающих 
массивы).  Т.е. "include /etc/nginx/fastcgi_params;" в данном 
конфиге - просто ничего не делает.

Как результат - $query_string в fastcgi не передаётся, и hgwebdir.fcgi
из-за этого не видит команд протокола.

Надо написать что-нибудь вроде

    location / {
        fastcgi_pass ...
        fastcgi_param  PATH_INFO  $uri;
        include  /etc/nginx/fastcgi_params;
    }

Maxim Dounin





More information about the nginx-ru mailing list