Ein Nginx-Serverblock ist das Äquivalent zu einem virtuellen Apache-Host. Es gibt Benutzern die Flexibilität, zahlreiche Websites auf demselben Server zu hosten. Dies ist ein kostengünstiger Ansatz zum Hosten von Websites, anstatt verschiedene Server einzurichten und sie für verschiedene Domains zu konfigurieren.
In dieser exemplarischen Vorgehensweise demonstrieren wir die Konfiguration eines Nginx-Serverblocks. Anschließend zeigen wir Ihnen, wie Sie den Webserver mit Let’s Encrypt SSL, einem kostenlosen SSL, sichern können.
Voraussetzungen
Bevor Sie fortfahren, stellen Sie sicher, dass Sie Nginx installiert haben. Wir haben ein umfassendes Tutorial, das durch die Installation von l Nginx auf CentOS 8 führt. Bestätigen Sie außerdem, dass Ihr Domänenname auf die öffentliche IP-Adresse Ihres virtuellen Servers verweist. Um dies sicherzustellen, gehen Sie zu Ihrem Domainnamen-Anbieter und konfigurieren Sie den A-Eintrag so, dass er auf die IP des Servers verweist.
Hier zeigt die IP-Adresse auf die Domain namens linuxtechgeek.info die wir in diesem Leitfaden verwenden werden.
Schritt 1:Dokumentenstamm für die Domain erstellen
Wir beginnen mit der Erstellung eines Verzeichnisses für unsere Domain, in dem die Dateien der Website gespeichert werden. Führen Sie also den folgenden Befehl aus, um dies zu erreichen.
$ sudo mkdir -p /var/www/linuxtechgeek.info/html
Zu Demonstrationszwecken erstellen wir eine Beispiel-index.html Datei.
$ sudo vim /var/www/linuxtechgeek.info/html/index.html
Fügen Sie die folgenden HTML-Zeilen ein.
<html> <head> <title>Welcome to my domain.info</title> </head> <body> <h1>Hey fellaz!!.The server block is working.</h1> </body> </html>
Natürlich können Sie den Inhalt im Hauptteil nach Ihren Wünschen bearbeiten. Konfigurieren Sie als Nächstes den Besitz des Verzeichnisses der Domain, um Berechtigungsfehler zu vermeiden.
$ sudo chown -R nginx /var/www/linuxtechgeek.info/
Und stellen Sie die Berechtigungen wie gezeigt ein.
$ sudo chmod -R 755 /var/www/linuxtechgeek.info/
Toll! Lassen Sie uns nun die Server-Blockdatei konfigurieren.
Schritt 2:Nginx-Serverblockdatei erstellen
Wir werden die Nginx-Serverblockdatei in /etc/nginx/conf.d konfigurieren Verzeichnis wie folgt.
$ sudo vim /etc/nginx/conf.d/linuxtechgeek.info.conf
Fügen Sie die folgende Konfiguration ein
server { listen 80; server_name linuxtechgeek.info www.linuxtechgeek.info; root /var/www/linuxtechgeek.info/html; index index.php index.html index.htm; access_log/var/log/nginx/linuxtechgeek.info.access.log; error_log /var/log/nginx/linuxtechgeek.info.error.log; }
Speichern und schließen. Überprüfen Sie anschließend, ob alle Konfigurationen korrekt sind.
$ sudo nginx -t
Von der Ausgabe her sieht alles gut aus. Um alle vorgenommenen Änderungen zu übernehmen, starten Sie den Nginx-Webserver neu.
$ sudo systemctl restart nginx
Und stellen Sie sicher, dass es läuft.
$ sudo systemctl status nginx
Durchsuchen Sie nun Ihre Website und Sie werden zu Ihrer index.html-Datei mit dem Serverblock weitergeleitet.
http://domain-name.come
Schritt 3:Nginx mit Let’s Encrypt SSL sichern
Unser Serverblock ist bereits eingerichtet, aber der Webserver ist noch nicht verschlüsselt. Die Verschlüsselung der Website mit einem SSL-Zertifikat ist entscheidend, um Informationen zu sichern, die an und von dem Webserver gesendet werden. Ein SSL-Zertifikat verbessert auch das Google-Ranking Ihrer Website und fördert die Interaktionen mit Ihren Kunden.
Let’s Encrypt ist eine kostenlose globale CA (Certificate Authority), die es Benutzern ermöglicht, ihre Websites mit einem kostenlosen SSL/TLS-Zertifikat zu erhalten und zu sichern. Wir werden Certbot installieren, der die Installation des kostenlosen SSL-Zertifikats von Let’s Encrypt automatisiert.
$ sudo dnf install certbot python3-certbot-nginx
Führen Sie nach der Installation cerbot wie folgt aus, um das SSL-Zertifikat von Let’s Encrypt zu installieren
$ sudo certbox --nginx
Befolgen Sie die Anweisungen wie angegeben.
Schritt 3:Zertifikatserneuerung verwalten
Das Let’s Encrypt-Zertifikat ist bis zu 90 Tage gültig. Sie erhalten jedoch 20 Tage vor Ablauf eine Benachrichtigung und weitere Benachrichtigungen von 10 Tagen bis zum letzten Tag.
Sie können das Zertifikat manuell mit dem folgenden Befehl erneuern:
$ sudo certbot renew
Um die Verlängerung zu automatisieren, erstellen Sie einen neuen Cronjob.
$ crontab -e
Fügen Sie diese Zeile hinzu und speichern Sie die Änderungen.
0 0 * * * /usr/bin/certbot renew > /dev/null 2>&1
Und das ist es! So können Sie einen Nginx-Serverblock konfigurieren und Ihren Webserver mit Let’s Encrypt SSL sichern.