GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie NGINX unter Ubuntu 18.04

NGINX ist ein Hochleistungs-Webserver, der insbesondere zur Verwaltung statischer Dateien und als Reverse-Proxy verwendet wird. Dank seiner Vielseitigkeit kann NGINX in jeder Situation eingesetzt werden. In dieser Anleitung erfahren Sie, wie Sie es auf Ihrem Server installieren und für zwei oder mehr Domains konfigurieren.

Verbinden Sie sich zunächst über eine SSH-Verbindung mit Ihrem Server. Wenn Sie dies noch nicht getan haben, wird empfohlen, unseren Leitfaden zu befolgen, um sich sicher mit SSH zu verbinden. Im Falle eines lokalen Servers gehen Sie zum nächsten Punkt und öffnen Sie das Terminal Ihres Servers.

Installation von NGINX

Aktualisieren Sie die Distributions-Repositories, um sicherzustellen, dass Sie die neueste Version von NGINX herunterladen:

$ sudo apt update

Führen Sie den folgenden Befehl aus, um das NGINX-Paket zu installieren:

$ sudo apt install nginx

Sobald die Installation abgeschlossen ist, starten Sie den Dienst und installieren Sie ihn auf dem System:

$ sudo systemctl start nginx

$ sudo systemctl enable nginx

Firewall-Konfiguration

Falls eine Firewall auf Ihrem System vorhanden ist, stellen Sie diese so ein, dass HTTP-Verkehr und HTTPS-Verkehr zu Ihrem Computer zugelassen werden.

Bei Verwendung der UFW-Firewall werden vorinstallierte Profile für NGINX bereitgestellt. Sehen wir uns also an, wie man sie aktiviert.

Führen Sie diesen Befehl aus, um die verfügbaren Profile zu überprüfen, die auf der UFW-Firewall installiert sind:

$ sudo ufw app list

Eine Liste ähnlich der folgenden wird auf dem Bildschirm angezeigt:

Available applications:

  Dovecot IMAP

  Dovecot POP3

  Dovecot Secure IMAP

  Dovecot Secure POP3

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

  Postfix

  Postfix SMTPS

  Postfix Submission

Um HTTP- (Port 80) und HTTPS- (Port 443) Datenverkehr zuzulassen, verwenden Sie das Profil „Nginx Full“.

Überprüfen Sie Ihre Profilinformationen wie unten gezeigt:

$ sudo ufw app info "Nginx Full"

Die Beschreibung des Profils auf dem Bildschirm erscheint:

Profile: Nginx Full

Title: Web Server (Nginx, HTTP + HTTPS)

Description: Small, but very powerful and efficient web server
                Ports:

  80,443/tcp

Nachdem Sie das Profil überprüft haben, können Sie es aktivieren:

$ sudo ufw allow in "Nginx Full"

An dieser Stelle ist die Konfiguration von NGINX und der Firewall abgeschlossen. Testen Sie den Webserver, indem Sie die Adresse http:// oder im Falle eines lokalen Servers http:// localhost besuchen. Wenn der Vorgang korrekt ausgeführt wurde, wird der Standard-NGINX-Bildschirm angezeigt.

Zwei Domains/Websites richtig konfigurieren:

Im Folgenden wird gezeigt, wie zwei virtuelle Hosts (sogenannte "Serverblöcke") so konfiguriert werden, dass sie zwei vollständig getrennte Webspaces haben. In diesem Beispiel verwenden wir zwei fiktive Domains:

  • www.ihredomain.com

  • www.ihredomain2.com

Beide A-Einträge müssen auf die öffentliche IP-Adresse Ihres Servers zeigen .

Erstellen Sie zunächst alle erforderlichen Ordner für die öffentlichen Dateien Ihrer Websites:

$ sudo mkdir /var/www

$ sudo mkdir /var/www/yourdomain.com

$ sudo mkdir /var/www/yourdomain.com/htdocs

$ sudo mkdir /var/www/yourdomain.com/logs
                $ sudo mkdir /var/www/yourdomain2.com

