Richtige Schritte zur Installation von Nginx unter Linux

Richtige Schritte zur Installation von Nginx unter Linux

Vorwort

Wenn Sie wie ich ein fleißiger Java-Backend-Entwickler sind, müssen Sie neben der Implementierung einer großen Anzahl von Projektfunktionen auch die Bereitstellung sowie den Betrieb und die Wartung des Projekts berücksichtigen. Installieren Sie ein neues Nginx auf einem neuen Server. Sehen Sie sich vor der Installation die Online-Tutorials an. Angesichts der Vielzahl von Tutorials und Installationsmethoden werden Sie sich immer fragen, welche Methode die beste ist oder welche Methode für Sie am besten geeignet ist? Als Nächstes analysieren wir die verschiedenen Nginx-Installationsmethoden und sehen, für welche Situation jede geeignet ist.

Installation mithilfe der binären Systemquelle

Unter Ubuntu/Debian

sudo apt-get installiere nginx

Oder RedHat/CentOS

sudo yum installiere nginx

Diese Methode ist die einfachste und schnellste, aber nicht die beste. Lassen Sie uns weiter unten über dieses Hauptproblem sprechen.

Vorteil

  • Alle binären Installationsabhängigkeiten wurden berücksichtigt, Sie müssen sich keine Sorgen über Kompatibilitätsprobleme machen, es kann sofort verwendet werden
  • Nginx-Verbindungskonfiguration, Benutzerberechtigungen, Sie müssen sich nicht darum kümmern, es wurde für Sie geschrieben
  • Machen Sie sich keine Sorgen über Nginx Bug-Wartung und Upgrades, holen Sie sich einfach das neueste System
  • Die Deinstallation ist einfach, nur ein Befehl
  • Die Protokollpflege ist einfach, das Protokoll des Tages wird automatisch gekürzt und komprimiert und gespeichert

Mangel

  • Die Installationsversion kann nicht unabhängig ausgewählt werden
  • Kompilierte Module können nicht unabhängig ausgewählt werden
  • Die Erweiterung der Funktionalität wird umständlich und erfordert eine Neukompilierung
  • Die Verzeichnisstruktur ist komplex, die Konfigurationsdateien befinden sich in /etc/ und die Bereitstellungsdateien in /var/www
  • Zum Neustarten von Diensten und Ändern von Konfigurationen sind Root-Berechtigungen erforderlich
  • Kompilieren und Installieren mit schlechter Leistung

Wenn Sie ein Linux-Neuling sind, ist diese Installationsmethode unbedingt zu empfehlen. Sie müssen sich keine Gedanken über Kompilierungsabhängigkeiten machen und können es direkt nach der Installation verwenden. Wenn Ihr Server jedoch in einer Produktionsumgebung verwendet und weiterentwickelt und schrittweise verbessert wird, ist diese Methode nicht zu empfehlen. Möglicherweise werden in Zukunft Module von Drittanbietern hinzugefügt, die unbedingt kompiliert und installiert werden müssen (siehe unten). Verwenden Sie beim Neustart des Servers nicht den Root-Benutzer, sondern verwenden Sie sudo, um vorübergehend Root zu erhalten. Wenn Ihr Server zum Bereitstellen statischer Dateien und Webspaces verwendet wird und Sie normalerweise FTP-Tools zum Bereitstellen von Dateien verwenden, stellt diese Methode kein Problem dar.

Kompilieren und installieren

Ich werde nicht über die Vor- und Nachteile schreiben, sondern im Grunde nur das oben Gesagte umkehren. Für die Installation mit dieser Methode müssen Sie über einige Kenntnisse zur Linux-Kompilierung verfügen. Nur fortgeschrittene Linux-Benutzer kommen damit zurecht. Ich habe gesehen, dass die meisten Online-Tutorials die Kompilierungsabhängigkeiten direkt in /usr/local/ installieren, was kein guter Ansatz ist. Wenn wir diese Abhängigkeiten in Zukunft deinstallieren möchten, wird dies sehr mühsam sein. Es ist nicht möglich, die Verzeichniskategorie einfach zu löschen. Einige Linux-Distributionen schreiben die Installationsdateien in Konfigurationsdateien und ich weiß nicht, wo ich diese Konfigurationsdateien finden kann. Wenn die abhängige Version andere Software betrifft, wie mit dem Versionsproblem umzugehen ist. Wir wollten nur Nginx installieren, aber das führte zu vielen Problemen.

