tcpdump诊断nginx问题

自从上级公司离职后,快一年的时间没有写php程序和搭建LNMP环境,一直在做db运维和运维工具开发方面的事情。

最近决定开发开发一些自动话方面工具,重新拾起php,于是在测试机上搭建一个LNMP环境。

1、 nginx 404错误

一般的出现404错误,找不到页面资源。首先用strace排除了存在文件访问权限的问题,其次nginx的root参数设置也没有任何问题。

在配置好nginx和vhost之后,发现一直出现404错误和提示“File Not found”.

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"

请教了一下同事斌哥,他用tcpdump抓包发现问题, 发现SCRIPT_FILENAME参数多出了一个script.

# 错误的配置
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
# 正确的配置
fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;

通过tcpdump抓取php-fpm的9000端口的接受到的请求。

2、tcdump分析http报文头部数据

tcpdump -Xx -i any -nn port 9000

从下面的数据发现,资源路径多出了一个scripts。

1.png

转自:http://mdba.cn/?p=729

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2463

(1)
s19930811s19930811
上一篇 2016-05-01
下一篇 2016-05-03

相关推荐

  • quota AND raid

    1.磁盘配额 将home目录独立出来单独的分区,限制用户的使用。 (1)先创建分区,如下图的分区sda6 (2)命令同步系统的新增加分区:partx –a /dev/sda (3)命令格式化新分区:     (4)把创建的设备挂载到/mnt/home下    (5)迁移数据,移动之前要确保home分区没有使用。权限是保…

    Linux干货 2016-09-19
  • ​Linux基础知识之screen命令详解

    该博文以CentOS6.8_x86_64系统为基础,Xshell5远程登录CentOS6.8系统,以root身份登录系统,以Xshell5发起screen帮助,用系统命令行界面去连接。 screen命令:         打开新的screen: screen -S [SESSION]   (打开一个名叫hel…

    Linux干货 2016-07-29
  • 管道及重定向

    管道及重定向 1、重定向 在Linux中有时我们在命令的执行过程中,不想将执行结果显示到屏幕上,或者将其结果输出到其他位置 这时就需要重定向来解决这个问题了 首先了解一下Linux中的3种I/O设备: 0:标准输入 1:标准输出 2:标准错误输出 输出重定向:> >> 输入重定向: < << >:将标准输出重定向到文…

    Linux干货 2017-07-28
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • Linux 目录结构

    1.    前言      Linux 是一种开源的,且非常流行的操作系统,发行版本众多。为了统一和规范linux系统的主要目录名及其用途,提出了FHS标准,FHS是File Hierarchy Standard的简写。Linux 目录结构采用FHS…

    Linux干货 2016-10-18
  • Linux的软件包管理(RPM)

    软件包管理(RPM)   本章节内容:   软件运行环境   软件包基础  Rpm包管理   一、软件运行环境(了解API和ABI)  API:应用程序开发接口,POSIX国际标准。  程序源代码–> 预处理–> 编译–&…

    Linux干货 2016-08-21