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

Installieren Sie Nginx und konfigurieren Sie den virtuellen Host in Ubuntu 20.04

In diesem Leitfaden werden wir untersuchen, wie nginx in Ubuntu 20.04 verwendet wird, d. h. nginx installieren und nginx konfigurieren, um eine virtuelle Site bereitzustellen.

Installieren von Nginx

Aktualisieren Sie unseren lokalen Paketindex, damit wir Zugriff auf die neuesten Paketlisten haben

sudo apt update

Installieren Sie nginx

sudo apt install nginx

Firewall aktualisieren

Verfügbare ufw-Apps auflisten:

sudo ufw app list

Beispielausgabe:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Die aufgelisteten Nginx-Profile:

  • Nginx Full – Sowohl http – 80 als auch https – 443
  • Nginx HTTP – nur http-Traffic 80
  • Nginx HTTPS – Nur https-Traffic 443 – TLS/SSL-verschlüsselter Traffic

Aktivieren Sie das gewünschte Profil – in unserem Fall sowohl http als auch https:

sudo ufw allow 'Nginx Full'

Bestätigen Sie die Änderung

sudo ufw status

Der obige Befehl gibt aus, welcher Datenverkehr erlaubt ist.

nginx konfigurieren

Installierte Version prüfen

sudo apt list --installed | grep nginx

Überprüfen Sie den systemd-Dienst

sudo systemctl status nginx

Sie sollten diese Ausgabe sehen, die zeigt, dass nginx ausgeführt wird

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-30 14:07:33 UTC; 2min 42s ago
       Docs: man:nginx(8)
   Main PID: 4684 (nginx)
      Tasks: 5 (limit: 9257)
     CGroup: /system.slice/nginx.service
             ├─4684 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─4685 nginx: worker process
             ├─4686 nginx: worker process
             ├─4687 nginx: worker process
             └─4688 nginx: worker process

Jul 30 14:07:33 frhb64566ds systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 30 14:07:33 frhb64566ds systemd[1]: Started A high performance web server and a reverse proxy server.

Um sicherzustellen, dass der nginx-Dienst auch nach Neustarts immer ausgeführt wird, verwenden Sie diesen systemnd-Befehl, um Folgendes zu aktivieren:

sudo systemctl enable nginx

Sie können diese anderen systemd-Befehle verwenden, um nginx zu verwalten:

# To start the service
sudo systemctl start nginx

# To restart the service
sudo systemctl restart nginx

# To reload the service config
sudo systemctl reload nginx

# To stop the service config
sudo systemctl restart nginx

# To disable the service config
sudo systemctl restart nginx

Verwenden Sie diesen Befehl, um zu bestätigen, dass nginx tatsächlich ausgeführt wird und erreichbar ist:

curl http://server_ip/

wobei server_ip ist die ip deines server. Wenn Sie aus irgendeinem Grund die öffentliche IP Ihres Servers nicht kennen, verwenden Sie dies, um dies zu überprüfen:

curl -4 icanhazip.com

Dann:

curl http://178.170.10.54/

Sie sollten die Standard-Nginx-Seite erhalten.

Nginx für einfache statische Seiten bereitstellen

Schauen wir uns ein Beispiel an, um eine statische Seite mit nginx bereitzustellen. Statische Seite ist HTML und CSS, die kein serverseitiges Rendering benötigen. Wir werden die Beispieldomäne your.domain.com verwenden in unserem Fall.

Schritte:

  1. Erstellen Sie das Verzeichnis zum Speichern unserer statischen Inhalte (wir verwenden /var/www/your.domain.com )

    sudo mkdir -p /var/www/your.domain.com
  2. Stellen Sie sicher, dass der aktuelle Benutzer auf das erstellte Verzeichnis zugreifen kann

    sudo chown -R ${USER}:${USER} /var/www/your.domain.com
    sudo chmod -R 755 /var/www/your.domain.com
  3. Fügen Sie dem Verzeichnis eine Beispieldatei hinzu (/var/www/your.domain.com/index.html )

    cat > /var/www/your.domain.com/index.html <<EOF
    <html>
    <head>
        <title>Hola from your.domain.com!</title>
    </head>
    <body>
        <h1>Hey!</h1>
        <p>Our site <i>your.domain.com</i> is working as expected.</p>
    </body>
    </html>
    EOF
  4. Erstellen Sie die nginx-Konfiguration im Verzeichnis /etc/nginx/conf.d wobei nginx nach Konfigurationen sucht, die beim Servieren eingeschlossen werden sollen. Wir erstellen die Datei /etc/nginx/conf.d/your.domain.com.conf mit dem erforderlichen Inhalt.

