lsof ツール
ファイル記述子は、プロセスによって開かれた各ファイルとソケットを識別する単純な整数です。最初に開かれたファイルは 0、2 番目のファイルは 1、というようになります。 Linux オペレーティング システムでは通常、各プロセスで開くことができるファイルの数に制限があり、Linux のシステム レベルの制限は通常 1024 です。
同時実行性が増加すると、元のシステムのデフォルトの 1024 個のファイル記述子では明らかに不十分になり、時間が長くなると、システムは次のエラーを報告する可能性があります:
オープン ファイルの制限...
nginx プロセスによって占有されているファイルを表示します。記述子、次のコマンドを実行できます:
<code>lsof <span>| grep nginx</span></code>
部分結果
<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>
*注: 2 行目は nginx のプロセス番号です
<code><span># 统计nginx进程打开了多少个文件数可以用下边的命令</span>lsof <span>|grep nginx|wc –l</span></code>
方法 1:
上記の部分結果の 2 列目は nginx のプロセス番号です
りー
このプロセスによって生成されたファイルを確認してから、制限ファイルを確認してください
<code><span>cd</span> /prec/<span>6845</span></code>
8 行目、最大オープン ファイル数は 51200 (デフォルトは 1024) です。これは、
nginx.conf の上部ボックスに次の行を追加したためです:
<code>more limits</code>
Method 2:
Execution:
<code>worker_rlimit_nofile 51200;</code>
実行:
<code>ulimit <span>-a</span></code>
以上です
方法 3:
<code>ulimit <span>-SHn</span><span>65535</span></code>
実行:
<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>
永続的に有効にするには、編集:
<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>
ファイルに次の行を追加します:
<code>vim /etc/sysctl<span>.conf</span></code>
次に、次のコマンドを実行して有効にします。 :
<code>fs.<span>file</span>-<span>max</span>=<span>65535</span></code>
以上、nginx リバースプロキシ最適化 (ファイル記述子) について内容を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。