$ sudo mkdir /var/www/yourdomain2.com/htdocs

$ sudo mkdir /var/www/yourdomain2.com/logs

Kopieren Sie als temporären Inhalt die Standard-NGINX-Seite in die htdocs-Ordner jeder Domain:

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain.com/htdocs/

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain2.com/htdocs/

Fahren Sie nun mit der eigentlichen Konfiguration von NGINX fort. NGINX liest normalerweise alle .conf-Dateien im Verzeichnis /etc/nginx/conf.d/, fahren Sie fort, indem Sie zwei Dateien erstellen (eine pro Domain) und sie benennen:

  • ihredomain_com.conf

  • ihredomain2_com.conf

Verwenden Sie Ihren bevorzugten Texteditor, um die folgende Konfiguration in die Datei yourdomain_com.conf zu schreiben:

server {
                        

        listen 80;
                        

        server_name yourdomain.com *.yourdomain.com;
                        

        root /var/www/yourdomain.com/htdocs;
                        

        access_log /var/www/yourdomain.com/logs/access.log main;

        error_log /var/www/yourdomain.com/logs/error.log warn;

}

Natürlich müssen Sie auch für yourdomain2_com.conf eine ähnliche Konfiguration verwenden:

server {
                        

        listen 80;
                        

        server_name yourdomain2.com *.yourdomain2.com;
                        

        root /var/www/yourdomain2.com/htdocs;
                        

        access_log /var/www/yourdomain2.com/logs/access.log main;

        error_log /var/www/yourdomain2.com/logs/error.log warn;

}

Neben der Einstellung des Stammordners für die Dateien der virtuellen Domäne gibt es auch Einstellungen, um die Pfade der Protokolldateien (sowohl Zugriff als auch Fehler) zu konfigurieren, um jeweils ein Protokoll zu haben Domain. Normalerweise speichert NGINX alle Protokolle im Verzeichnis /var/log/nginx/, aber im Falle einer Mehrfachdomäne kann das Ergebnis verwirrend sein.

Logs können mit der Zeit zu groß werden, wenn ihr Pfad geändert wird. Daher ist es notwendig, eine Rotation der Dateien einzustellen, um die ältesten Inhalte zu eliminieren. Verwenden Sie dazu die Software logrotate.

Um neue Protokolldateien in den Logrotate-Einstellungen hinzuzufügen, bearbeiten Sie die Datei /etc/etc/logrotate.d/nginx:

/var/log/nginx/*log {

    create 0644 nginx nginx

    daily

    rotate 10

    missingok

    notifempty

    compress

    sharedscripts

    postrotate

        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true

    endscript

}

Wie Sie sehen können, gibt es bereits eine Konfiguration für die NGINX-Dateien in /var /log/nginx. Fahren Sie fort, indem Sie den ersten Teil der Datei wie folgt ändern:

/var/log/nginx/*log

/var/www/*/logs/* {

    ...

}

Sobald diese Änderung vorgenommen wurde, verwaltet logrotate alle Dateien in den Protokollordnern von /var/www/mydomain.it und /var/www/yourdomain.com (und allen anderen), ohne Sie müssen sich um jede andere Domain kümmern, die in Zukunft hinzugefügt werden könnte.

Starten Sie nach Abschluss den Dienst neu, um die Änderungen zu übernehmen:

$ sudo systemctl reload nginx

Linux
  1. So installieren Sie R unter Ubuntu 20.04

  2. So installieren Sie Nginx unter Ubuntu 16.04

  3. So installieren Sie Nginx unter Ubuntu 18.04

  4. So installieren Sie LEMP auf Ubuntu 18.04

  5. Installieren Sie Nginx auf Ubuntu

So installieren Sie Go in Ubuntu 20.04

So installieren Sie Go unter Ubuntu 22.04

Installieren Sie Nginx auf Ubuntu 18.04

So installieren Sie Nginx unter Ubuntu 14.04

So installieren Sie NGINX unter Ubuntu 20.04

So installieren Sie Nginx unter Ubuntu 22.04