Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Grundkonfiguration und Parameter von Nginx

Detaillierte Erläuterung der Grundkonfiguration und Parameter von Nginx

高洛峰
高洛峰Original
2017-03-12 13:44:081670Durchsuche

In diesem Artikel werden die grundlegenden Konfigurationen und Parameter von Nginx ausführlich erläutert.

Benutzer niemand;

#Starten Sie den Prozess, der normalerweise auf die Anzahl der CPUs eingestellt ist

worker_processes 1;

#Globales Fehlerprotokoll und PID-Datei

#error_log logs/error.log;

#error_log logs/error.log Hinweis;

#error_log logs/error.log info;

#pid logs/nginx.pid;

#Arbeitsmodusund maximale Anzahl von Verbindungen

Ereignisse {

#epoll ist eine Methode zum Multiplexen von IO (I/O-Multiplexing),

#Nur für

Linux2.6 oder höher verwendet Kernel, kann die Leistung von Nginx erheblich verbessern

use epoll;

#Die maximale Anzahl gleichzeitiger Verbindungen für einen einzelnen Hintergrund-Worker-Prozess

worker_connections 1024;

#Die Gesamtzahl der gleichzeitigen Verbindungen ist das Produkt aus worker_processes und worker_connections

# Das heißt, max_clients = worker_processes * worker_connections

# Wenn ein Reverse-Proxy festgelegt ist, gilt max_clients = worker_processes * worker_connections / 4 Warum

# Warum sollte der obige Reverse-Proxy durch 4 geteilt werden? Es handelt sich um einen Erfahrungswert

# Gemäß den oben genannten Bedingungen ist die maximale Anzahl von Verbindungen, die Nginx Der Server kann unter normalen Umständen Folgendes verarbeiten: 4 * 8000 = 32000

# Die Einstellung des worker_connections-Werts hängt von der Größe des physischen Speichers ab

# Da die Parallelität IO

-Einschränkungen unterliegt , der Wert von max_clients muss kleiner sein als die maximale Anzahl von Dateien, die das System öffnen kann

# Die maximale Anzahl von Dateien, die vom System geöffnet werden können, ist im Allgemeinen proportional zur Speichergröße. Die Anzahl der Dateien, die auf einem Computer mit 1 GB Speicher geöffnet werden können, beträgt etwa 100.000

# Werfen wir einen Blick auf die Dateihandles, die von einem VPS mit 360 MB Speicher geöffnet werden können. Wie hoch ist die Anzahl?

# $ cat /proc/sys/fs/

file-max

# Output 34336

# 32000 < Die Gesamtzahl der gleichzeitigen Verbindungen ist geringer als die Gesamtzahl der Dateihandles, die das System öffnen kann, was innerhalb des Bereichs liegt, den das Betriebssystem ertragen kann

# Daher muss der Wert von worker_connections basierend auf ermittelt werden die Anzahl der worker_processes-Prozesse und die maximale Gesamtzahl der Dateien, die das System öffnen kann

# Machen Sie die Gesamtzahl der gleichzeitigen Verbindungen kleiner als die maximale Anzahl der Dateien, die das Betriebssystem öffnen kann

# Das Wesentliche ist, es entsprechend der physischen CPU und dem Speicher des Hosts zu konfigurieren

# Natürlich kann die theoretische Gesamtzahl der Parallelitäten von der tatsächlichen Anzahl abweichen, da der Host über andere Arbeitsvorgänge verfügt Prozesse, die Systemressourcen verbrauchen müssen.

# ulimit -SHn 65535

}

http {

#Legen Sie den MIME-Typ fest, der Typ wird durch die mime.type-Datei

include

mime.types; default_type application/octet-stream;

#Protokollformat festlegen

log_

for

mat main '$remote_addr - $remote_user [$time_local] "$request" ' ' $status $body_bytes_sent " $http_referer " '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

#sendfile-Direktive gibt an, ob Nginx die Sendfile-Funktion (Null-Kopieren)-Methode aufruft ) zum Ausgeben von Dateien,

#Für normale Anwendungen muss es aktiviert sein,

#Wenn es für Festplatten-IO-Hochlastanwendungen wie Herunterladen verwendet wird, es kann ausgeschaltet werden,

#Um die Geschwindigkeit der Festplatten- und Netzwerk-E/A-Verarbeitung auszugleichen und die Systemverfügbarkeit zu reduzieren.

sendfile on;

#tcp_nopush on;

#Connection timeout

#keepalive_timeout 0;

keepalive_timeout 65;

tcp_nodelay on;

#G aktivierenzipKomprimierung

gzip on;

gzip_disable "MSIE [1-6].";

#Set request buffer

client_head er_buffer_size 128k;

large_client_header_buffers 4 128k;

#EinstellungenVirtueller HostKonfiguration

Server {

#Listening 8 Port 0

                                                                                                                               #Definieren Sie den standardmäßigen Standort des Website-Stammverzeichnisses des Servers

root html;

#Legen Sie das Zugriffsprotokoll dieses virtuellen Hosts fest

access_log logs/nginx .access.log main; #Standardanforderung

Standort / {

#Homepage definieren

Index

Name der Datei

index index.php index.html index.html; location = /50x.html {

                                                                                                                                .

|js|css|flash|media|

statisch)/ {

                                                                                                                                                                                           ,

          #Wenn Sie häufig aktualisieren, können Sie den Wert kleiner einstellen.

läuft 30 Tage ab;

}

#PHP-Skriptanfragen werden alle zur Verarbeitung an FastCGI weitergeleitet.

Speicherort ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_para ms;

}

#Kein Zugriff auf .htxxx-Dateien

Speicherort ~ /.ht {

verweigern alle;

}

🎜>

}

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Grundkonfiguration und Parameter von Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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