Hervorragende Software und praktische Tutorials
So installieren Sie nginx unter Windows
Viel VertrautheitLinuxDie Leute habennginx, nginx als WebServerDieses kleine und leistungsstarke Nginx frisst langsam den Webserver auf.ApacheUnd der Anteil von IIS. Welche leistungsstarken Funktionen bietet Nginx? Neben den Funktionen des Webservers verstehen viele Leute möglicherweise nicht die wirklich leistungsstarken Funktionen von Nginx.
nginx, Apache und IIS werden zusammen als die drei Musketiere der Webserver bezeichnet.
nginx [Engine x] ist HTTP und umgekehrtProxyserver,MailSchauspielkunstServer und generischer TCP/UDP-Proxyserver, ursprünglich erstellt vonIgor SysoevEs wird seit langem in vielen stark belastetenRusslandAusführen auf der Website, einschließlich Yandex, Mail.Ru, VKUnd WandererLaut Netcraft bediente oder vermittelte Nginx im April 2022 21.79% der meistgenutzten Websites. Hier sind einige Erfolgsgeschichten: Dropbox, Netflix, WordPress.com, FastMail.FM.
Verwendet für Windows Die nginx-Version für Windows verwendet die native Win32-API (nicht die Cygwin-Emulationsschicht). Derzeit werden nur die Verbindungsverarbeitungsmethoden select() und poll() (1.15.9) verwendet, sodass keine hohe Leistung und Skalierbarkeit zu erwarten ist. Aufgrund dieses und einiger anderer bekannter Probleme gilt die nginx-Version für Windows als Betaversion. Sie bietet derzeit fast die gleiche Funktionalität wie die UNIX-Version von nginx, mit Ausnahme von XSLT-Filtern, Bildfiltern, dem GeoIP-Modul und der eingebetteten Perl-Sprache.
Was ist ein Reverse-Proxy?
Nginx kann nicht nur die Grundfunktionen des Webservers bereitstellen, sondern verfügt auch über eine hervorragende Reverse-Proxy-Funktion. Proxy) Methode bezieht sich auf die Verwendung eines Proxy-Servers zum AkzeptierenInternetDer Proxyserver leitet die Anfrage dann an den Server im internen Netzwerk weiter und gibt das vom Server erhaltene Ergebnis an den Client zurück, der die Verbindung im Internet anfordert. Zu diesem Zeitpunkt erscheint der Proxyserver der Außenwelt als Server.
Laden Sie nginx herunter
Besuchen Sie zunächst die offizielle Website von Nginx, auf der die Windows-Version der Nginx-Serversoftware bereitgestellt wird.
Besuchen Sie die offizielle Website von ngixn:https://nginx.org/
Ab 2022 ist die neueste Version nginx-1.21.6. Klicken Sie rechts auf „Download“ und laden Sie die Windows-Version von nginx auf der Download-Seite herunter.
Sie können wählen, ob Sie die Hauptversion oder die stabile Version herunterladen möchten.
Zum Download klicken:nginx/Windows-1.21.6 | nginx/Windows-1.20.2
Installieren Sie nginx
Doppelklicken Sie nach dem Herunterladen auf die Datei nginx.exe, um nginx auszuführen.
Nach einem Doppelklick auf nginx.exe blinkt ein schwarzes Popup-Fenster auf und nginx wurde erfolgreich gestartet.
Oder öffnen Sie ein cmd-Befehlsfenster, wechseln Sie in das Verzeichnis, in dem Sie nginx entpackt haben, geben Sie den Befehl nginx.exe ein oder starten Sie nginx und drücken Sie die Eingabetaste, um nginx zu öffnen.
Wie kann man überprüfen, ob nginx erfolgreich gestartet wurde? Geben Sie im Browser ein http://localhost
Wenn Sie die Nginx-Willkommensseite sehen können, herzlichen Glückwunsch, der Start war erfolgreich.
Konfigurieren Sie nginx
Nginx wurde erfolgreich installiert. Als Nächstes müssen Sie Nginx konfigurieren. Wie unter Linux muss auch unter Windows die Nginx-Konfigurationsdatei angepasst werden, um Nginx zu konfigurieren.
Zum Öffnen klicken KONF Ordner, mit Notepad im Ordner bearbeiten nginx.conf dokumentieren
http{
Server{
listen 80; #-Abhörport, hier ändern, wenn die Konfiguration auf IP basiert, z. B. 192.168.1.100:8080;
Servername boxpu.com;
#-Hostdomänenname. Wenn das Projekt tatsächlich veröffentlicht wird, geben Sie den Domänennamen im öffentlichen Netzwerk ein. Bei lokaler Bereitstellung können Sie die Zuordnung von IP und Domänennamen in der Datei C:\Windows\System32\drivers\etc\hosts hinzufügen.
#-Mapping-Analyse, / stellt den Stammpfad dar und die Analyse hier verwendet auch eine reguläre Ausdrucksanalyse.
Standort / {
Stammverzeichnis E:/uzbox; # Website-Standortpfad
index index.html index.htm; # Homepage-Datei
}
}
}
Verwenden Sie beim Festlegen des Verzeichnisses, in dem sich die Website befindet, / anstelle von \.
Einige gängige Konfigurationen in http{}
include mime.types; # Dateierweiterung und Dateityp-Zuordnungstabelle
Standardtyp Anwendung/Oktett-Stream; # Standarddateityp
sendfile on; # aktiviert den effizienten Dateiübertragungsmodus. Die Direktive sendfile gibt an, ob nginx die Funktion sendfile zur Ausgabe von Dateien aufruft. Für normale Anwendungen ist die Direktive aktiviert. Wird sie für Downloads und andere Anwendungen mit hoher Festplatten-E/A-Last verwendet, kann sie deaktiviert werden, um die Festplatten- und Netzwerk-E/A-Verarbeitungsgeschwindigkeit auszugleichen und die Systemlast zu reduzieren. Hinweis: Sollte das Bild nicht normal angezeigt werden, deaktivieren Sie die Direktive.
Autoindex aktiviert; # aktiviert den Zugriff auf die Verzeichnisliste, geeignet für Download-Server, standardmäßig deaktiviert.
tcp_nopush an; # verhindert Netzwerküberlastung
tcp_nodelay on; # verhindert Netzwerküberlastung
keepalive_timeout 120; # langes Verbindungs-Timeout in Sekunden
gzip an; # aktiviert die Gzip-Komprimierungsausgabe
Nachdem die Datei nginx.conf konfiguriert ist, überprüfen Sie mit dem folgenden Befehl, ob die Konfigurationsdatei korrekt ist.
nginx -t
Nach der Eingabe des Befehls wird bei korrekter Konfiguration die Meldung „Syntax ist ok“ zurückgegeben. Bei fehlerhafter Konfiguration wird die Fehlerzeile zurückgegeben.
Wenn der Standardport 80 verwendet wird, prüfen Sie zunächst, ob die Porteinstellung in der Konfigurationsdatei nginx.conf im Verzeichnis conf 80 ist. Überprüfen Sie nach der Bestätigung mit dem folgenden Befehl, ob Port 80 verfügbar ist.
netstat -ano | findstr 0.0.0.0:80
Oder verwenden Sie den folgenden Porterkennungsbefehl:
netstat -ano | findstr "80"
Wenn Sie die Nginx-Konfigurationsdatei nginx.conf ändern, müssen Sie Nginx nicht herunterfahren und neu starten. Führen Sie einfach den folgenden Befehl aus, damit die Änderungen wirksam werden.
nginx -s neu laden
Wenn Sie nginx herunterfahren möchten
Geben Sie den nginx-Befehl im CMD-Fenster ein
nginx -s stoppen
oder
nginx -s beenden
Nginx-Reverse-Proxy-Konfiguration
Fügen Sie den Block tomcat_server in der Konfigurationsdatei nginx.conf hinzu und geben Sie den Domänennamen der Website ein, die im Block tomcat_server geproxied werden soll.
#upstream tomcat_server blockiert Reverse-Proxy-Einstellungen.
Upstream-Tomcat-Server {
Server t1.boxpu.com;
}
Wenn Sie den Lastenausgleich im Reverse-Proxy konfigurieren müssen, können Sie mehrere Reverse-Proxy-Websites konfigurieren.
# Load Balancing Website-Konfiguration Kernblock
Upstream-Tomcat-Server {
Server t1.boxpu.com Gewicht=1;
Server t2.boxpu.com Gewicht=2;
}
Das Attribut „weight“ gibt die Gewichtung jedes Servers an, auf den zugegriffen wird. Je höher die Gewichtung, desto höher die Zugriffswahrscheinlichkeit. Beispiel: Bei „weight=2“ hat nginx vorrangigen Zugriff auf t2.boxpu.com. Greifen zu viele Benutzer auf t2.boxpu.com zu, wird automatisch auf t1.boxpu.com umgeschaltet.
Nachdem Sie oben den Tomcat_Server-Block eingerichtet haben, richten Sie den Reverse-Proxy im Server-Block ein.
Nachdem die Konfiguration abgeschlossen ist, verwenden Sie nginx -t, um zu überprüfen, ob die Syntax korrekt ist, und starten Sie nginx anschließend neu
Server {
Standort / {
Proxy-Passwort http://Tomcat-Server;
#Verwenden Sie im Stammverzeichnis „proxy_pass“, um den Block „tomcat_server“ aufzurufen.
}
}
nginx -s neu laden
Abschluss
Unter WindowsInstallieren Sie nginxEs war erfolgreich. Die Konfiguration unter Windows ähnelt der unter Linux. Es gibt keinen Unterschied. Das einzige Problem ist der Unterschied im Stammverzeichnis des Webspeichers. Verwenden Sie beim Aufrufen des Verzeichnisses / anstelle von \.
nginx -s stoppt schnelles Herunterfahren
nginx -s quit ordnungsgemäßes Herunterfahren
nginx -s reload ändert die Konfiguration, startet einen neuen Arbeitsprozess mit der neuen Konfiguration und fährt den alten Arbeitsprozess ordnungsgemäß herunter
nginx -s reopen, um die Protokolldatei erneut zu öffnen
Bekannte Probleme
Obwohl mehrere Worker gestartet werden können, führt nur einer tatsächlich eine Arbeit aus.
Die UDP-Proxy-Funktion wird nicht unterstützt.
Mögliche zukünftige Verbesserungen
Als Dienst ausführen.
Verwenden Sie E/A-Abschlussports als Methode zur Verbindungsverarbeitung.
Verwenden Sie mehrere Worker-Threads in einem einzigen Worker-Prozess.