Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Grundkonfiguration und Parameter von Nginx
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ürLinux2.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 includemime.types; default_type application/octet-stream;
#Protokollformat festlegen
log_
format 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
IndexName 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!