參考鏈接:http://blog.csdn.net/iefreer/article/details/44293711
遇到這種問題,通常是由於fastcgi_script_name訪問腳本路徑不正確引起的。
尤其是帶有子目錄的情況,比如對於Yii框架而言,路徑通常是project/web
那么如果在URL中訪問 /project/index.php,那么nginx配置中的SCRIPT_NAME會是全路徑:project/index.php
如果你配置中的代碼如下:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
那么實際訪問的文件就是/var/site_root/project/web/project/index.php,這顯然不是我們想要的結果,我們想訪問的是/project/web/index.php。
這些錯誤可以通過查看php-fpm.log(錯誤日志)來跟蹤。
解決方法是修改相應的路徑配置。
以上是鏈接原文。
看了以后我就修改了一個地方就可以正常訪問了。
1 location ~ \.php$ { 2 root /var/www/web; 3 fastcgi_pass 127.0.0.1:9000; 4 fastcgi_index index.php; 5 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 6 include fastcgi_params; 7 }
主要是修改fastcgi_param這一條。