So verschieben Sie einen Nginx-Webstamm an einen neuen Speicherort unter Ubuntu 16.04

Einführung

Unter Ubuntu speichert der Nginx-Webserver seine Dokumente standardmäßig in + / var / www / html, das sich normalerweise zusammen mit dem Rest des Betriebssystems im Root-Dateisystem befindet. Manchmal ist es jedoch hilfreich, das Dokumentstammverzeichnis an einen anderen Speicherort zu verschieben, z. B. in ein separates bereitgestelltes Dateisystem. Wenn Sie beispielsweise mehrere Websites von derselben Nginx-Instanz bedienen, können Sie den Dokumentenstamm jeder Site auf ein eigenes Volume setzen, um die Skalierung an die Anforderungen einer bestimmten Site oder eines bestimmten Clients anzupassen.

In diesem Handbuch wird gezeigt, wie Sie einen Nginx-Dokumentstamm an einen neuen Speicherort verschieben.

Voraussetzungen

Um diesen Leitfaden zu vervollständigen, benötigen Sie:

  • * Ein Ubuntu 16.04-Server mit einem Nicht-Root-Benutzer mit + sudo + -Privilegien *. Weitere Informationen zum Einrichten eines Benutzers mit diesen Berechtigungen finden Sie unter Initial Server Setup with Ubuntu 16.04 leiten.

  • * Ein Nginx-Webserver *: Wenn Sie noch keinen eingerichtet haben, lesen Sie den ausführlichen Artikel unter https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16 -04 [Wie installiert man Nginx unter Ubuntu 16.04], kann Sie führen.

  • * Ein neuer Speicherort für Ihr Dokumentenstammverzeichnis *: Der neue Speicherort für das Dokumentenstammverzeichnis kann gemäß Ihren Anforderungen vollständig konfiguriert werden. Wenn Sie das Stammverzeichnis Ihres Dokuments auf ein anderes Speichergerät verschieben, möchten Sie einen Speicherort unter dem Bereitstellungspunkt des Geräts auswählen. In diesem Beispiel verwenden wir das Verzeichnis + / mnt / volume-nyc1-01 +. Wenn Sie Block Storage auf DigitalOcean verwenden, zeigt this guide, wie Sie Ihr Laufwerk bereitstellen, bevor Sie fortfahren mit diesem Tutorial.

Schritt 1 - Kopieren von Dateien an den neuen Speicherort

Bei einer Neuinstallation von Nginx befindet sich der Dokumentenstamm unter "+ / var / www / html". Wenn Sie jedoch mit einem vorhandenen Server arbeiten, haben Sie möglicherweise ein erheblich anderes Setup, einschließlich mehrerer Dokumentstämme in entsprechenden Serverblockdirektiven.

Sie können mit + grep + nach dem Speicherort zusätzlicher Dokumentstämme suchen. Wir durchsuchen das Verzeichnis "+ / etc / nginx / sites-enabled ", um unseren Fokus auf aktive Sites zu beschränken. Das ` -R ` Flag stellt sicher, dass ` grep ` sowohl die Zeile mit der ` root +` Direktive als auch den Dateinamen in der Ausgabe ausgibt:

grep "root" -R /etc/nginx/sites-enabled

Das Ergebnis sieht ungefähr so ​​aus wie in der folgenden Ausgabe, obwohl die Namen und die Anzahl der Ergebnisse bei einer vorhandenen Installation wahrscheinlich unterschiedlich sind:

Output/etc/nginx/sites-enabled/default:       root /var/www/html;
/etc/nginx/sites-enabled/default:       # deny access to .htaccess files, if Apache's document root
/etc/nginx/sites-enabled/default:#      root /var/www/example.com;

Verwenden Sie das Feedback von "+ grep +", um sicherzustellen, dass Sie die gewünschten Dateien kopieren und die entsprechenden Konfigurationsdateien aktualisieren.

Nachdem wir den Speicherort unseres Dokumentenstamms bestätigt haben, kopieren wir die Dateien mit "+ rsync " an ihren neuen Speicherort. Wenn Sie das Flag " -a " verwenden, bleiben die Berechtigungen und andere Verzeichniseigenschaften erhalten, während " -v +" eine ausführliche Ausgabe liefert, mit der Sie den Fortschritt verfolgen können.

sudo rsync -av /var/www/

Jetzt können wir die Konfiguration aktualisieren.

Schritt 2 - Aktualisieren der Konfigurationsdateien

Nginx verwendet sowohl globale als auch standortspezifische Konfigurationsdateien. Hintergrundinformationen zur Hierarchie der Konfigurationsdateien finden Sie unter https://www.digitalocean.com/community/tutorials/how-to-configure-the-nginx-web-server-on-a-virtual-private-server [So konfigurieren Sie den Nginx-Webserver auf einem virtuellen privaten Server].

Wenn Sie mit einer vorhandenen Installation arbeiten, sollten Sie die zuvor mit dem Befehl "+ grep " gefundenen Dateien ändern. In unserem Beispiel sehen wir uns die Standardkonfigurationsdatei mit dem Namen " default +" an.

Öffnen Sie die Datei in einem Editor:

sudo nano /etc/nginx/sites-enabled/default

Suchen Sie dann die Zeile, die mit "+ root +" beginnt, und aktualisieren Sie sie mit dem neuen Speicherort.

/ etc / nginx / sites-enabled / default

. . .
      # include snippets/snakeoil.conf;
      root ;


      # Add index.php to the list if you are using PHP


      index index.html index.htm index.nginx-debian.html;
      server_name _;
. . .

Wenn Sie alle erforderlichen Änderungen vorgenommen haben, speichern und schließen Sie die Datei.

Schritt 3 - Nginx neu starten

Sobald Sie die Konfigurationsänderungen abgeschlossen haben, können Sie mit diesem Befehl sicherstellen, dass die Syntax korrekt ist:

sudo nginx -t

Wenn alles in Ordnung ist, sollte es zurückkehren:

Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Wenn der Test fehlschlägt, suchen Sie die Probleme und beheben Sie sie.

Starten Sie Nginx nach erfolgreichem Test neu:

sudo systemctl restart nginx

Besuchen Sie nach dem Neustart des Servers die betroffenen Sites und stellen Sie sicher, dass sie wie erwartet funktionieren. Vergessen Sie nicht, die Originalkopie der Daten zu entfernen, wenn Sie sich sicher sind, dass alles in Ordnung ist.

sudo rm -Rf /var/www/html

Fazit

In diesem Lernprogramm wurde erläutert, wie Sie den Nginx-Dokumentstamm in einen neuen Speicherort ändern. Dies kann Ihnen bei der grundlegenden Webserververwaltung helfen, beispielsweise bei der effektiven Verwaltung mehrerer Websites auf einem einzelnen Server. Darüber hinaus können Sie alternative Speichergeräte wie den Netzwerkblockspeicher nutzen. Dies ist ein wichtiger Schritt bei der Skalierung einer Website, wenn sich ihre Anforderungen ändern.

Wenn Sie eine geschäftige oder wachsende Website verwalten, möchten Sie möglicherweise https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support- on-ubuntu-16-04 [Einrichten von Nginx mit HTTP / 2], um die hohe Übertragungsgeschwindigkeit für Inhalte zu nutzen. Weitere Informationen zur Verbesserung des Produktionserlebnisses finden Sie in diesem Vergleich von https://www.digitalocean.com/community/tutorials/5-ways-to-prove-your-production-web-application-server-setup auf fünf Arten zur Verbesserung des Setups Ihres Produktionswebanwendungsservers].

Related