Heim Backend-Entwicklung PHP-Tutorial Detaillierte Erläuterung der Nginx-Hochleistungskonfiguration

Detaillierte Erläuterung der Nginx-Hochleistungskonfiguration

Jul 29, 2016 am 09:09 AM
gzip nginx open worker

Nach dem Login kopieren
Detaillierte Erläuterung der Nginx-Konfiguration
#Globale Konfiguration
#Konfiguration auf hoher Ebene
Benutzer www-data#Benutzerstandardkonfiguration ausführen
pid /var/run/nginx.pid;#Portnummer Standardkonfiguration
worker_processes 8;#Definiert die Anzahl der Worker-Prozesse, wenn Nginx Webdienste für die Außenwelt bereitstellt
#Der optimale Wert hängt von vielen Faktoren ab, einschließlich (aber nicht beschränkt auf) der Anzahl der CPU-Kerne Anzahl der Festplatten, auf denen Daten gespeichert sind, und der Lademodus
#Normalerweise auf die Anzahl der CPUs eingestellt (bei Einstellung auf „Auto“ wird versucht, diese automatisch zu erkennen)
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 10000000; #Ordnen Sie 8 CPUs 8 Prozesse zu. Natürlich können Sie mehr schreiben oder einen Prozess mehreren CPUs zuweisen
worker_rlimit_nofile 200000;#Ändern Sie die maximale Anzahl geöffneter Dateien des Worker-Prozesses
#Wenn nicht festgelegt, dieser Wert ist das Limit des Betriebssystems
#Nachdem Sie es festgelegt haben, können Ihr Betriebssystem und Nginx mehr Dateien als „ulimit -a“ verarbeiten. Stellen Sie diesen Wert daher hoch ein, damit Nginx nicht über „zu viele offene Dateien“ verfügt. Problem
# Wenn Sie 10240 eingeben, beträgt die Gesamtparallelität. Wenn 30.000 bis 40.000 erreicht werden, kann die Anzahl der Prozesse 10.240 überschreiten und ein 502-Fehler wird zurückgegeben.
#Dieser Befehl bezieht sich auf die maximale Anzahl von Dateideskriptoren Der theoretische Wert sollte die maximale Anzahl geöffneter Dateien (ulimit -n) geteilt durch die Anzahl der Nginx-Prozesse sein, aber Nginx-Zuweisungsanforderungen sind nicht so einheitlich, daher ist es am besten, ihn mit dem Wert konsistent zu halten of ulimit -n
events {
worker_connections 102400; #Legen Sie die Verbindungen fest, die von einem Worker-Prozess gleichzeitig geöffnet werden können. Maximale Anzahl von Verbindungen
#Wenn die oben erwähnte worker_rlimit_nofile festgelegt ist, können wir festlegen dieser Wert ist sehr hoch.
#Wichtig: Die maximale Anzahl von Clients ist auch durch die Anzahl der verfügbaren Socket-Verbindungen im System begrenzt (~ 64K), daher bringt es keinen Vorteil, eine unrealistisch hohe Zahl festzulegen.
#Theoretisch ist die maximale Anzahl von Verbindungen für jeden Nginx-Server sind worker_processes*worker_connections
multi_accept on; #Sagen Sie Nginx, dass es nach Erhalt einer neuen Verbindungsbenachrichtigung so viele Verbindungen wie möglich akzeptieren soll
verwenden Sie epoll; #Legen Sie die Abfragemethode für die Wiederverwendung von Client-Threads fest
}
http {
server_tokens off; #Es führt nicht dazu, dass Nginx schneller ausgeführt wird, aber es kann die Nginx-Versionsnummer auf der Fehlerseite deaktivieren, was der Sicherheit dient.
Sendfile aktivieren ( ) kommt ins Spiel
tcp_nopush on; #Sagen Sie Nginx, dass es alle Header-Dateien in einem Paket senden soll, anstatt sie nacheinander zu senden
tcp_nodelay on; Stückweise – Wenn Daten rechtzeitig gesendet werden müssen, sollte dieses Attribut auf die Anwendung festgelegt werden, damit der Rückgabewert beim Senden einer kleinen Dateninformation nicht sofort abgerufen werden kann
access_log off; #Legen Sie fest, ob Nginx dies tun wird Zugriffsprotokolle speichern. Das Deaktivieren dieser Option kann Lese-/Festplatten-E/A-Vorgänge beschleunigen (auch bekannt als YOLO).
error_log /var/log/nginx/error.log crit; weist ein Keep-Alive-Link-Timeout zu. Nach diesem Timeout schließt der Server den Link. Wir setzen es niedriger, damit ngnix länger weiterarbeiten kann
client_header_timeout 10; #Legen Sie das Timeout für den Anforderungsheader fest. Wir können dies auch niedriger einstellen.
client_body_timeout 10; #Legen Sie das Timeout für den Anfragetext fest. Wir können dies auch niedriger einstellen.
reset_timedout_connection on; #Nginx anweisen, nicht reagierende Clientverbindungen zu schließen. Dadurch wird der von diesem Client belegte Speicherplatz freigegeben.
send_timeout 10;#Geben Sie das Antwort-Timeout des Clients an. Diese Einstellung wird nicht auf die gesamte Weiterleitung angewendet, sondern zwischen Client-Lesevorgängen. Wenn der Client in diesem Zeitraum keine Daten liest, schließt nginx die Verbindung
limit_conn_zone $binary_remote_addr z>
#Legen Sie die Parameter des gemeinsam genutzten Speichers fest, der zum Speichern verschiedener Schlüssel verwendet wird (z. B. die aktuelle Anzahl der Verbindungen). . #5m ist 5 Megabyte. Dieser Wert sollte groß genug eingestellt werden, um (32K*5) 32-Byte-Status oder (16K*5) 64-Byte-Status zu speichern.
limit_conn #Legen Sie die maximale Anzahl von Verbindungen für einen bestimmten Schlüssel fest. Der Schlüssel hier ist addr, und der von uns festgelegte Wert ist 100, was bedeutet, dass wir zulassen, dass jede IP-Adresse bis zu 100 Verbindungen gleichzeitig öffnet
include /etc/nginx/mime.types; #Nur eine, die einschließt eine andere in der aktuellen Datei Eine Anweisung für den Inhalt einer Datei. Hier verwenden wir es, um eine Reihe von MIME-Typen zu laden, die später verwendet werden
default_type text/html; #Legen Sie den von der Datei verwendeten Standard-MIME-Typ fest
charset UTF-8; #Legen Sie den Standard im Header fest file Der Zeichensatz
gzip on; # weist nginx an, Daten in gzip-Komprimierung zu senden. Dadurch wird die von uns gesendete Datenmenge reduziert.
gzip_disable "msie6" # GZIP-Funktionalität für den angegebenen Client deaktivieren. Wir setzen es auf IE6 oder niedriger, um unsere Lösung weitgehend kompatibel zu machen. So können Sie das höchste Komprimierungsverhältnis verwenden, sodass Nginx diese Dateien nicht mehr komprimieren muss.
gzip_proxied any; #Komprimierung von Antwortströmen basierend auf Anfragen und Antworten zulassen. Wir setzen es auf „any“, was bedeutet, dass alle Anfragen komprimiert werden.
gzip_min_length 1000; #Legen Sie die Mindestanzahl an Bytes fest, um die Datenkomprimierung zu ermöglichen.Wenn eine Anfrage weniger als 1000 Bytes umfasst,
#Wir sollten sie besser nicht komprimieren, da die Komprimierung dieser kleinen Daten alle Prozesse verlangsamt, die diese Anfrage verarbeiten.
gzip_comp_level 4; #Legen Sie die Komprimierungsstufe der Daten fest. Diese Stufe kann ein beliebiger Wert zwischen 1 und 9 sein, wobei 9 die langsamste Stufe ist, aber das höchste Komprimierungsverhältnis aufweist.
#Wir setzen es auf 4, was eine kompromisslosere Einstellung ist
gzip_buffers 16 8k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/ xml +rss text/javascript;#Legen Sie das zu komprimierende Datenformat fest
open_file_cache max=100000 inactive=20s; #Beim Öffnen des Caches geben Sie auch die maximale Anzahl der Caches und die Cache-Zeit an.
#Wir können eine relativ hohe Maximalzeit festlegen, damit wir sie löschen können, nachdem sie länger als 20 Sekunden inaktiv waren
open_file_cache_valid 30s; #Geben Sie das Intervall für die Erkennung korrekter Informationen in open_file_cache an
open_file_cache_min_uses 2; Definieren Sie die Mindestanzahl von Dateien während der Inaktivitätszeit des Befehlsparameters in open_file_cache
open_file_cache_errors on
include /etc/nginx/sites-; aktiviert/*;
}
Das Obige enthält eine ausführliche Erläuterung der Nginx-Hochleistungskonfiguration, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server Apr 21, 2024 am 07:22 AM

Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Willkommen bei Nginx! Wie kann ich es lösen? Willkommen bei Nginx! Wie kann ich es lösen? Apr 17, 2024 am 05:12 AM

Um den Fehler „Willkommen bei Nginx!“ zu beheben, müssen Sie die Konfiguration des virtuellen Hosts überprüfen, den virtuellen Host aktivieren, Nginx neu laden. Wenn die Konfigurationsdatei des virtuellen Hosts nicht gefunden werden kann, erstellen Sie eine Standardseite und laden Sie Nginx neu. Anschließend wird die Fehlermeldung angezeigt verschwindet und die Website wird normal angezeigt.

So kommunizieren Sie zwischen Docker-Containern So kommunizieren Sie zwischen Docker-Containern Apr 07, 2024 pm 06:24 PM

In der Docker-Umgebung gibt es fünf Methoden für die Containerkommunikation: freigegebenes Netzwerk, Docker Compose, Netzwerk-Proxy, freigegebenes Volume und Nachrichtenwarteschlange. Wählen Sie abhängig von Ihren Isolations- und Sicherheitsanforderungen die am besten geeignete Kommunikationsmethode, z. B. die Nutzung von Docker Compose zur Vereinfachung von Verbindungen oder die Verwendung eines Netzwerk-Proxys zur Erhöhung der Isolation.

So registrieren Sie phpmyadmin So registrieren Sie phpmyadmin Apr 07, 2024 pm 02:45 PM

Um sich für phpMyAdmin zu registrieren, müssen Sie zunächst einen MySQL-Benutzer erstellen und ihm Berechtigungen erteilen, dann phpMyAdmin herunterladen, installieren und konfigurieren und sich schließlich bei phpMyAdmin anmelden, um die Datenbank zu verwalten.

So stellen Sie das NodeJS-Projekt auf dem Server bereit So stellen Sie das NodeJS-Projekt auf dem Server bereit Apr 21, 2024 am 04:40 AM

Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

So generieren Sie eine URL aus einer HTML-Datei So generieren Sie eine URL aus einer HTML-Datei Apr 21, 2024 pm 12:57 PM

Für die Konvertierung einer HTML-Datei in eine URL ist ein Webserver erforderlich. Dazu sind die folgenden Schritte erforderlich: Besorgen Sie sich einen Webserver. Richten Sie einen Webserver ein. Laden Sie eine HTML-Datei hoch. Erstellen Sie einen Domainnamen. Leiten Sie die Anfrage weiter.

Was tun, wenn die Installation von phpmyadmin fehlschlägt? Was tun, wenn die Installation von phpmyadmin fehlschlägt? Apr 07, 2024 pm 03:15 PM

Schritte zur Fehlerbehebung bei fehlgeschlagener phpMyAdmin-Installation: Überprüfen Sie die Systemanforderungen (PHP-Version, MySQL-Version, Webserver); aktivieren Sie die PHP-Erweiterungen (mysqli, pdo_mysql, mbstring, token_get_all); überprüfen Sie die Konfigurationsdatei Berechtigungen (Verzeichnisbesitz, Dateiberechtigungen); Firewall-Einstellungen überprüfen (Webserver-Ports auf die Whitelist setzen); Fehlerprotokolle anzeigen (/var/log/apache2/error.log); phpMyAdmin

See all articles