给DirectAdmin面板增加nginx前端
[ 2012/11/30 00:24 | by Totti ]
装好Directadmin面板之后,如果高并发流量进来,apache跑起来还是很吃力的.因此在前面装个nginx是很有必要的.但是由于我对 directadmin的api还不熟悉.对它绑定域名这块没有较好的方法.不能实现动静分离. 装上nginx也只是起到一个缓存和keepalive的作用.nginx监听80端口.apache监听81端口.
安装还是很简单的.我只在CentOS环境中测试.在Debian平台上没有测试.大家自己测试一下呗.OK.step by step...
第一步,安装nginx.这里我没有安装pcre库.伪静态 还是沿用apache的.htaccess.
cd /usr/local/src/
wget http://nginx.org/download/nginx-0.7.65.tar.gz
tar -zxf nginx-0.7.65.tar.gz
cd nginx-0.7.65
./configure --user=apache --group=apache --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/conf/nginx.conf --pid-path=/var/log/nginx/nginx.pid --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx_client --http-proxy-temp-path=/tmp/nginx_proxy --http-fastcgi-temp-path=/tmp/nginx_fastcgi --with-http_stub_status_module
make
make install
添加启动脚本
#! /bin/sh
ulimit -n 65535
# Description: Startup script for nginx
# chkconfig: 2345 55 25
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/sbin/$NAME
CONFIGFILE=/etc/nginx/conf/nginx.conf
PIDFILE=/var/log/nginx/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
do_reload() {
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
sleep 1
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
嗯嗯.这个脚本很熟悉吧,呵呵.记得赋予执行权限,chmod 755 /etc/init.d/nginx 接着设置nginx.conf.
mv /etc/nginx/conf/nginx.conf /etc/nginx/conf/nginx.conf.bak
mkdir /etc/nginx/conf/ips
vim /etc/nginx/conf/nginx.conf
输入以下内容
worker_processes 2;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
use epoll;
}
error_log /var/log/nginx/error.log info;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
gzip on;
gzip_http_version 1.0;
gzip_min_length 1100;
gzip_comp_level 3;
gzip_buffers 4 32k;
gzip_types text/plain text/xml text/css application/x-javascript application/xml application/xml+rss text/javascript application/atom+xml;
ignore_invalid_headers on;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 256;
client_header_buffer_size 256k;
large_client_header_buffers 4 256k;
request_pool_size 32k;
output_buffers 4 64k;
postpone_output 1460;
open_file_cache max=1000 inactive=300s;
open_file_cache_valid 600s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
include "/etc/nginx/conf/ips/*.conf";
}
在/etc/nginx/conf/ips路径下.添加监听的IP地址的虚拟主机配置,有多个IP.就添加多几个主机配置,以 192.168.2.1为例:
server {
listen 192.168.2.1:80;
server_name _;
access_log off;
error_page 400 401 402 403 404 405 406 407 408 409 500 501 502 503 504 @backend;
location @backend {
internal;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 32k;
proxy_buffers 256 32k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_pass http://192.168.2.1:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 32k;
proxy_buffers 256 32k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_pass http://192.168.2.1:81/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
上例中的error_page都转发到后端.
第二步,给apache安装rpaf模块
cd /usr/local/src/
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar -zxf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/sbin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
安装完了之后.编辑/etc/httpd/conf/httpd.conf文件.添加以下内容:
LoadModule rpaf_module /usr/lib/apache/mod_rpaf-2.0.so
#Mod_rpaf settings
RPAFenable On
RPAFproxy_ips 127.0.0.1 [your_ips]
RPAFsethostname On
RPAFheader X-Forwarded-For
[your_ips]改成你自己的监听IP
第三步,修改DirectAdmin设置
这一步要做的是修改默认apache的监听端口.需要对apache的配置有一定的认识.进入/usr/local/directadmin/data /templates目录.可以看到很多设置文件.这些文件都是默认建立账户或绑定域名时.directadmin会根据这些模板生成相关程序的参数配置 文件.
主要要修改的文件包括: ips_virtual_host.conf virtual_host2_sub.conf virtual_host.conf virtual_host_sub.conf httpd.conf redirect_virtual_host.conf virtual_host2.conf 在这些文件中,搜索"80",改成"81".这一步没什么好说的了.细心一点改.
此外还要修改已绑定域名的配置文件.位于/etc/httpd/conf /usr/local/directadmin/data/users/ 两处目录.进入以上路径后可以使用以下命令查找端口.
grep 80 . -r
端口还是改成"81".然后还是细心一点.最后重启一下nginx和httpd.完事了...
tip:1.建议关闭apache的Deflate模块.直 接在/etc/httpd/conf/httpd.conf中注释掉Deflate模块那一段.在第165行.
2.如果想要在httpd重启的时候一并重启nginx.可以在/etc/init.d/httpd中自行添加命令.
安装还是很简单的.我只在CentOS环境中测试.在Debian平台上没有测试.大家自己测试一下呗.OK.step by step...
第一步,安装nginx.这里我没有安装pcre库.伪静态 还是沿用apache的.htaccess.
cd /usr/local/src/
wget http://nginx.org/download/nginx-0.7.65.tar.gz
tar -zxf nginx-0.7.65.tar.gz
cd nginx-0.7.65
./configure --user=apache --group=apache --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/conf/nginx.conf --pid-path=/var/log/nginx/nginx.pid --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx_client --http-proxy-temp-path=/tmp/nginx_proxy --http-fastcgi-temp-path=/tmp/nginx_fastcgi --with-http_stub_status_module
make
make install
添加启动脚本
#! /bin/sh
ulimit -n 65535
# Description: Startup script for nginx
# chkconfig: 2345 55 25
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/sbin/$NAME
CONFIGFILE=/etc/nginx/conf/nginx.conf
PIDFILE=/var/log/nginx/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
do_reload() {
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
sleep 1
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
嗯嗯.这个脚本很熟悉吧,呵呵.记得赋予执行权限,chmod 755 /etc/init.d/nginx 接着设置nginx.conf.
mv /etc/nginx/conf/nginx.conf /etc/nginx/conf/nginx.conf.bak
mkdir /etc/nginx/conf/ips
vim /etc/nginx/conf/nginx.conf
输入以下内容
worker_processes 2;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
use epoll;
}
error_log /var/log/nginx/error.log info;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
gzip on;
gzip_http_version 1.0;
gzip_min_length 1100;
gzip_comp_level 3;
gzip_buffers 4 32k;
gzip_types text/plain text/xml text/css application/x-javascript application/xml application/xml+rss text/javascript application/atom+xml;
ignore_invalid_headers on;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 256;
client_header_buffer_size 256k;
large_client_header_buffers 4 256k;
request_pool_size 32k;
output_buffers 4 64k;
postpone_output 1460;
open_file_cache max=1000 inactive=300s;
open_file_cache_valid 600s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
include "/etc/nginx/conf/ips/*.conf";
}
在/etc/nginx/conf/ips路径下.添加监听的IP地址的虚拟主机配置,有多个IP.就添加多几个主机配置,以 192.168.2.1为例:
server {
listen 192.168.2.1:80;
server_name _;
access_log off;
error_page 400 401 402 403 404 405 406 407 408 409 500 501 502 503 504 @backend;
location @backend {
internal;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 32k;
proxy_buffers 256 32k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_pass http://192.168.2.1:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 32k;
proxy_buffers 256 32k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_pass http://192.168.2.1:81/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
上例中的error_page都转发到后端.
第二步,给apache安装rpaf模块
cd /usr/local/src/
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar -zxf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/sbin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
安装完了之后.编辑/etc/httpd/conf/httpd.conf文件.添加以下内容:
LoadModule rpaf_module /usr/lib/apache/mod_rpaf-2.0.so
#Mod_rpaf settings
RPAFenable On
RPAFproxy_ips 127.0.0.1 [your_ips]
RPAFsethostname On
RPAFheader X-Forwarded-For
[your_ips]改成你自己的监听IP
第三步,修改DirectAdmin设置
这一步要做的是修改默认apache的监听端口.需要对apache的配置有一定的认识.进入/usr/local/directadmin/data /templates目录.可以看到很多设置文件.这些文件都是默认建立账户或绑定域名时.directadmin会根据这些模板生成相关程序的参数配置 文件.
主要要修改的文件包括: ips_virtual_host.conf virtual_host2_sub.conf virtual_host.conf virtual_host_sub.conf httpd.conf redirect_virtual_host.conf virtual_host2.conf 在这些文件中,搜索"80",改成"81".这一步没什么好说的了.细心一点改.
此外还要修改已绑定域名的配置文件.位于/etc/httpd/conf /usr/local/directadmin/data/users/ 两处目录.进入以上路径后可以使用以下命令查找端口.
grep 80 . -r
端口还是改成"81".然后还是细心一点.最后重启一下nginx和httpd.完事了...
tip:1.建议关闭apache的Deflate模块.直 接在/etc/httpd/conf/httpd.conf中注释掉Deflate模块那一段.在第165行.
2.如果想要在httpd重启的时候一并重启nginx.可以在/etc/init.d/httpd中自行添加命令.
DirectAdmin 一键安装Capri模版
[ 2012/11/26 01:24 | by Totti ]
很多采用DirectAdmin作为控制面板的IDC,都为DA安装了商业模版-Capri 。有句话说的好:“上有政策、下有对策”,这套模版是收费的,但总有高人能够解决这个问题。
这款模版自带了中文语言,不需要二次汉化,安装过程只需几步。
1
wget http://www.hndzz.cn/attachment/capri/capri.sh
二、执行一键包安装
1、运行该包
1
sh capri.sh
2、根据提示操作
1)Please choose a skin name or enter to use default[capri]
翻译:请输入皮肤名称,默认:Capri。
无需填写,直接回车即可。
2)Please choose a color set(1:blue,2:grey)[1]:1
翻译:请选择颜色,1:蓝色,2:灰色,默认:蓝色
请根据自己需要选择。
3)Would you like to install the login page skin?(y/n)[y]
翻译:你需要在登陆页安装皮肤吗?默认:要
根据实际情况选择。
4)Capri skin also have a email-only version for users who have a email services.Would you like to install a secondemail-only sky(will be called Capri-mail)?
翻译:是否安装Capri邮件系统皮肤?默认不安装。
建议不安装。
这款模版自带了中文语言,不需要二次汉化,安装过程只需几步。
1
wget http://www.hndzz.cn/attachment/capri/capri.sh
二、执行一键包安装
1、运行该包
1
sh capri.sh
2、根据提示操作
1)Please choose a skin name or enter to use default[capri]
翻译:请输入皮肤名称,默认:Capri。
无需填写,直接回车即可。
2)Please choose a color set(1:blue,2:grey)[1]:1
翻译:请选择颜色,1:蓝色,2:灰色,默认:蓝色
请根据自己需要选择。
3)Would you like to install the login page skin?(y/n)[y]
翻译:你需要在登陆页安装皮肤吗?默认:要
根据实际情况选择。
4)Capri skin also have a email-only version for users who have a email services.Would you like to install a secondemail-only sky(will be called Capri-mail)?
翻译:是否安装Capri邮件系统皮肤?默认不安装。
建议不安装。
Centos 6.0 安装桌面
[ 2012/11/22 10:35 | by Totti ]
[root@localhost ~]# yum groupinstall "X Window System"
[root@localhost ~]# yum groupinstall "Desktop"
[root@xen ~]# yum install tigervnc tigervnc-server
添加启动项
[root@xen ~]# chkconfig --add vncserver
[root@xen ~]# chkconfig vncserver on
[root@localhost ~]# yum groupinstall "Desktop"
[root@xen ~]# yum install tigervnc tigervnc-server
添加启动项
[root@xen ~]# chkconfig --add vncserver
[root@xen ~]# chkconfig vncserver on
proftpd 更换成 pureftpd
[ 2012/06/24 01:24 | by Totti ]
Apache两种工作模式区别及配置切换
[ 2012/06/11 22:11 | by Totti ]
centos 查看HTTP连接数和负载分析
[ 2012/04/24 00:08 | by Totti ]
ps -ef|grep httpd|wc -l
netstat -nat|grep -i "80" |wc -l
netstat -na|grep ESTABLISHED|wc -l
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
1、查看apache当前并发访问数:
netstat -an | grep ESTABLISHED | wc -l
对比httpd.conf中MaxClients的数字差距多少。
2、查看有多少个进程数:
ps aux|grep httpd|wc -l
3、可以使用如下参数查看数据
server-status?auto
#ps -ef|grep httpd|wc -l
1388
统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。
#netstat -nat|grep -i "80"|wc -l
4341
netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。
最终返回的数字就是当前所有80端口的请求总数。
#netstat -na|grep ESTABLISHED|wc -l
376
netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。
最终返回的数字就是当前所有80端口的已建立连接的总数。
netstat -nat||grep ESTABLISHED|wc - 可查看所有建立连接的详细记录
查看Apache的并发请求数及其TCP连接状态:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
(这条语句是从 新浪互动社区事业部 新浪互动社区事业部技术总监王老大那儿获得的,非常不错)返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。
---------------------------------------------------------------------------------------------
查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
Linux命令:
ps -ef | grep httpd | wc -l
查看Apache的并发请求数及其TCP连接状态:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
说明:
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。
实时检测HTTPD连接数:
watch -n 1 -d "pgrep httpd|wc -l"
netstat -nat|grep -i "80" |wc -l
netstat -na|grep ESTABLISHED|wc -l
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
1、查看apache当前并发访问数:
netstat -an | grep ESTABLISHED | wc -l
对比httpd.conf中MaxClients的数字差距多少。
2、查看有多少个进程数:
ps aux|grep httpd|wc -l
3、可以使用如下参数查看数据
server-status?auto
#ps -ef|grep httpd|wc -l
1388
统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。
#netstat -nat|grep -i "80"|wc -l
4341
netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。
最终返回的数字就是当前所有80端口的请求总数。
#netstat -na|grep ESTABLISHED|wc -l
376
netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。
最终返回的数字就是当前所有80端口的已建立连接的总数。
netstat -nat||grep ESTABLISHED|wc - 可查看所有建立连接的详细记录
查看Apache的并发请求数及其TCP连接状态:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
(这条语句是从 新浪互动社区事业部 新浪互动社区事业部技术总监王老大那儿获得的,非常不错)返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。
---------------------------------------------------------------------------------------------
查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
Linux命令:
ps -ef | grep httpd | wc -l
查看Apache的并发请求数及其TCP连接状态:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
说明:
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。
实时检测HTTPD连接数:
watch -n 1 -d "pgrep httpd|wc -l"
LNMP一键安装包-CentOS 5/6下自动编译安装Nginx,MySQL,PHP,memcached
[ 2012/03/15 14:50 | by Totti ]
http://www.centos.bz/lnmp/