我正在建立一個運行nginx的新Ubuntu服務器,並且我試圖在網站上運行一個小型的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;
}
}
我有php-cgi在127.0.0.1:9000上運行。
當我嘗試訪問www.example.com/blog或blog /或blog/index.php時,出現「無輸入文件指定」錯誤。作爲一個測試,我創建了一個phpinfo.php文件,並將其放到/ usr/local/www/data/blog /中,但是出現了相同的錯誤。
然而,作爲進一步的測試,我把文件phpinfo.php的在/,然後改變帕拉姆線「fastcgi_param SCRIPT_FILENAME /phpinfo.php;」,而做工作,如此看來,我的FastCGI進程正常運行,但出於某種原因,我沒有在nginx中正確設置路徑。
我已經仔細研究了這個問題的討論,在http://blog.martinfjordvald.com/2011/01/no-input-file-specified-with-php-and-nginx/,我已經看過文件權限,據我所知,這一切都OK。/usr/local/www/data/blog樹中的每個目錄都具有執行權限,down上的/ usr/local/www中的所有內容均由運行nginx和FastCGI的www-data用戶擁有並可讀取。
日誌對此沒有幫助;即使將級別設置爲info,我也沒有在錯誤日誌中得到任何信息。
謝謝。
沒有,根本指令追加/博客/位置的請求;請參閱http://wiki.nginx.org/HttpCoreModule#root。我最初有另一種方式(這是類似Apache的配置),但被糾正了。無論哪種方式,它都沒有區別。 – user1235777 2012-02-27 15:42:44
對不起;(只是我的第一個想法,我試了一下,如果我跳過fastcgi_split_path_info ^(/ blog)(/.*)$,就得到它的工作;否則我得到了拒絕訪問 – Mattias 2012-02-27 16:01:27
它可以是你的fastcgi_params ...文件 – Mattias 2012-02-27 16:03:15