CentOS下给Nginx反向代理做优化

87324554 2011-05-18

系统环境:CentOS 5.5 X86

对于前端nginx的七层反向代理,时间长了,它会占用系统很多的文件描述符。随着并发的增大,原有系统默认的1024个文件描述符肯定会不够用,时间越长,系统可能会报如下错误:

open files limits…..

文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。Linux操作系统通常给每个进程能打开的文件数量强加一个限制,Linux通常有一个系统级1024的限制。

查看nginx进程所占用的文件描述符,可以执行命令:

lsof :list open files,该命令用于列出打开的文件

lsof |grep nginx|more

如图所示:

CentOS下给Nginx反向代理做优化

如果要统计某个进程打开了多少个文件数,可以通过这个命令执行:

lsof |grep nginx|wc –l

图中第二列为nginx进程ID号,也可以根据进程ID去查看nginx当前打开了哪些文件描述符,执行命令:

cd /proc/9811

CentOS下给Nginx反向代理做优化

这个目录里可以看到与这个进程的相关信息。

可以看到nginx的进程ID 9811会在/proc目录中生成,可以看看limits文件,执行:

more limits

CentOS下给Nginx反向代理做优化

相关推荐