Heim >Backend-Entwicklung >PHP-Tutorial >Nginx-Reverse-Proxy-Optimierung (Dateideskriptor)

Nginx-Reverse-Proxy-Optimierung (Dateideskriptor)

WBOY
WBOYOriginal
2016-08-08 09:24:211182Durchsuche

lsof-Tool

Der Dateideskriptor ist eine einfache Ganzzahl, die jede vom Prozess geöffnete Datei und jeden Socket identifiziert. Die erste geöffnete Datei ist 0, die zweite ist 1 und so weiter. Linux-Betriebssysteme begrenzen normalerweise die Anzahl der Dateien, die jeder Prozess öffnen kann, und Linux hat normalerweise ein Limit auf Systemebene von 1024.
Mit zunehmender Parallelität reichen die standardmäßigen 1024-Dateideskriptoren des ursprünglichen Systems definitiv nicht aus. Je länger die Zeit, desto mehr meldet das System möglicherweise den folgenden Fehler:

Limits für offene Dateien…..

Um die vom Nginx-Prozess belegten Dateideskriptoren anzuzeigen, können Sie den folgenden Befehl ausführen:

<code>lsof <span>| grep nginx</span></code>

Teilergebnisse

<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>

*Hinweis: Die zweite Zeile ist die Prozessnummer von Nginx

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

Methode 1:

Die zweite Spalte des obigen Ergebnisses ist die Prozessnummer von Nginx

<code><span>cd</span> /prec/<span>6845</span></code>


Sie können die durch diesen Prozess generierten Dateien sehen und sich dann die Grenzwertdatei

<code>more limits</code>


ansehen Die achte Zeile, Max open files ist 51200 (Standard ist 1024), das liegt daran, dass

ich im oberen Feld von nginx.conf eine Zeile hinzugefügt habe:

<code>worker_rlimit_nofile 51200;</code>

Methode 2:

Ausführung:

<code>ulimit <span>-a</span></code>


Ausführen:

<code>ulimit <span>-SHn</span><span>65535</span></code>

dann

Methode 3:

<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>

Ausführen:

<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>

Wenn Sie möchten Um es dauerhaft zu machen, bearbeiten Sie die Datei

<code>vim /etc/sysctl<span>.conf</span></code>

, fügen Sie die folgende Zeile hinzu:

<code>fs.<span>file</span>-<span>max</span>=<span>65535</span></code>

und führen Sie dann den folgenden Befehl aus, damit er wirksam wird:

<code>sysctl <span>-p</span></code>

Das Obige stellt die Nginx-Reverse-Proxy-Optimierung (Dateideskriptor) vor, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
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