nginx反向代理优化(文件描述符)

WBOY
Freigeben: 2016-08-08 09:24:21
Original
1096 Leute haben es durchsucht

lsof工具

文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。Linux操作系统通常给每个进程能打开的文件数量强加一个限制,Linux通常有一个系统级1024的限制。
随着并发的增大,原有系统默认的1024个文件描述符肯定会不够用,时间越长,系统可能会报如下错误:

open files limits…..

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

<code>lsof <span>| grep nginx</span></code>
Nach dem Login kopieren

部分结果

<code>nginx     <span>6845</span>    nobody    <span>6</span>u     <span>IPv4</span><span>179045</span>      0t<span>0</span><span>TCP</span> *<span>:http</span> (<span>LISTEN</span>)
nginx     <span>6845</span>    nobody    <span>7</span>u     <span>IPv4</span><span>179046</span>      0t<span>0</span><span>TCP</span> *<span>:ddi-tcp-</span><span>1</span> (<span>LISTEN</span>)
nginx     <span>6845</span>    nobody    <span>8</span>u     unix <span>0xffff88005eda0c80</span>      0t<span>0</span><span>179050</span> socket
nginx     <span>6845</span>    nobody    <span>9</span>u      <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode
nginx     <span>6845</span>    nobody   <span>10</span>u      <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode</code>
Nach dem Login kopieren

*注:第二行是nginx的进程编号

<code><span># 统计nginx进程打开了多少个文件数可以用下边的命令</span>lsof <span>|grep nginx|wc –l</span></code>
Nach dem Login kopieren

方法1:

上边部分结果的第二列是nginx的进程号

<code><span>cd</span> /prec/<span>6845</span></code>
Nach dem Login kopieren


可以看到这个进程生成的文件,然后看limits文件

<code>more limits</code>
Nach dem Login kopieren


第八行,Max open files是51200,(默认是1024),这是因为

我在nginx.conf里面顶格加了一行:

<code>worker_rlimit_nofile 51200;</code>
Nach dem Login kopieren

方法二:

执行:

<code>ulimit <span>-a</span></code>
Nach dem Login kopieren


执行:

<code>ulimit <span>-SHn</span><span>65535</span></code>
Nach dem Login kopieren

即可

方法三:

<code>[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span>
fs.<span>file</span>-<span>max</span> = <span>201604</span>
[root<span>@localhost</span><span>6845</span>]#</code>
Nach dem Login kopieren

执行:

<code>[root<span>@localhost</span><span>6845</span>]# sysctl -w fs.<span>file</span>-<span>max</span>=<span>65535</span>
fs.<span>file</span>-<span>max</span> = <span>65535</span>
[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span>
fs.<span>file</span>-<span>max</span> = <span>65535</span></code>
Nach dem Login kopieren

要想永久生效编辑:

<code>vim /etc/sysctl<span>.conf</span></code>
Nach dem Login kopieren

文件,添加如下一行:

<code>fs.<span>file</span>-<span>max</span>=<span>65535</span></code>
Nach dem Login kopieren

然后执行如下命令使生效:

<code>sysctl <span>-p</span></code>
Nach dem Login kopieren

以上就介绍了nginx反向代理优化(文件描述符),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!