话接上文,主系统Windows 10, VirtualBox虚拟机安装CentOS 7, LNMP环境: Nginx 1.6.2 + PHP 5.4.45
打开index.html没问题显示良好:
但是我在html下面放了info.php的测试页,却显示File not found. 看了日志/var/log/nginx/error.log才发现写了这么一段:
[error] 5349#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: xx.xx.xx.xx, server: localhost, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "oo.oo.oo.oo:oooo"
意思就是找不到fastcgi的解析脚本. 这时我就懵了,我分明已经修改了nginx的配置文件啊,指定了.php的解析路径,怎么会发生这么个错误.
后来发现我修改的是/etc/nginx/conf.d/default.conf,这在以前的版本中是可以的,但是当前的Nginx版本好像是改了,应该修改的是/etc/nginx/nginx.conf这个配置文件,修改如下图所示的部分
最关键的是下面的命令:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
其中$document_root就是php文件的root目录.
下来就是重启nginx服务,刷新网页就出现了本该出现的画面: