Einführung
Nginx ist einer der beliebtesten Webserver der Welt und für das Hosting einiger der meistbesuchten Websites im Internet verantwortlich. Es ist in den meisten Fällen ressourcenschonender als Apache und kann als Webserver oder Reverse-Proxy verwendet werden.
In diesem Handbuch wird erklärt, wie Sie Nginx auf Ihrem Ubuntu 18.04-Server installieren. Eine detailliertere Version dieses Tutorials finden Sie unter Installation von Nginx unter Ubuntu 18.04 .
Voraussetzungen
Bevor Sie mit diesem Handbuch beginnen, sollten Sie Folgendes haben:
-
Ein Ubuntu 18.04-Server und ein normaler Benutzer ohne Rootberechtigung mit Sudo-Rechten. Darüber hinaus müssen Sie eine Basis-Firewall aktivieren, um nicht erforderliche Ports zu blockieren. Informationen zum Konfigurieren eines regulären Benutzerkontos und zum Einrichten einer Firewall finden Sie in unserem initial server setup guide für Ubuntu 18.04.
Wenn Sie über ein Konto verfügen, melden Sie sich als Benutzer ohne Rootberechtigung an, um zu beginnen.
Schritt 1 - Nginx installieren
Da Nginx in den Standard-Repositorys von Ubuntu verfügbar ist, können Sie es mithilfe des Paketsystems "+ apt +" installieren.
Aktualisieren Sie Ihren lokalen Paketindex:
sudo apt update
Installieren Sie Nginx:
sudo apt install nginx
Schritt 2 - Anpassen der Firewall
Wenn Sie das Lernprogramm zur Serverkonfiguration befolgt haben, ist die UFW-Firewall aktiviert. Überprüfen Sie die verfügbaren + ufw +
- Anwendungsprofile mit dem folgenden Befehl:
sudo ufw app list
OutputAvailable applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Aktivieren Sie das restriktivste Profil, das den von Ihnen konfigurierten Datenverkehr noch zulässt, und lassen Sie den Datenverkehr auf Port "+ 80 +" zu:
sudo ufw allow 'Nginx HTTP'
Überprüfen Sie die Änderung:
sudo ufw status
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Schritt 3 - Überprüfen Sie Ihren Webserver
Überprüfen Sie mit dem Init-System "+ systemd +", ob der Dienst ausgeführt wird, indem Sie Folgendes eingeben:
systemctl status nginx
Output● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: since Fri 2018-04-20 16:08:19 UTC; 3 days ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
CGroup: /system.slice/nginx.service
├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2380 nginx: worker process
Greifen Sie auf die Standard-Nginx-Startseite zu, um zu bestätigen, dass die Software über Ihre IP-Adresse ordnungsgemäß ausgeführt wird:
http://
Sie sollten die Standard-Nginx-Zielseite sehen:
image: https://assets.digitalocean.com/articles/nginx_1604/default_page.png [Nginx-Standardseite]
Schritt 4 - Serverblöcke einrichten (empfohlen)
Wenn Sie den Nginx-Webserver verwenden, können Sie server blocks (ähnlich wie bei virtuellen Hosts in Apache) verwenden, um Konfigurationsdetails zu kapseln und mehr als eine Domäne von einem einzelnen Server aus zu hosten. Wir werden eine Domain mit dem Namen * example.com * einrichten, aber Sie sollten * diese durch Ihren eigenen Domainnamen ersetzen *. Weitere Informationen zum Einrichten eines Domainnamens mit DigitalOcean finden Sie unter introduction to DigitalOcean DNS.
Erstellen Sie das Verzeichnis für "+" mit dem Flag " -p +", um alle erforderlichen übergeordneten Verzeichnisse zu erstellen:
sudo mkdir -p /var/www//html
Ordnen Sie den Besitz des Verzeichnisses zu:
sudo chown -R $USER:$USER /var/www//html
Die Berechtigungen Ihrer Webstammverzeichnisse sollten korrekt sein, wenn Sie Ihren "+ umask +" - Wert nicht geändert haben. Sie können dies jedoch sicherstellen, indem Sie Folgendes eingeben:
sudo chmod -R 755 /var/www/
Erstellen Sie eine Beispiel-Seite "+ index.html" mit "+ nano +" oder Ihrem bevorzugten Editor:
nano /var/www//html/index.html
Fügen Sie im Inneren den folgenden Beispiel-HTML-Code hinzu:
/var/www/example.com/html/index.html
<html>
<head>
<title>Welcome to !</title>
</head>
<body>
<h1>Success! The server block is working!</h1>
</body>
</html>
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Erstellen Sie einen neuen Serverblock unter + / etc / nginx / sites-available / +
:
sudo nano /etc/nginx/sites-available/
Fügen Sie den folgenden Konfigurationsblock ein, der für unser neues Verzeichnis und unseren neuen Domainnamen aktualisiert wurde:
/etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
root /var/www//html;
index index.html index.htm index.nginx-debian.html;
server_name www.;
location / {
try_files $uri $uri/ =404;
}
}
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Aktivieren Sie die Datei, indem Sie einen Link zum Verzeichnis "+ sites-enabled +" erstellen:
sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
Zwei Serverblöcke sind jetzt aktiviert und konfiguriert, um auf Anforderungen zu antworten, die auf den Anweisungen + listen +
und + server_name +
basieren:
-
+ example.com +
: Reagiert auf Anfragen nach+ example.com +
und+ www.example.com +
. -
+ default +
: Reagiert auf alle Anfragen an Port+ 80 +
, die nicht mit den anderen beiden Blöcken übereinstimmen.
Um ein mögliches Problem mit dem Hash-Bucket-Speicher zu vermeiden, das durch das Hinzufügen zusätzlicher Servernamen entstehen kann, muss ein einzelner Wert in der Datei "+ / etc / nginx / nginx.conf +" angepasst werden. Öffne die Datei:
sudo nano /etc/nginx/nginx.conf
Suchen Sie die Direktive "+ server_names_hash_bucket_size " und entfernen Sie das Symbol " # +", um das Kommentarzeichen zu entfernen:
/etc/nginx/nginx.conf
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Test auf Syntaxfehler:
sudo nginx -t
Starten Sie Nginx neu, um Ihre Änderungen zu aktivieren:
sudo systemctl restart nginx
Nginx sollte nun Ihren Domainnamen bedienen. Sie können dies testen, indem Sie zu "+ http: // +" navigieren, wo Sie ungefähr Folgendes sehen sollten:
image: https://assets.digitalocean.com/articles/nginx_server_block_1404/first_block.png [Nginx erster Serverblock]
Fazit
Nachdem Sie Ihren Webserver installiert haben, haben Sie viele Optionen für die Art des Inhalts und die Technologien, die Sie verwenden möchten, um eine umfassendere Erfahrung zu erzielen.
Wenn Sie einen vollständigeren Anwendungsstapel erstellen möchten, lesen Sie diesen Artikel unter https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack -ubuntu-18-04 [Konfigurieren eines LEMP-Stacks unter Ubuntu 18.04].