Verwenden Sie diesen Befehl:

cat > /etc/nginx/conf.d/your.domain.com.conf <<EOF
server {
    listen 80;
    server_name your.domain.com;

    root /var/www/your.domain.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
  1. Testen Sie, um sicherzustellen, dass keine der nginx-Dateien Syntaxfehler enthält

    sudo nginx -t
  2. Wenn es keine Fehler gibt, starten Sie nginx neu, um die Konfiguration neu zu laden

    sudo systemctl restart nginx
  3. Um sicherzustellen, dass Ihre Domain den Server erreichen kann, bearbeiten Sie Ihre DNS-Konfiguration, um sicherzustellen, dass A-Einträge der Website your.domain.com enthalten zeigt auf die Server-IP.

Ihre Website sollte jetzt betriebsbereit sein. Bestätigen Sie, indem Sie http://your.domain.com

besuchen

Wichtige Nginx-Dateien und -Verzeichnisse in Nginx

  • /var/www/html :Dies ist das Webinhaltsverzeichnis. Diese enthält den Standardseiteninhalt in der Datei index.nginx-debian.html . Diese Seite wird gerendert, wenn kein bestimmter Server-Host definiert ist.

  • /etc/nginx :Enthält alle Nginx-Konfigurationsdateien.

  • /etc/nginx/nginx.conf :Dies ist die globale Hauptkonfigurationsdatei von nginx

  • /etc/nginx/sites-available/ :Das Verzeichnis, in dem standortbezogene Serverblöcke gespeichert werden können. Nginx verwendet die in diesem Verzeichnis gefundenen Konfigurationsdateien nur, wenn sie mit sites-enabled verknüpft sind Verzeichnis. Typischerweise wird die gesamte Konfiguration von Serverblöcken in diesem Verzeichnis durchgeführt und dann durch Verknüpfung mit dem anderen Verzeichnis aktiviert.

  • /etc/nginx/sites-enabled/ :Das Verzeichnis, in dem aktivierte standortbezogene Serverblöcke gespeichert werden. Typischerweise werden diese erstellt, indem sie mit Konfigurationsdateien verknüpft werden, die sich im Verzeichnis „sites-available“ befinden.

  • /etc/nginx/snippets :Dieses Verzeichnis enthält Konfigurationsfragmente, die an anderer Stelle in die Nginx-Konfiguration aufgenommen werden können. Potenziell wiederholbare Konfigurationssegmente sind gute Kandidaten für die Umgestaltung in Snippets.

  • /var/log/nginx/access.log :Jede Anfrage an Ihren Webserver wird in dieser Protokolldatei aufgezeichnet, sofern Nginx nicht anders konfiguriert ist.

  • /var/log/nginx/error.log :Alle Nginx-Fehler werden in diesem Protokoll aufgezeichnet.


Ubuntu
  1. So installieren und konfigurieren Sie Nginx unter CentOS 8

  2. So installieren und konfigurieren Sie Nginx unter Ubuntu 20.04

  3. So installieren Sie Nginx unter Ubuntu 16.04

  4. So installieren und konfigurieren Sie GitLab unter Ubuntu 18.04

  5. Wie installiere und konfiguriere ich Varnish unter Ubuntu 20.04?

So installieren und konfigurieren Sie GitLab CE unter Ubuntu 18.04 LTS

So installieren und konfigurieren Sie DNS unter Ubuntu

So installieren und konfigurieren Sie Kubernetes unter Ubuntu

Log mit Graylog in Ubuntu 20.04 installieren und konfigurieren

So installieren und konfigurieren Sie Nginx in Ubuntu 20.04 und Ubuntu 21.04

So installieren und konfigurieren Sie Memcached unter Ubuntu