So installieren und konfigurieren Sie einen Nginx-Server zum ersten Mal
Nginx ist einer der beliebtesten Webserver und wird als Proxy-Server, Reverse-Proxy-Server und Load Balancer verwendet. Es ist eine beliebte Alternative zum alternden Apache-Webserver, da es ressourcenintensive Anwendungen berücksichtigt. Es ist ereignisgesteuert, asynchron und nicht blockierend und schlägt daher häufig Apache in Bezug auf die Leistung. Nginx wird häufig in großen Webservern verwendet, mit denen Millionen von Benutzern gleichzeitig eine Verbindung herstellen, um auf Ressourcen zuzugreifen.
Da es asynchron ist und Millionen von Benutzern verarbeiten kann, ohne den Server zu verlangsamen, ist es in vielen Unternehmen die erste Wahl, ihre Systeme bereitzustellen. Dieses Handbuch zeigt, wie Sie Nginx-Webserver problemlos installieren und konfigurieren. Der Leitfaden verwendet Ubuntu 18.04 als Version, da es sich um LTS handelt. Daher hat es eine langfristige Unterstützung, die in einer Produktionsumgebung erforderlich ist. Die Installation und Konfiguration eines Nginx-Webservers ist relativ einfach, erfordert jedoch eine Reihe von Schritten.
Installation
Diese Anweisungen wurden für Ubuntu 18.04 LTS geschrieben und sollten daher nicht in einer anderen Linux-Variante verwendet werden, es sei denn, dieselben Befehle funktionieren auch dort. Es wird empfohlen, Nginx in einem regulären Benutzerkonto mit Sudo-Berechtigung zu installieren, um das Sicherheitsrisiko zu verringern. In diesem Artikel wird jedoch nicht gezeigt, wie ein Benutzerkonto erstellt wird, da es außerhalb seines Geltungsbereichs liegt.
- Aktualisieren Sie vor der Installation von Nginx die lokalen Paketinformationen und aktualisieren Sie dann die Pakete mit den folgenden Befehlen. Es stellt sicher, dass die neueste Version von Nginx aus dem Repository (Server) abgerufen wird, wenn der Befehl Nginx install verwendet wird. Der Befehl Dist-upgrade behandelt Abhängigkeiten intelligent, um Inkompatibilitätsprobleme zwischen verschiedenen Paketen zu vermeiden.
- Installieren Sie Nginx mit dem folgenden Befehl
- Für die Installation müssen nur 3 Hauptbefehle verwendet werden, dann wird Nginx auf dem Server installiert. Da in diesem Handbuch Nginx als Webserver verwendet wird, der Index.html wird erstellt, sobald Nginx installiert ist, und es kann über die externe IP-Adresse des Servers zugegriffen werden.
http://IPAddress
- Obwohl es installiert ist, ist es wichtig sicherzustellen, dass der Nginx-Dienst automatisch seinen eigenen startet, falls der Server aus irgendeinem Grund neu gestartet wird. Es kann wie folgt gemacht werden.
- Verwenden Sie die folgenden beiden Befehle, um die Dateisystemberechtigungen anzupassen. Der erste Befehl weist der Dateiberechtigung den aktuell angemeldeten Benutzernamen zu. Wenn es root ist, dann ist es root, wenn es ein benutzerdefinierter Name ist, dann sein Name. Mit dem zweiten Befehl wird die Berechtigung der Datei festgelegt. Da die Berechtigung für „alle Benutzer“ auf R gesetzt ist, kann die Datei von jedem gelesen werden, was für öffentlich zugängliche Dateien empfohlen wird. W steht für Schreibberechtigung, die für den Eigentümer erforderlich ist, um Änderungen an der Datei vorzunehmen, und es ist praktisch, wenn eine Datei über ein Skript geändert wird, während sie sich auf dem Server befindet, z. B. im WordPress-Dashboard.
sudo chmod -R 755 /var/www/Beispiel.com
Konfiguration
Die Installation von Nginx ist wie oben beschrieben einfach, erfordert jedoch mehr Aufwand und hängt auch von den Anforderungen und der Umgebung des Servers ab. Dieses Handbuch zeigt, wie Sie einen Nginx-Webserver für eine Domain konfigurieren, wie Sie die Grundeinstellungen anpassen, wie Sie SSL / TLS einrichten, das von Google benötigt wird, um den Rang der Website zu verbessern, und schließlich, welche Befehle beim Einrichten eines Nginx-Servers erforderlich sind.
- Verwenden Sie den folgenden Befehl, um die Nginx-Standarddatei über den Nano-Editor zu öffnen. Die Standarddatei wird automatisch erstellt, wenn Nginx zum ersten Mal installiert wird, und definiert die Konfiguration für einen Webserver. Diese Konfiguration enthält einen Serverblock, der für einen Domänennamen reserviert ist und die Anforderungen an seine Domäne gemäß den Regeln innerhalb seiner Grenze verarbeitet. Nano Editor ist nur ein Konsoleneditor, der beim einfachen Öffnen von Textdateien hilft. Es wird dringend empfohlen, einen besseren Editor wie Notepad ++ mit der Erweiterung NppFTP zu verwenden, da er im Vergleich zu einem Konsolentexteditor recht benutzerfreundlich ist.
Die Konfigurationsdatei enthält einige wichtige Zeilen, wie im folgenden Codeausschnitt zu sehen ist.Die Direktive
- Listen gibt die Portnummer der IP-Adresse an, die überwacht werden soll. Für verschlüsselte Webserver sind es 443 und für nicht verschlüsselte Webserver 80. Default_server macht es zum Standardserver aus allen Serverblöcken, was bedeutet, dass dieser Serverblock ausgeführt wird, wenn das Header-Feld der Anforderung mit keinem der angegebenen Servernamen übereinstimmt. Es ist nützlich, alle Anforderungen an den Server unabhängig vom Hostnamen (in diesem Fall Domäne) zu erfassen.
- Server_name gibt den Hostnamen an, normalerweise den Domänennamen. Es wird empfohlen, sowohl die nackt- als auch die www-Variante der Domain zu verwenden, zum Beispiel…
- Root-Direktive gibt an, wo sich die Webseiten im Dateiserver befinden, zum Beispiel Index.html und alle anderen Unterordner einer Website. Die Direktive benötigt nur den Pfad zum Stammordner der Website, der Rest wird relativ dazu genommen.
- Index Direktive gibt den Namen der Indexdatei an, dh die Datei, die geöffnet wird, wenn der Hostname in die Adressleiste des Webbrowsers eingegeben wird.
- Der Block location ist nützlich, um Direktiven unter dem Hostnamen zu verarbeiten, zum Beispiel google.com/images , /videos. Die / erfasst die Root-Direktive des Domänennamens. die Direktive try_files versucht, den Inhalt (Datei, Ordner) bereitzustellen, oder löst die Meldung nicht gefunden aus, wenn die Ressource nicht verfügbar ist. Wenn das Verzeichnis /videos verarbeitet werden muss, verwenden Sie location /videos .
hören 80 default_server;
hören :80 default_server;
server_name _;
Wurzel /var/www/html/;
index index.in: php index.in: html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
- Es wird empfohlen, den Server nach der ersten Konfiguration neu zu starten. Starten Sie den Nginx-Dienst neu und laden Sie auch die Konfigurationsdatei neu. Wenn eine einfache Änderung in der Konfigurationsdatei vorgenommen wurde, reicht auch die Verwendung von reload anstelle von restart aus, um zu verhindern, dass die Verbindung zum Server unterbrochen wird.
- Heutzutage ist es wichtig, die Verbindung zur Website zu verschlüsseln, um den Rang der Website im Google-Index zu verbessern. Die Verschlüsselung kann durch Implementierung eines SSL / TLS-Zertifikats im Webserver erfolgen. Es gibt zahlreiche Zertifikate auf dem Markt, sowohl kostenpflichtig als auch kostenlos, aber dieser Leitfaden verwendet ein kostenloses Zertifikat, das als Let’s encrypt bekannt ist. Es ist kostenlos, muss jedoch alle 3 Monate erneuert werden, verglichen mit einem Jahr bei kommerziellen Zertifikaten. Der folgende Befehl fügt certbot PPA (Personal Package archive) zum System hinzu. Diese PPAs werden gehostet in launchpad.net , und wenn apt-get verwendet wird, werden sie sofort auf das System heruntergeladen.
- Der folgende Befehl lädt die Certbot-Version für nginx herunter und installiert sie. Wie oben erwähnt, wird es heruntergeladen von launchpad.net .
- Verwenden Sie nach der Installation den folgenden Befehl, um SSL / TLS für den angegebenen Domänennamen und seine WWW-Variante zu aktivieren. Dies sollte dieselbe Domäne sein, die in den oben genannten Schritten konfiguriert wurde. Wenn die Domäne nicht konfiguriert ist, stellen Sie sicher, dass dies vor diesem Schritt erfolgt ist.
-d www.Domain.erweiterung
- Wenn SSL/TLS wie oben installiert wurde, starten Sie den Server erneut, damit die Änderungen wirksam werden.
- Es wird auch empfohlen, die auf der folgenden Website angegebene Konfiguration zu verwenden, da die SSL / TLS-Konfiguration für eine bestimmte Anforderung optimiert wird. Die wichtigsten Optionen auf der folgenden Website sind modern, mittelschwer und alt. Diese Option macht die Verbindung sehr sicher, jedoch auf Kosten der Kompatibilität, sodass die Site in älteren Webbrowsern nicht geladen wird. Diese Option gleicht sowohl Kompatibilität als auch Sicherheit aus und wird daher für die meisten Websites empfohlen. Alter Typ ist für Legacy-Systeme. Es wird nicht für Produktionsstandorte empfohlen, sondern um Benutzer zu warnen, wenn sie die Website über alte Webbrowser wie Internet Explorer 5 besuchen.
https://ssl-config.mozilla.org/
Fazit
Nginx ist ein Proxy-Server, Reverse-Proxy-Server und Load Balancer und wird aufgrund seiner hohen Leistung häufig in Unternehmen zur Bereitstellung ihrer Webdienste verwendet. In diesem Handbuch erfahren Sie, wie Sie einen Nginx-Server zum ersten Mal problemlos auf einem Ubuntu-Server installieren und konfigurieren. Installation und Konfiguration sind nicht so schwierig, da alle Befehle die komplizierten Aufgaben unter der Ebene abstrahieren. Alles in allem gibt es keinen Grund, Nginx nicht zu verwenden, es sei denn, das Unternehmen erwartet eine andere Anforderung, die Nginx nicht bietet.