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 23:45
下一篇 2016-05-03 09:28

相关推荐

  • 如何练好yum的一招一式

      工作时间越久,就越有这样一个深刻体会,一个新知识或者新的技能一个人学习起来并不会觉得吃力,反而要想把你学习的新知识或者新技能给讲清楚让普通人听得懂才是最难的,之前我写过一篇博客讲述linux下的RPM包管理器,今天写的练好yum的一招一式,同样都是都是在linux系统的软件包的安装、卸载、升级等功能的,为什么我们还需要yum那,记得一位大哲学家…

    Linux干货 2015-11-10
  • shell变量的浅谈

    变量本质上是存储数据的一个或多个计算机内存地址,变量的命令规则包括: 1) 不能使用程序中的保留字,如if, for 2) 变量由字母、下划线和数字组成,且不能以数字开头 3) 要求风名知义 4) 统一命名规则:驼峰命名法 变量主要分为本地变量、环境变量、局部变量、位置变量和特殊变量 (1)本地变量:只对当前shell…

    2017-08-05
  • 第九周:shell脚本之判断练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i LoginUser=0 declare -i NologinUser=0 while r…

    Linux干货 2016-11-21
  • DNS服务

    名字解析,DNS服务,实现主从服务器,实现子域

    2018-01-22
  • 网络管理

    vpn:virtual private network RJ-45:类似电话接头  电话线接头为RJ-11 hub:集线器,多端口中继器,不具有记忆功能 switch:交换机 router:路由器 物理拓扑分类:总线,环装,星型 OSI:国际网络标准,实际采用为TCP/IP OSI七层模型:应用层:application   表…

    Linux干货 2016-09-05
  • N25第一周作业

    一.计算机基础知识     1.计算机是什么?         计算机是一种能够按照指令对各种信息进行自动加工和处理的电子设备     2.计算机的组成?       &…

    Linux干货 2016-12-06