nginx, fastcgi и как переписать URL - PullRequest
0 голосов
/ 24 января 2012

У меня очень простая перезапись в nginx x с использованием fastcgi.

Предположим, мой домен www.test.com/test.fcgi

Как мне переписать на www.test.com? Если я захожу на www.test.com/test.fcgi, это работает.

server {
    listen   80;
    server_name 127.0.0.1;


    location ~ \.fcgi$ {
                    rewrite ^/test.fcgi/(.*)$ $1 last;
        root   /var/www;
                    include /etc/nginx/fastcgi_params;
                    #fastcgi_pass   unix:/tmp/nginx.socket;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.html;
        fastcgi_param  SCRIPT_FILENAME  /$fastcgi_script_name;
        include fastcgi_params;
    }

}

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Добавьте это в вашу конфигурацию nginx, думаю, это поможет вам.

location = / {
        root /var/www/
        include /etc/nginx/fastcgi_params;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.html;
        fastcgi_param  SCRIPT_FILENAME  /$fastcgi_script_name;
        include fastcgi_params;
}
0 голосов
/ 24 января 2012

Ну, вы действительно не будете использовать такой файл .fcgi с Nginx, поэтому трудно ответить на вопрос в том виде, в котором он был задан. Nginx работает с FasCGI так же, как и с другими вышестоящими серверами, передавая запрос в сокет Unix или TCP.

Вы переписали бы запрос, используя один из стандартных методов переписывания запроса. В разделе вашего местоположения используйте что-то вроде этого:

rewrite ^/test.fcgi/(.*)$ $1 last;

Затем вы передаете запрос демону, прослушивающему запросы FastFGI, например:

fastcgi_pass localhost:8001;
fastcgi_index index.fcgi;

Вам могут понадобиться другие варианты в зависимости от внутреннего процесса и особенностей вашей настройки. Если вы предоставите нам больше информации, мы сможем помочь вам в дальнейшем.

Документация и примеры для этих двух модулей см. (http://wiki.nginx.org/HttpFcgiModule)[here] и (

).
...