...................................
...................................
}
|
上面的配置会检查.php文件是否存在,如果不存在,会返回404页面。
--完--
标签:roo 关注 有一个 公众 ati bsp jpg ted 地址
一台slb转发请求到三台机器,分别装了nginx php.
三台机器配置相同,部署了两个项目。
访问https://deom.com/jiaoyin_fnt/app/manage/view/login.php 正常,三台机器都没问题,nginx日志正常。
访问 https://demo.com/jiaoyin_diaries_fnt/app/manage/view/login.php 三次中成功一次,其他两次请求会导致下载该页面。
解决过程:
新建测试文件 jiaoyin_diaries_fnt/app/manage/info.php 访问正常
新建测试文件 jiaoyin_diaries_fnt/app/manage/view/info.php 访问失败,三次成功一次
更改/view/ 为test 再访问,也是正常。
查看selinux关闭状态,修改777权限给jiaoyin_diaries_fnt
nginx 报错日志提示
2018/10/23 16:11:43 [error] 26959#0: *17897 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: jjcfh.sogood360.com, request: "GET /jiaoyin_diaries_fnt/app/manage/view/info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "127.0.0.1"
最后问题解决:
这个配置中有很多不合理的地方,其中一个明显的问题就是root指令被放到了location / 块。如果root指令被定义在location块中那么该root指令只能对其所在的location生效。其它locaiont中没有root指令,像location /images块不会匹配任何请求,需要在每个请求中重复配置root指令来解决这个问题。因此我们需要把root指令放在server块,这样各个location就会继承父server块定义的$document_root,如果某个location需要定义一个不同的$document_root,则可以在location单独定义一个root指令。
另一个问题就是fastCGI参数SCRIPT_FILENAME 是写死的。如果修改了root指令的值或者移动文件到别的目录,php-fpm会返回“No input file specified”错误,因为SCRIPT_FILENAME在配置中是写死的并没有随着$doucument_root变化而变化,我们可以修改SCRIPT_FILENAME配置如下:
标签:roo 关注 有一个 公众 ati bsp jpg ted 地址
原文地址:https://www.cnblogs.com/maoxianfei/p/9837524.html
感谢。
感谢
感谢
牛鼻
狂赞。。。很不错呢,,讲的十分到位,,按照你说的来,解决了问题
怒赞
帮助解决了问题!!!!!抛出异常的感谢!!!!
感谢
非常感谢,解决了我的问题
找了好多, 看了你的才知道到底是什么问题 谢谢
还有一个可能是权限问题 php-fpm没有打开指定路径文件的权限
多谢,因为看了你这一条的消息,才让我解决了问题。
很好,你的这条答案应该被作者采纳。解决了我的问题。
谢谢你,
感觉你分享这个信息,解决了我的问题。
再次感谢。
真心赞,直指问题所在,帮我解决了,多谢!
我的文件真实存在的啊,还说找不到
这个很赞!
谢谢,解决了我的问题。
我的问题是file not found 采用了:一个问题就是fastCGI参数SCRIPT_FILENAME 是写死的。如果修改了root指令的值或者移动文件到别的目录,php-fpm会返回“No input file specified”错误,因为SCRIPT_FILENAME在配置中是写死的并没有随着$doucument_root变化而变化,我们可以修改SCRIPT_FILENAME配置如下:
解决了我的问题啊,
不错不错
谢谢。。。非常感谢
网络中那么多, 你是讲得最清楚, 最明白的