Nginx-Schnellstart-Beispielanalyse
Warum Nginx verwenden?
Der Hauptkonkurrent von Nginx ist derzeit Apache. Hier werde ich einen einfachen Vergleich zwischen den beiden anstellen, damit jeder die Vorteile von Nginx besser versteht.
1. Als Webserver:
Im Vergleich zu Apache verbraucht Nginx weniger Ressourcen, unterstützt mehr gleichzeitige Verbindungen und spiegelt eine höhere Effizienz wider. Dies macht Nginx besonders bei Anbietern virtueller Hosts beliebt. Bei hoher Verbindungsgleichzeitigkeit ist Nginx eine gute Alternative zum Apache-Server: Nginx ist eine der von Chefs im virtuellen Host-Geschäft in den USA häufig gewählten Softwareplattformen und kann Antworten von bis zu 50.000 gleichzeitigen Verbindungen unterstützen. Vielen Dank an Nginx für Wir haben Epoll und Kqueue als Entwicklungsmodell ausgewählt.
nginx als Lastausgleichsserver: Nginx kann Rails und PHP-Programme direkt intern unterstützen, um externe Dienste bereitzustellen, oder es kann externe Dienste als http-Proxyserver unterstützen. Nginx ist in C geschrieben und sein Systemressourcenaufwand und die CPU-Nutzungseffizienz sind viel besser als bei Perlbal.
2. Die Nginx-Konfiguration ist einfach, Apache ist komplex:
nginx ist besonders einfach zu starten und kann fast 7 * 24 ohne Unterbrechung laufen. Auch wenn es mehrere Monate lang läuft, muss es nicht neu gestartet werden. Sie können auch einen unterbrechungsfreien Service genießen. In diesem Fall kann die Softwareversion aktualisiert werden.
Die statische Verarbeitungsleistung von Apache ist mehr als dreimal höher als die von Apache. Nginx muss mit anderen Backends verwendet werden.
3. Der Hauptunterschied ist:
Apache ist ein synchrones Multiprozessmodell, eine Verbindung entspricht einem Prozess; Nginx ist asynchron, mehrere Verbindungen (10.000 Ebenen) können einem Prozess entsprechen.
4. Die Fachgebiete der beiden sind:
Der Vorteil von Nginx besteht darin, statische Anforderungen mit geringer CPU-Speicherauslastung zu verarbeiten, und Apache ist für die Verarbeitung dynamischer Anforderungen geeignet, sodass das Front-End jetzt im Allgemeinen Nginx als verwendet Ein Reverse-Proxy, der dem Druck standhält, dient als Backend für die Verarbeitung dynamischer Anfragen.
Grundlegende Verwendung von Nginx
Systemplattform: Centos Release 6.6 (final) 64-Bit.
1. Installieren Sie Kompilierungstools und Bibliotheksdateien
2. Installieren Sie zunächst pcre
1. Die Funktion von pcre besteht darin, Nginx zur Unterstützung der Rewrite-Funktion zu aktivieren. Laden Sie das PCRE-Installationspaket herunter, Download-Adresse:
2. Entpacken Sie das Installationspaket:
3. Geben Sie das Installationspaketverzeichnis ein
4. Kompilieren und installieren Sie
5. PCRE-Version anzeigen
3. Nginx installieren
1. Nginx herunterladen, Download-Adresse:
2. Installationspaket entpacken
3. Geben Sie das Installationspaketverzeichnis ein
4. Kompilieren und installieren Sie
5. Überprüfen Sie die Nginx-Version
An diesem Punkt ist die Nginx-Installation abgeschlossen.
4. Nginx-Konfiguration
Erstellen Sie das Benutzer-WWW zum Ausführen von Nginx:
Konfigurieren Sie nginx.conf und ersetzen Sie /usr/local/webserver/nginx/conf/nginx.conf durch den folgenden Inhalt
Überprüfen Sie die Richtigkeit des Befehls ngnix.conf in der Konfigurationsdatei: 5. Nginx starten
nginx Allgemeine Anweisungen Beschreibung
1. Einige Parameter von nginx haben beim Ausführen nichts mit bestimmten Geschäftsfunktionen (z. B. HTTP-Dienst oder E-Mail-Dienst-Proxy) zu tun, z von Arbeitsabläufen, Laufidentität etc.
woker_processes 2
worker_cpu_affinity
steht auch im Hauptteil. In Situationen mit hoher Parallelität wird der Leistungsverlust, der durch die Rekonstruktion von Registern vor Ort usw. durch Multi-CPU-Core-Switching verursacht wird, durch Festlegen der CPU-Stickiness reduziert. Wie worker_cpu_affinity 0001 0010 0100 1000 (Quad-Core).
worker_connections 2048
steht im Bereich Veranstaltungen. Die maximale Anzahl von Verbindungen, die jeder Arbeitsprozess gleichzeitig verarbeiten (initiieren) kann (einschließlich der Anzahl von Verbindungen mit Clients oder Back-End-Proxy-Servern). Als Reverse-Proxy-Server verfügt Nginx über eine Berechnungsformel: maximale Anzahl an Verbindungen = worker_processes * worker_connections/4, daher beträgt die maximale Anzahl an Client-Verbindungen hier 1024. Es spielt keine Rolle, ob diese je nach Fall auf 8192 erhöht werden kann Situation, aber es darf die nachfolgende worker_rlimit_nofile nicht überschreiten. Wenn Nginx als http-Server verwendet wird, wird die Berechnungsformel durch 2 geteilt.
worker_rlimit_nofile 10240steht im Hauptteil. Der Standardwert ist keine Einstellung und kann auf die maximale Betriebssystemgrenze von 65535 begrenzt werden.
use epoll
geschrieben im Abschnitt „Ereignisse“. Unter dem Linux-Betriebssystem verwendet Nginx standardmäßig das Epoll-Ereignismodell. Dadurch ist Nginx unter dem Linux-Betriebssystem recht effizient. Gleichzeitig verwendet Nginx eine effiziente Ereignismodell-Kqueue, ähnlich wie Epoll auf den Betriebssystemen OpenBSD oder FreeBSD. Verwenden Sie „select“ nur, wenn das Betriebssystem diese effizienten Modelle nicht unterstützt.
2. http-Server
Einige Konfigurationsparameter im Zusammenhang mit der Bereitstellung von http-Diensten. Zum Beispiel: ob Keepalive verwendet werden soll, ob gzip zur Komprimierung verwendet werden soll usw.
aktiviert den effizienten Dateiübertragungsmodus. Die sendfile-Anweisung gibt an, ob nginx die sendfile-Funktion aufruft, um Dateien auszugeben, wodurch der Kontextwechsel vom Benutzerbereich zum Kernelbereich reduziert wird. Wenn es für Anwendungen mit hoher Festplatten-E/A-Belastung wie Downloads verwendet wird, kann es deaktiviert werden, um die Geschwindigkeit der Festplatten- und Netzwerk-E/A-Verarbeitung auszugleichen und die Systemlast zu reduzieren.
: Langes Verbindungs-Timeout, in Sekunden. Dieser Parameter ist sehr sensibel und hängt von der Art des Browsers, der Timeout-Einstellung des Back-End-Servers und der Einstellung des Betriebssystems ab. Sie können einen weiteren Artikel schreiben. Wenn eine lange Verbindung eine große Anzahl kleiner Dateien anfordert, können die Kosten für die Wiederherstellung der Verbindung gesenkt werden. Wenn jedoch eine große Datei hochgeladen wird, schlägt der Upload fehl, wenn er nicht innerhalb von 65 Sekunden abgeschlossen wird. Wenn die Einrichtungszeit zu lang ist und viele Benutzer vorhanden sind, wird die Aufrechterhaltung der Verbindung über einen langen Zeitraum viele Ressourcen beanspruchen.
send_timeout:
client_max_body_size 10m
client_body_buffer_size 128k
Die maximale Anzahl von Bytes, die der Puffer-Proxy die Client-Anfrage puffert
Modul http_proxy:
Dieses Modul implementiert Nginx als Reverse-Proxy-Server. Funktionen: inklusive Caching-Funktion (siehe auch Artikel)
nginx-Verbindungs-Timeout mit dem Backend-Server (Proxy-Verbindungs-Timeout)proxy_read_timeout 60
Nach einer erfolgreichen Verbindung, zwischen zwei erfolgreichen Antwortvorgängen mit dem Backend-Server Timeout (Proxy-Empfangs-Timeout)proxy_buffer_size 4k Legen Sie die Puffergröße für den Proxy-Server (nginx) fest, um Benutzer-Header-Informationen vom Back-End-Realserver zu lesen und zu speichern. Die Standardgröße ist dieselbe wie bei „proxy_buffers“. Tatsächlich können Sie diesen Befehlswert kleiner einstellen
BProxy_buffers 4 32Kproxy_buffers Puffer, Nginx-Antwort vom Back-End-Realserver für einen einzelnen Verbindungscache, die Webseite liegt unter 32K, sodass die
Wenn Proxy_ Puffer können die Antwort nicht aufnehmen Inhalt des Back-End-Servers, ein Teil davon wird in einer temporären Datei auf der Festplatte gespeichert. Dieser Wert wird verwendet, um die maximale temporäre Dateigröße festzulegen. Der Standardwert ist 1024 m. Er hat nichts mit Proxy_cache zu tun. Größer als dieser Wert wird vom Upstream-Server zurückgegeben. Zum Deaktivieren auf 0 setzen.
Wenn der Cache vom Server als Proxy verwendet wird, um auf temporäre Dateien zu reagieren, begrenzt diese Option die Größe der temporären Datei, die jedes Mal geschrieben wird. Proxy_temp_path (kann während der Kompilierung angegeben werden), in welches Verzeichnis geschrieben werden soll.
Module http_gzip:
gzip on: Gzip-Komprimierungsausgabe aktivieren, um die Netzwerkübertragung zu reduzieren.- gzip_min_length 1k: Legen Sie die Mindestanzahl der Bytes der Seite fest, die komprimiert werden dürfen. Die Anzahl der Seitenbytes wird aus der Inhaltslänge des Headers ermittelt. Der Standardwert ist 20. Es wird empfohlen, die Anzahl der Bytes auf mehr als 1 KB festzulegen. Wenn sie weniger als 1 KB beträgt, wird die Komprimierung möglicherweise immer stärker.
- gzip_buffers 4 16k: Stellen Sie das System so ein, dass es mehrere Cache-Einheiten zum Speichern des GZIP-Komprimierungsergebnisdatenstroms erhält. 4 16 KB bedeutet, dass Speicher in Einheiten von 16 KB beantragt wird, also das Vierfache der Größe der Originaldaten, die in Einheiten von 16 KB installiert werden sollen.
- gzip_http_version 1.0: Wird verwendet, um die Version des http-Protokolls zu identifizieren. Daher wurde diese Option hinzugefügt, um frühere Versionen zu unterstützen Wenn Sie einen Proxy verwenden und auch die GZIP-Komprimierung aktivieren möchten, setzen Sie diese bitte auf 1.0, da die Endkommunikation http/1.0 ist.
- gzip_comp_level 6: gzip-Komprimierungsverhältnis, 1 hat das kleinste Komprimierungsverhältnis und die schnellste Verarbeitungsgeschwindigkeit, 9 hat das größte Komprimierungsverhältnis, aber die langsamste Verarbeitungsgeschwindigkeit (schnelle Übertragung, verbraucht aber mehr CPU)
- gzip_types: Passen Sie an Mime-Typ für die Komprimierung, unabhängig davon, ob angegeben oder nicht, der Typ „text/html“ wird immer komprimiert.
- gzip_proxied any: Aktiviert, wenn nginx als Reverse-Proxy verwendet wird, bestimmt es, ob die Komprimierung der vom Back-End-Server zurückgegebenen Ergebnisse aktiviert oder deaktiviert werden soll. Voraussetzung für den Abgleich ist, dass der Back-End-Server a zurückgeben muss Header mit „via“.
- gzip_vary on: Es hängt mit dem HTTP-Header zusammen. Es fügt dem Antwortheader „vary:accept-encoding“ hinzu, was es dem Front-End-Cache-Server ermöglicht, gzip-komprimierte Seiten zwischenzuspeichern Nginx-komprimierte Daten.
3. Virtueller Server-Host
http-Dienst unterstützt mehrere virtuelle Hosts. Jeder virtuelle Host verfügt über ein entsprechendes Serverkonfigurationselement, das die Konfiguration für den virtuellen Host enthält. Bei der Bereitstellung eines Proxys für Mail-Dienste können Sie auch mehrere Server erstellen. Jeder Server unterscheidet sich durch seine Abhöradresse oder seinen Port. listenDer Abhörport ist standardmäßig 80. Wenn er kleiner als 1024 ist, muss er als Root gestartet werden. Es kann in der Form „listen *:80“, „listen 127.0.0.1:80“ usw. vorliegen.
Servernamen, z. B. localhost, www.example.com, können durch reguläre Ausdrücke abgeglichen werden.
4. Standort
Im http-Dienst gibt es eine Reihe von Konfigurationselementen, die bestimmten spezifischen URLs entsprechen. root /var/www/html Definiert den Standard-Website-Stammspeicherort des Servers. Wenn locationurl mit einem Unterverzeichnis oder einer Datei übereinstimmt, hat root keine Auswirkung und wird normalerweise in der Serveranweisung oder unter / platziert.
Definieren Sie den Dateinamen, auf den standardmäßig unter dem Pfad zugegriffen wird, normalerweise gefolgt von root
Die Anforderung wird an die vom Backend definierte Serverliste weitergeleitet , der Reverse-Proxy, der dem Upstream-Lastausgleich entspricht. Sie können auch http://ip:port als Proxy übergeben.
proxy_set_header host $host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
5.1 Zugriffskontrolle erlauben/ Deny
nginx-Zugriff Das Steuermodul wird standardmäßig installiert, und die Schreibmethode ist auch sehr einfach. Sie können den Zugriff auf eine bestimmte IP oder ein IP-Segment mehrfach zulassen oder verbieten drehen, stoppt der Abgleich. Zum Beispiel:
Wir verwenden häufig auch htpasswd des httpd-devel-Tools, um das Anmeldekennwort für den Zugriffspfad festzulegen:Dadurch wird standardmäßig eine mit crypt verschlüsselte Passwortdatei generiert. Öffnen Sie die beiden Kommentarzeilen im Nginx-Status oben und starten Sie Nginx neu, damit es wirksam wird.
5.2 Autoindex des Verzeichnisses auflisten
nginx erlaubt standardmäßig keine Auflistung des gesamten Verzeichnisses. Wenn Sie diese Funktion benötigen, öffnen Sie die Datei nginx.conf und fügen Sie im Abschnitt „Standort“, „Server“ oder „http“ die beiden anderen Parameter hinzu:
autoindex_exact_size off; Die genaue Größe der Datei. Größe, Einheit ist Bytes. Nach dem Ausschalten wird die ungefähre Größe der Datei angezeigt, die Einheit ist kb oder mb oder gb autoindex_localtime an
Die Standardeinstellung ist aus und die angezeigte Dateizeit ist GMT-Zeit. Nach dem Einschalten ist die angezeigte Dateizeit die Serverzeit der Datei
Das obige ist der detaillierte Inhalt vonNginx-Schnellstart-Beispielanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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.

