2012-02-27 6 views
1

나는 nginx를 실행하는 새로운 우분투 서버를 설정하고 있으며 사이트에서 작은 WordPress 블로그를 실행하려고합니다. 나는이 부분에 대한 설정을 제대로 할 수없는 것처럼 보였고, 내가 찾을 수있는 모든 문서와 온라인 도움말을 면밀히 검토했다.nginx/PHP 설정 문제

나는 www.example.com/blog에서 블로그를 운영하고 있는데, 더 높은 위치 블록은 신경 쓰지 않고,이 한 영역에 대한 설정 권한을 얻고 싶습니다. 나는 다음을 사용하려고합니다 :

location /blog/ { 
     root /usr/local/www/data; 

     try_files $uri $uri/ index.php?$args; 
     index index.php; 
     location ~ \.php$ { 
        fastcgi_pass 127.0.0.1:9000; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        fastcgi_split_path_info ^(/blog)(/.*)$; 
        include fastcgi_params; 
     } 
} 

나는 127.0.0.1:9000에서 실행되는 php-cgi를 가지고 있습니다.

www.example.com/blog 또는 blog/or blog/index.php로 이동하려 할 때 "No input file specified"오류가 나타납니다. 테스트로서 phpinfo.php 파일을 만들어서/usr/local/www/data/blog /에 넣었지만 같은 오류가 발생합니다.

그러나, 추가 검사로, 나는 /에 phpinfo.php를 파일을 넣고, 다음에 "fastcgi_param SCRIPT_FILENAME /phpinfo.php;"는 PARAM 라인 변경이 보인다 작업을했고, 것을, 그래서 내 FastCGI 프로세스가 제대로 실행되고 있지만 어떤 이유로 nginx에서 경로가 올바르게 설정되지 않습니다.

나는이 문제에 대한 논의를 http://blog.martinfjordvald.com/2011/01/no-input-file-specified-with-php-and-nginx/에 자세히 살펴 봤으며 파일 사용 권한을 살펴 봤지만 내가 할 수있는 한 모두 괜찮습니다./usr/local/www/data/blog 트리의 모든 디렉토리는 실행 권한을 가지고 있으며 아래의/usr/local/www에서부터 nginx와 FastCGI를 모두 실행하는 www 데이터 사용자가 소유하고 읽을 수 있습니다.

로그는이 기능에 도움이되지 않습니다. 내가 수준을 정보로 설정해도 오류 로그에 아무 것도 표시되지 않습니다.

감사합니다.

답변

2

fastcgi_split_path_info ^(/blog)(/.*)$; 
+0

아니, 루트 지시어는 요청에/블로그/위치를 추가 구성에서이 제거; http://wiki.nginx.org/HttpCoreModule#root를 참조하십시오. 나는 원래 아파치와 같은 설정을하는 다른 방법을 사용했지만 수정되었다. 어느 쪽이든, 그것은 차이를 만들지 않습니다. – user1235777

+0

죄송합니다, (, 처음 생각했는데, fastcgi_split_path_info^(/ blog) (/.*) $를 건너 뛰면 작동 해 보았습니다. 그렇지 않으면 Access denied가 발생했습니다. – Mattias

+0

fastcgi_params ... 파일 – Mattias