想得到当前互联网公司的web server是哪个类型的?(Apache Nginx Lighttpd)所以编写此程序。主要统计baidu Google alibaba tencent(qq) taobao renren sina 京东 凡客 yahoo 盛大 网易 搜狐 畅游 等公司的web server 。当然,也有可能得到的是反向代理服务器。这得具体看公司的后台系统架构了。
二.程序
1.源码
vi ab.sh
#!/bin/bash #author longxibendi #blog #function get the web servers information of companies' if [ -e /tmp/web_server.log ] ;then rm -f /tmp/web_server.log fi if [ -e /tmp/ab.log ] ; then rm -f /tmp/ab.log fi for company_name in taobao 360buy dangdang vancl mbaobao alibaba google baidu yahoo sina sohu ren ren changyou wanmei sdo 126 163 139 do { ab -n 1 -c 1 http://www.${company_name}.com/index.html | tee /tmp/ab_${company_name}.log 2>&1 if [ $? -eq 0 ] ; then printf "%15s, %20s\n" "${company_name}.com", " ` cat /tmp/ab_${company_name}.log | grep "Server Software" ` " >> /tmp/web_server.log fi sleep 2 }& done wait echo "It is OK "
2.说明&执行程序
通过ab 网站主页,然后把得到信息重定向到 一个文件中,然后再从该文件中过滤信息,统一记录到 /tmp/web_server.log中
[root@localhost Desktop]# chmod a+x ab.sh [root@localhost Desktop]# ./ab.sh > /dev/null
3.执行结果,通过查看 /tmp/web_server.log 得到网站web server信息(有可能是反向代理服务器)
[root@localhost Desktop]# cat /tmp/web_server.log 360buy.com,, Server Software: jdws taobao.com,, Server Software: nginx mbaobao.com,, Server Software: baidu.com,, Server Software: BWS/1.0 renren.com,, Server Software: nginx/0.7.67 google.com,, Server Software: gws changyou.com,, Server Software: Apache sina.com,, Server Software: Apache/2.0.63 alibaba.com,, Server Software: Apache/2.2.15 126.com,, Server Software: Apache vancl.com,, Server Software: Microsoft-IIS/6.0 wanmei.com,, Server Software: nginx sdo.com,, Server Software: SVS sohu.com,, Server Software: SWS dangdang.com,, Server Software: nginx/0.7.61 yahoo.com,, Server Software: YTS/1.20.0 139.com,, Server Software: Apache 163.com,, Server Software: nginx
4.简单分析结果
sohu.com 用的 web server 是 SWS (这个有可能是自己开发的,有可能是用的SWS)
google.com 用的 web server 是 gws
baidu.com 用的 web server 是 BWS
taobao.com 用的 web server 是 nginx
还有很多,看3的结果
三.伪多线程与单进程脚本对比
1.先看单进程的程序
vi 1_ab.sh