当前请求页面的用户

我在我的shell上写了这个命令来获取当前的请求到服务器

ps aux | grep php | wc -l

结果:68

所以这个命令返回68当前浏览我的服务器上的一些网站,据我所知,我也写了

ps aux | grep httpd | wc -l

结果12

哪一个是当前在我的服务器上请求页面的人的电话号码? 第二个问题,我可以得到所要求的页面,正是他们的前例。 /home/user1/public_html/page.php预先感谢

你上面的例子捕捉了多less个php和httpd的运行过程,它们不会真的显示你的连接。 如果你只是想粗略的了解连接,你可以试试netstat -an | grep :80 | wc -l netstat -an | grep :80 | wc -l netstat -an | grep :80 | wc -l将向您显示端口80的连接总数(处于活动状态和等待状态)。

要真正得到页面请求,服务器负载和用户跟踪指标,你会想看看像MRTG或仙人掌。

扩大答案:

上面的命令显示所有连接到您检查的任何端口,但不区分活动连接或其他不同的状态,如TIME_WAIT和CLOSE_WAIT,也不是通过虚拟主机将其分解,只是将此服务器上的所有连接都连接到X端口。

如果您运行不带wc -lpipe道的命令,则会看到不同的状态,包括ESTABLISHED,TIME_WAIT和CLOSE_WAIT。

CLOSE_WAIT表示对方closures了连接。 TIME_WAIT表示本地已closures连接。

这些连接保持几分钟,以确保任何延迟的数据包匹配并正确传送。

当客户端请求进入你的web服务器(apache,nginx,iis,lighthttp等)处理客户端请求并加载文件。 如果它发现它包含php代码,那么将它交给php解释器,然后连接到像postgres或者mysql这样的数据库,或者把它交给你的web服务器,然后把它传递给客户端。

你会发现你的web服务器和php通常能够处理数百个客户端请求,所以当你可能有100多个客户端连接时,你可能只有1-10个httpd进程,因为每个工作进程正在处理多个客户端请求。

你说netstat -an | grep :80 | wc -l的事实 netstat -an | grep :80 | wc -l netstat -an | grep :80 | wc -l返回3500结果权证调查。 出于好奇,我检查了我们目前推送1.1Mbitstream量的最重的负载生产服务器,发现它在我们服务器内容的不同端口之间只有141个连接,但是如果你的站点是高stream量而不是基于会话,那么这是合法的。

如果你真的好奇发生了什么,那么只有监测可以告诉你。 Cacti会给你一个关于带宽和服务器负载的好主意,而像Apache mod_status,MRTG或Awstats这样的东西可以让你更好地了解每个虚拟主机的stream量,并分析访问者和页面stream量的指标。

如果你只是想要一些粗略的数据,你可以通过netstat -an | grep :80 | grep ESTABLISHED | wc -l将一个状态input到上面 netstat -an | grep :80 | grep ESTABLISHED | wc -l netstat -an | grep :80 | grep ESTABLISHED | wc -l将向您显示ESTABLISHED到端口80的连接数,忽略CLOSE_WAIT和TIME_WAIT。 即使只是给你一个粗略的想法,有多less人连接到你的服务器,要了解人们如何使用你的网站(s)你需要去外部应用程序的路线。

希望这可以帮助。