2012-01-24 3 views
0

나는 fastcgi를 사용하여 nginx x에서 아주 간단한 재 작성을했습니다.nginx, fastcgi 및 URL을 다시 쓰는 방법

내 도메인 가정은 어떻게 www.test.com에

를 다시 할 www.test.com/test.fcgi입니까? 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; 
    } 

} 

답변

0

음, Nginx에서는 .fcgi 파일을 사용하지 않으므로 질문에 대답하기가 어렵습니다. Nginx는 다른 업스트림 서버와 마찬가지로 Unix 또는 TCP 소켓에 요청을 전달하여 FasCGI와 작동합니다.

는이 같은 request.In에게 위치 섹션을 사용 무언가 재 작성을위한 표준 방법 중 하나를 사용하여 요청을 다시 것 :

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

그런 다음, 당신이 FastFGI 요청을 수신 데몬으로 요청을 전달합니다, 같은 :

fastcgi_pass localhost:8001; 
fastcgi_index index.fcgi; 

당신은 당신이 moreinformation 우리에게 제공하는 경우, 우리가 더 도움을 줄 수 있고, 백엔드 processand 셋업의 특성에 따라 다른 옵션이 필요할 수 있습니다. 문서 및이 두 모듈이 볼에 대한 예 (http://wiki.nginx.org/HttpFcgiModule)[here]와 (

+0

서버 { 80 듣고, 서버 _의 127.0.0.1; \t \t \t 위치 ~ \ .fcgi의 $ { 재 ^/test.fcgi /(.*)$ $ 지난 1; \t \t \t root/var/www; 에는/etc/nginx/fastcgi_params가 포함됩니다. #fastcgi_pass unix : /tmp/nginx.socket; \t \t \t fastcgi_pass 127.0.0.1:9000; \t \t \t fastcgi_index index.html; \t \t \t fastcgi_param SCRIPT_FILENAME/$ fastcgi_script_name; \t \t \t은 fastcgi_params를 포함합니다. \t \t} \t \t \t \t \t} –

+0

좋아하지만, 당신이 요구하는지 확실하지. –

+0

음 .... 다시 쓰고 싶습니다. 페이지를 실행하려면 http://127.0.0.1/test.fcgi로 가야하지만 http://127.0.0.1/에 가면 페이지를 찾을 수 없습니다. 인덱스를 fastcgi_index test.fcgi로 변경했습니다. –

0

이 당신의 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; 
} 
관련 문제