Loading... <p>自从上级公司离职后,快一年的时间没有写php程序和搭建LNMP环境,一直在做db运维和运维工具开发方面的事情。</p> <p>最近决定开发开发一些自动话方面工具,重新拾起php,于是在测试机上搭建一个LNMP环境。</p> <p><strong style="background-color: transparent;border: 0px;margin: 0px;padding: 0px;vertical-align: baseline;line-height: 40px">1、 nginx 404错误</strong></p> <p>一般的出现404错误,找不到页面资源。首先用strace排除了存在文件访问权限的问题,其次nginx的root参数设置也没有任何问题。</p> <p>在配置好nginx和vhost之后,发现一直出现404错误和提示“File Not found”.</p> <pre class="brush:python;toolbar:false">2015/02/05 15:28:56 [error] 15627#0: *14 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"</pre> <p>请教了一下同事斌哥,他用tcpdump抓包发现问题, 发现SCRIPT_FILENAME参数多出了一个script.</p> <pre class="brush:python;toolbar:false"># 错误的配置 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # 正确的配置 fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;</pre> <p>通过tcpdump抓取php-fpm的9000端口的接受到的请求。</p> <p><strong style="background-color: transparent;border: 0px;margin: 0px;padding: 0px;vertical-align: baseline;line-height: 40px">2、tcdump分析http报文头部数据</strong></p> <pre class="brush:python;toolbar:false">tcpdump -Xx -i any -nn port 9000</pre> <p>从下面的数据发现,资源路径多出了一个scripts。</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703184316-76.png" title="1428029676349466.png" alt="1.png" /></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信