Vorbereitung der Kompilierungsumgebung

Stellen Sie vor dem Start sicher, dass gcc, make, wget und g++ auf Ihrem Linux-System installiert sind.

Erstellen Sie ein Verzeichnis zum Speichern heruntergeladener Dateien. Geben Sie das Verzeichnis ein, um die Quelldateien der abhängigen Bibliothek herunterzuladen.

Laden Sie OpenSSL hauptsächlich für die SSL-Modulverschlüsselung herunter und unterstützen Sie http

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz

Laden Sie pcre herunter, um Unterstützung für Adressumleitung, Adressumschreibung, Lokalisierungsanweisungen und reguläre Ausdrücke zu implementieren

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz

Laden Sie das zlib-GZIP-Komprimierungsmodul herunter

wget https://zlib.net/zlib-1.2.11.tar.gz

Laden Sie Nginx herunter

wget http://nginx.org/download/nginx-1.17.1.tar.gz

Entpacken Sie alle Dateien mit tar

ls *.tar.gz | xargs -n1 tar xzvf

Kompilierungsoptionen

Ein Skript, das mit ./configure verschiedene Nginx-Parameter festlegt, darunter Pfade zu Quell- und Konfigurationsdateien, Compileroptionen, Methoden zur Verbindungsverarbeitung und Modullisten. Das Skript wird abgeschlossen, indem die Makefiles erstellt werden, die zum Kompilieren des Codes und Installieren von Nginx Open Source erforderlich sind.

Parameter beschreiben
--prefix=<PFAD> Der Basisspeicherort für das Nginx-Installationsverzeichnis sowie alle relativen Pfade, die von anderen Konfigurationsskriptoptionen festgelegt werden. Standardwert /usr/local/nginx
–sbin-path=<PFAD Der Name der binären Ausführungsdatei von Nginx, Standardwert: <Präfix>/sbin/nginx
--conf-path=<PFAD> Der Name der Nginx-Konfigurationsdatei. Sie können diesen Wert beim Start jedoch jederzeit überschreiben, indem Sie mit der Option in der Nginx-Befehlszeile eine andere Datei angeben. Standard: <Präfix>conf/nginx.conf -c <DATEINAME>
--pid-path=<PFAD> Der Name der Datei nginx.pid, die zum Speichern der Prozess-ID des Nginx-Masterprozesses verwendet wird. Nach der Installation kann der Pfad zum Dateinamen mithilfe der PID-Direktive in der Nginx-Konfigurationsdatei geändert werden. Standardwert: <Präfix>/logs/nginx.pid
--error-log-path=<PFAD> Der Name der Protokolldatei für Fehler-, Warn- und Diagnosedaten. Nach der Installation kann der Dateiname mit der Direktive error_log in der Nginx-Konfigurationsdatei geändert werden. Standardwert: <Präfix>/logs/error.log
–http-log-path=<PFAD> Der Name der Hauptprotokolldatei für HTTP-Serveranforderungen. Nach der Installation kann der Dateiname jederzeit mit der Direktive access_log in der Nginx-Konfigurationsdatei geändert werden. Standardwert: <Präfix> /logs/access.log
--user=<NAME> Der Besitzer des laufenden Nginx-Prozesses. Nach der Installation kann der Name mithilfe der Benutzerdirektive in der Nginx-Konfigurationsdatei geändert werden. Standardmäßig: niemand
–Gruppe=Name Die Eigentümerbenutzergruppe des laufenden Nginx-Prozesses. Nach der Installation kann der Name mithilfe der Benutzerdirektive in der NGINX-Konfigurationsdatei geändert werden. Standardwert: der durch die Option --user festgelegte Wert
--with-pcre=<PFAD> Pfad zum Quellcode der PCRE-Bibliothek, der für die Unterstützung regulärer Ausdrücke in der Location-Direktive und dem Rewrite-Modul erforderlich ist
--mit-pcre-jit Erstellen Sie die PCRE-Bibliothek mit Unterstützung für „Just-In-Time-Kompilierung“ (pcre_jit-Direktive).
--with-zlib=<PFAD> Der Quellcodepfad der zlib-Bibliothek, der vom Gzip-Modul benötigt wird
–mit-http_ssl_modul HTTPS-Unterstützung aktivieren
–mit-http_v2_module Aktivieren Sie die Unterstützung für HTTP/2-Anforderungen

