Nginx
Nginx + php5-fpm = ‘找不到文件’
我在使用 nginx / fpm 設置站點時碰壁了。頁面顯示“找不到文件”,這齣現在 nginx error.log 中:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
我對 nginx 和 fpm 都是新手,並且該錯誤消息對我來說毫無意義(即使是Google機器也沒有幫助!)。任何人都可以闡明可能發生的事情嗎?
您應該有一個
location
部分來處理配置類似於此的 PHP 請求:location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
(額外
try_files
解決了一個安全漏洞,該漏洞可能允許任意文件作為 PHP 執行。)另外,你
root
應該在server
配置文件的section中定義,而不是location
section。這是最常見的nginx 錯誤配置之一。