Die Start- und Stoppbefehle von Nginx lauten nginx bzw. nginx -s quit. Der Startbefehl startet den Server direkt, während der Stoppbefehl den Server ordnungsgemäß herunterfährt, sodass alle aktuellen Anforderungen verarbeitet werden können. Weitere verfügbare Stoppsignale sind Stopp und Nachladen.

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.

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.

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

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.

Nginx erscheint beim Zugriff auf die Website. Die Gründe können sein: Serverwartung, ausgelasteter Server, Browser-Cache, DNS-Probleme, Firewall-Blockierung, Website-Fehlkonfiguration, Netzwerkverbindungsprobleme oder die Website ist ausgefallen. Probieren Sie die folgenden Lösungen aus: Warten Sie, bis die Wartungsarbeiten beendet sind, besuchen Sie die Website außerhalb der Hauptverkehrszeiten, leeren Sie Ihren Browser-Cache, leeren Sie Ihren DNS-Cache, deaktivieren Sie Firewall- oder Antivirensoftware, wenden Sie sich an den Site-Administrator, überprüfen Sie Ihre Netzwerkverbindung oder verwenden Sie eine Suchmaschine oder Webarchiv, um eine weitere Kopie der Website zu finden. Wenn das Problem weiterhin besteht, wenden Sie sich bitte an den Site-Administrator.

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.