Es gibt zu viele Kompilierungsparameter, als dass ich sie einzeln auflisten könnte. Interessierte Studenten können sich an

Siehe offizielle Nginx-Website

Kompilieren und installieren

./konfigurieren \
  --with-openssl=../openssl-1.0.2s \
  --mit-pcre=../pcre-8.43 \
  --mit-zlib=../zlib-1.2.11 \
  --mit-pcre-jit --user=admin \
  --prefix=/home/admin/nginx \
  --mit-http_ssl_module \
  --mit-http_v2_module

Geben Sie die folgenden Informationen aus, um anzuzeigen, dass die Abhängigkeit in Ordnung ist

Konfigurationsübersicht
 + PCRE-Bibliothek verwenden: ../pcre-8.43
 + Verwendung der OpenSSL-Bibliothek: ../openssl-1.0.2s
 + Verwendung der zlib-Bibliothek: ../zlib-1.2.11
 
 nginx-Pfadpräfix: „/home/admin/nginx“
 nginx-Binärdatei: "/home/admin/nginx/sbin/nginx"
 Pfad der Nginx-Module: „/home/admin/nginx/modules“
 nginx-Konfigurationspräfix: „/home/admin/nginx/conf“
 nginx-Konfigurationsdatei: „/home/admin/nginx/conf/nginx.conf“
 nginx-PID-Datei: „/home/admin/nginx/logs/nginx.pid“
 nginx-Fehlerprotokolldatei: „/home/admin/nginx/logs/error.log“
 nginx HTTP-Zugriffsprotokolldatei: „/home/admin/nginx/logs/access.log“
 Temporäre Dateien für den Anforderungstext des Nginx-HTTP-Clients: „client_body_temp“
 Temporäre Dateien des Nginx-HTTP-Proxys: „proxy_temp“
 Temporäre nginx http fastcgi-Dateien: „fastcgi_temp“
 nginx http uwsgi temporäre Dateien: „uwsgi_temp“
 Temporäre nginx http scgi-Dateien: „scgi_temp“

Kompilieren

machen

Installieren

installieren

Festlegen von Berechtigungen

Da Linux normale Benutzer einstellt und keine Ports unter 1024 belegen kann, führt das direkte Starten von nginx zu Fehlern aufgrund unzureichender Berechtigungen. Weisen Sie nginx dem Root-Benutzer zu und erteilen Sie spezielle Berechtigungen.

sudo chown root nginx
sudo chmod u+s nginx

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So installieren Sie Nginx schnell unter Linux
  • Detaillierte Schritte zur Installation von Nginx unter Linux
  • Tutorial zur Installation von Nginx in einer Linux-Umgebung

<<:  Einfache Verwendung von temporären MySQL-Tabellen

>>:  Beispiel für einen Vue-Übergang zum Erreichen eines Animationseffekts

Artikel empfehlen

So legen Sie Remotezugriffsberechtigungen in MySQL 8.0 fest

Im vorherigen Artikel wurde erklärt, wie man das ...

So implementieren Sie Seitensprünge in einem Vue-Projekt

Inhaltsverzeichnis 1. Erstellen Sie ein Vue-CLI-S...

Vue implementiert Baumtabelle

In diesem Artikelbeispiel wird der spezifische Co...

Mit CSS3 implementierte Text-Popup-Effekte

Ergebnisse erzielenImplementierungscode html <...

MySQL 5.7.18 Green Edition Download- und Installations-Tutorial

Dieser Artikel beschreibt den detaillierten Vorga...

WeChat Mini-Programm Lotterienummerngenerator

In diesem Artikel wird der spezifische Code des W...

Detaillierte Erklärung der Kodierungsprobleme bei MySQL-Befehlszeilenoperationen

1. Überprüfen Sie die MySQL-Datenbankkodierung my...

Verwenden von js zur Realisierung eines dynamischen Hintergrunds

In diesem Artikelbeispiel wird der spezifische Co...

js, um die Rotation von Webseitenbildern zu realisieren

In diesem Artikel wird der spezifische Code von j...