1 Einführung in nginx1 Was ist nginxNginx ist ein leistungsstarker HTTP-Server/Reverse-Proxy-Server und E-Mail-Proxy-Server (IMAP/POP3). Der offizielle Test der vom russischen Programmierer Igor Sysoev entwickelten Version zeigt, dass Nginx 50.000 gleichzeitige Verbindungen unterstützen kann. Darüber hinaus ist der Verbrauch von Ressourcen wie CPU und Speicher sehr gering und der Betrieb sehr stabil. 2 Anwendungsszenarien1. HTTP-Server. Nginx ist ein HTTP-Dienst, der eigenständig HTTP-Dienste bereitstellen kann. Kann als statischer Webserver verwendet werden. 2. Virtueller Host. Es ist möglich, mehrere Websites auf einem Server zu virtualisieren. Beispielsweise ein virtueller Host, der von einer persönlichen Website verwendet wird. 3. Reverse-Proxy, Lastausgleich. Wenn die Anzahl der Besuche einer Website ein bestimmtes Niveau erreicht, kann ein einzelner Server die Anforderungen des Benutzers nicht mehr erfüllen. Wenn Sie mehrere Servercluster verwenden müssen, können Sie nginx als Reverseproxy verwenden. Und mehrere Server können die Last gleichmäßig verteilen, Es wird keine Situation geben, in der ein Server wegen hoher Auslastung im Leerlauf ist. 2 Nginx-Installation1 HerunterladenOffizielle Website: http://nginx.org/en/download.html Die offizielle Website bietet drei Versionen: Die offizielle Nginx-Website bietet drei Arten von Versionen Mainline-Version: Mainline ist die Version, an der Nginx derzeit arbeitet, und man kann sagen, dass es sich um eine Entwicklungsversion handelt. Stabile Version: die neueste stabile Version, die für die Produktionsumgebung empfohlene Version Legacy-Versionen: Stabile Versionen von Legacy-Versionen Wir laden die stabile Version unten herunter Die verwendete Version ist 1.14.0.tar.gz. 2 Anforderungen an die InstallationsumgebungDie folgende Umgebung muss entsprechend Ihrer Systemsituation bestimmt werden. Wenn Sie die Umgebung nicht haben, installieren Sie einfach Folgendes. 1. Sie müssen eine gcc-Umgebung installieren# yum installiere gcc-c++ 2. Entwicklungskits von Drittanbietern1 PERE PCRE (Perl Compatible Regular Expressions) ist eine Perl-Bibliothek, die eine Perl-kompatible Bibliothek für reguläre Ausdrücke enthält. Das http-Modul von nginx verwendet pcre zum Parsen regulärer Ausdrücke, daher muss die pcre-Bibliothek unter Linux installiert werden. Hinweis: pcre-devel ist eine sekundäre Entwicklungsbibliothek, die mit pcre entwickelt wurde. nginx erfordert auch diese Bibliothek. # yum install -y pcre pcre-devel 2 zlib Die zlib-Bibliothek bietet zahlreiche Komprimierungs- und Dekomprimierungsmethoden. Nginx verwendet zlib, um den Inhalt des HTTP-Pakets zu gzippen, daher muss die zlib-Bibliothek unter Linux installiert werden. # yum install -y zlib zlib-devel 3 öffnet sich OpenSSL ist eine leistungsstarke kryptografische Bibliothek auf Secure Socket Layer, die wichtige kryptografische Algorithmen, häufig verwendete Funktionen zur Verwaltung der Schlüssel- und Zertifikatskapselung sowie SSL-Protokolle enthält. Und bieten vielfältige Einsatzmöglichkeiten für Tests oder andere Zwecke. Nginx unterstützt nicht nur das HTTP-Protokoll, sondern auch HTTPS (d. h. die Übertragung von HTTP über das SSL-Protokoll). Daher müssen Sie die OpenSSL-Bibliothek unter Linux installieren. # yum -y installiere pcre pcre-devel zlib zlib-devel openssl openssl-devel 3 Nginx-Installationsprozess1 Laden Sie das Nginx-Quellpaket auf das Linux-System hoch 2 Entpacken nach /usr/local # tar -xvf nginx-1.14.0.tar.gz -C /usr/local 3 Verwenden Sie den Befehl cofigure, um eine makeFile-Datei zu erstellen Achten Sie beim Ausführen des folgenden Befehls darauf, das Verzeichnis nginx-1.14.0 aufzurufen. ./konfigurieren \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --mit-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi \--mit-http_stub_status_module \--mit-http_ssl_module \--mit-file-aio \--mit-http_realip_module Wenn keine MakeFile-Datei vorhanden ist, wird beim Kompilieren ein Fehler gemeldet \ bedeutet, dass der Befehl noch nicht eingegeben wurde und eine neue Zeile darstellt. --prefix=/usr/local/nginx bedeutet, dass die Software unter /usr/local/nginx installiert ist. Beim Ausführen von „make install“ ist es nicht erforderlich, den Installationspfad anzugeben. Überprüfen Sie nach Abschluss der Ausführung, ob sich bereits eine Makefile-Datei im Verzeichnis befindet Hinweis: Geben Sie vor dem Starten von nginx das temporäre Dateiverzeichnis als /var/temp/nginx an. Sie müssen temporäre und nginx-Verzeichnisse unter /var erstellen 4 Verzeichnis /var/temp/nginx/ erstellen # mkdir /var/temp/nginx -p -p bedeutet Kaskadenerstellung 5 Geben Sie nginx-1.14.0 ein und führen Sie den Befehl make zum Kompilieren aus 6 Geben Sie nginx-1.14.0 ein und führen Sie den Befehl make install aus, um Ein erneutes Ausführen des Installationspfades ist hier nicht nötig, dieser wurde bereits beim Erstellen des Makefiles angegeben. 7 Geben Sie den Installationsort /usr/local/nginx ein, um die Verzeichnisstruktur anzuzeigen Darunter ist HTML die HTML-Datei der Homepage. conf enthält Konfigurationsdateien. In sbin sind nur ausführbare Dateien enthalten. 3 Starten Sie nginxWechseln Sie in das sbin-Verzeichnis und führen Sie den Befehl ./nginx aus. [root@admin sbin]# ./nginx 4 Überprüfen Sie, ob nginx gestartet ist[root@admin sbin]# ps -aux | grep nginx Der Befehl ps wird verwendet, um den Prozessstatus des aktuellen Systems zu melden. -a: Zeigt Programme an, die in allen Terminals ausgeführt werden, mit Ausnahme des Stage-Job-Leaders. a: Alle Programme unter dem aktuellen Terminal anzeigen, einschließlich der Programme anderer Benutzer. u: Programmstatus im benutzerorientierten Format anzeigen. x: Alle Programme anzeigen, unabhängig vom Terminal. 5. Nginx herunterfahren[root@admin sbin]# ./nginx -s stop oder [root@admin sbin]# ./nginx -s beenden 6 Starten Sie nginx neuErst herunterfahren, dann hochfahren 7 Aktualisieren Sie die Konfigurationsdatei[root@admin sbin]# ./nginx -s neu laden 8. Deaktivieren Sie die Firewall und aktivieren Sie den FernzugriffZuerst müssen Sie die Firewall ausschalten: Der Standardport ist 80 Methode 1: Port 80 dauerhaft öffnen /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/rc.d/init.d/iptables speichern Methode 2: Deaktivieren Sie vorübergehend die Systemfirewall # Dienst iptables stoppen Methode 3: Deaktivieren Sie die Firewall dauerhaft, indem Sie die Konfiguration ändern und booten, ohne die Firewall zu starten # chkconfig iptables aus Spezial: Für Alibaba Cloud Sicherheitsgruppenregeln müssen hinzugefügt werden 9 Zugriff auf nginx10. Virtuellen Host konfigurierenEs dient zum Starten mehrerer Websites auf einem Server. So unterscheiden Sie verschiedene Websites: Es gibt hauptsächlich zwei Möglichkeiten Methode 1: Verschiedene Ports Methode 2: Verschiedene Domänennamen 11 Unterscheiden verschiedener Hosts anhand des PortsSpeicherort der Nginx-Konfigurationsdatei: /usr/local/nginx/conf/nginx.conf Der Inhalt der ursprünglichen Konfigurationsdatei ist wie folgt: Wir können mehrere Server konfigurieren, um mehrere virtuelle Maschinen zu konfigurieren Der folgende Test: Kopieren Sie das ursprüngliche HTML-Verzeichnis und benennen Sie es in html-81 Ändern Sie die Datei index.html unten, um die Unterscheidung zu erleichtern [root@admin nginx]# vim html-81/index.html Nachdem die Änderung abgeschlossen ist, aktualisieren Sie die folgenden Konfigurationsdateien [root@admin sbin]# ./nginx -s neu laden Besuchen Sie dann 192.168.204.131:80 bzw. 192.168.204.131:81 12 Mehrere Domänennamen unterscheiden virtuelle Hosts1. Was ist ein Domänenname?Der Domänenname ist die Website: www.baidu.com ist der Domänenname Der DNS-Domänennamenauflösungsserver löst Domänennamen in IP-Adressen auf. Gespeichert wird lediglich die Abbildungsbeziehung zwischen Domänenname und IP-Adresse. Domänenname der ersten Ebene: baidu.com Domänenname der zweiten Ebene: www.baidu.com Domänenname der dritten Ebene: image.baidu.com Ein Domänenname entspricht einer IP-Adresse, und eine IP-Adresse kann an mehrere Domänennamen gebunden sein. Sie müssen lediglich einen Domänennamen der ersten Ebene kaufen und können die Domänennamen der zweiten und dritten Ebene beliebig definieren. Wir können den lokalen Test abschließen, indem wir die Host-Konfigurationsdatei ändern: Speicherort der Hosts-Datei: C:\Windows\System32\drivers\etc Sie können die Zuordnungsbeziehung zwischen Domänennamen und IP manuell konfigurieren. Wenn die entsprechende Beziehung zwischen Domänennamen und IP in der Hosts-Datei konfiguriert ist, ist der Umweg über den DNS-Domänennamenauflösungsserver nicht erforderlich. Denn wenn Sie einen Domänennamen erhalten, suchen Sie ihn zunächst in der Hosts-Datei. Wenn er nicht gefunden wird, suchen Sie ihn im DNS-Domänennamen-Resolver. 2 Nginx-Konfiguration3 Testen1 Ändern Sie die Konfigurationsdatei des lokalen Hosts 2 Kopieren Sie das HTML-Verzeichnis und benennen Sie es in html-taobao bzw. html-baidu um 3 Ändern Sie die Dateien index.html in html-baidu und html-taobao, um die Unterscheidung zu erleichtern 4 Aktualisieren Sie die Konfigurationsdatei [root@admin sbin]# ./nginx -s neu laden 5 Besuchen Sie dann mit dem Browser: www.taobao.com und www.baidu.com 13 Weiterleitungsproxy14 Reverse-ProxyDer Reverse-Proxy-Server bestimmt, welcher Server den Dienst bereitstellt 15 nginx implementiert Reverse-ProxyDie beiden Domänennamen verweisen auf denselben Nginx-Server, und wenn Benutzer unterschiedliche Domänennamen besuchen, werden unterschiedliche Webseiteninhalte angezeigt. Die beiden Domänennamen sind www.baidu.com und www.taobao.com Der Nginx-Proxyserver verwendet die virtuelle Maschine 192.168.204.131 Schritt 1: Installieren Sie zwei Tomcat-Server und führen Sie sie auf den Ports 8080 bzw. 8081 aus. Schritt 2: Starten Sie zwei Tomcats. Schritt 3: Reverse-Proxy-Server-Konfiguration Schritt 4: nginx lädt die Konfigurationsdatei neu Schritt 5: Konfigurieren des Domänennamens Fügen Sie die Zuordnung zwischen Domänennamen und IP in der Hosts-Datei hinzu 192.168.204.131 www.baidu.com 192.168.204.131 www.taobao.com 16 LastverteilungWird ein Dienst von mehreren Servern bereitgestellt, muss die Last zur Verarbeitung auf unterschiedliche Server verteilt werden, wozu ein Lastenausgleich erforderlich ist. Das Servergewicht kann entsprechend der tatsächlichen Situation des Servers angepasst werden. Je höher die Gewichtung, desto mehr Anfragen werden zugewiesen, und je niedriger die Gewichtung, desto weniger Anfragen werden zugewiesen. Der Standardwert ist 1 17 Stellen Sie nginx so ein, dass es beim Booten automatisch gestartet wird (centos6.5)Jedes Mal, wenn Sie den Nginx-Dienst starten, müssen Sie im Installationsverzeichnis zu /sbin gehen, was ziemlich mühsam ist. Im Folgenden wird beschrieben, wie Sie nginx für den automatischen Start auf einem Linux-System (CentOS) einrichten. 1 Nginx-Dienst mit Skripten verwalten Schritt 1: Erstellen Sie die nginx-Datei im Verzeichnis /etc/init.d/. Der Befehl lautet wie folgt: # berühren Sie /etc/init.d/nginx Schritt 2: Fügen Sie der erstellten Nginx-Datei den folgenden Inhalt hinzu Führen Sie zuerst den Befehl aus: # vim /etc/init.d/nginx Fügen Sie dann den folgenden Inhalt hinzu und kopieren Sie ihn in die nginx-Konfigurationsdatei #!/bin/sh # # nginx - dieses Skript startet und stoppt den nginx-Daemon # # chkconfig: -85 15 # Beschreibung: NGINX ist ein HTTP(S)-Server, HTTP(S) Reverse \ # Proxy und IMAP/POP3-Proxyserver # Prozessname: nginx # Konfiguration: /etc/nginx/nginx.conf # Konfiguration: /etc/sysconfig/nginx # PID-Datei: /var/run/nginx.pid # Quellfunktionsbibliothek. . /etc/rc.d/init.d/Funktionen # Quellnetzwerkkonfiguration. . /etc/sysconfig/netzwerk # Überprüfen Sie, ob das Netzwerk aktiv ist. [ "$NETWORKING" = "nein" ] && exit 0 nginx="/usr/sbin/nginx" prog=$(Basisname $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # erforderliche Verzeichnisse erstellen Benutzer=`$nginx -V 2>&1 | grep "Argumente konfigurieren:" | sed 's/[^*]*--Benutzer=\([^ ]*\).*/\1/g' -` wenn [ -z "`grep $user /etc/passwd`" ]; dann useradd -M -s /bin/nologin $user fi Optionen=`$nginx -V 2>&1 | grep 'Argumente konfigurieren:'` für Opt-in $options; tun wenn [ `echo $opt | grep '.*-temp-path'` ]; dann Wert=`echo $opt | cut -d "=" -f 2` wenn [ ! -d "$wert" ]; dann # echo "erstellen" $value mkdir -p $Wert && chown -R $Benutzer $Wert fi fi Erledigt } Start() { [ -x $nginx ] || beenden 5 [ -f $NGINX_CONF_FILE ] || beenden 6 make_dirs echo -n $"$prog wird gestartet: " Daemon $nginx -c $NGINX_CONF_FILE retval=$? Echo [ $retval -eq 0 ] && touch $lockfile Rückgabewert $retval } stoppen() { echo -n $"$prog wird gestoppt: " killproc $prog -QUIT retval=$? Echo [ $retval -eq 0 ] && rm -f $lockfile Rückgabewert $retval } neu starten() { Konfigurationstest || return $? stoppen Schlaf 1 Start } neu laden() { Konfigurationstest || return $? echo -n $"Lade $prog neu: " killproc $nginx -HUP RETVAL=$? Echo } force_reload() { Neustart } konfigurationtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { Status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } Fall "$1" in Start) rh_status_q und beenden 0 1 Dollar ;; stoppen) rh_status_q || beenden 0 1 Dollar ;; Neustart|Konfigurationstest) 1 Dollar ;; neu laden rh_status_q || Ausgang 7 1 Dollar ;; erzwungenes Neuladen erzwingen_neuladen ;; Status) rh_status ;; condrestart|versuchen Sie einen Neustart) rh_status_q || beenden 0 ;; *) echo $"Verwendung: $0 {Start|Stopp|Status|Neustart|Condrestart|Neustartversuch|Neuladen|Neuladen erzwingen|Configtest}" Ausfahrt 2 esac Die obige Skriptdatei wurde nicht von mir selbst geschrieben, sondern wird offiziell von nginx bereitgestellt. Adresse: http://wiki.nginx.org/RedHatNginxInitScript Hinweis: Wenn Sie die Installation von nginx angepasst haben, ändern Sie den Installationspfad und die Konfigurationsdateien entsprechend der tatsächlichen Situation. Kopieren Sie den Code wie folgt: nginx="/usr/sbin/nginx" Ändern Sie es in den Pfad Ihres Nginx-Ausführungsprogramms. Meins ist beispielsweise nginx="/usr/local/nginx/sbin/nginx" Kopieren Sie den Code wie folgt: NGINX_CONF_FILE="/etc/nginx/nginx.conf" Wechseln Sie zum Pfad Ihrer Konfigurationsdatei, zum Beispiel: NGINX_CONF_FILE="/usr/local/nginx/nginx.conf Nachdem die Änderung abgeschlossen ist, speichern Sie die Skriptdatei und beenden Sie sie mit wq Schritt 3: Berechtigungen für nginx-Dateien festlegen # chmod a+x /etc/init.d/nginx Erklärung: a+x ==> alle Benutzer können ausführen (alle Benutzer können ausführen) bedeutet Schritt 4: Skripte verwalten An diesem Punkt können wir das Nginx-Skript verwenden, um den Dienst zu verwalten # /etc/init.d/nginx start Starten Sie den Dienst. # /etc/init.d/nginx stop Stoppen Sie den Dienst. # /etc/init.d/nginx restart Starten Sie den Dienst neu. # /etc/init.d/nginx status Überprüfen Sie den Status des Dienstes. # /etc/init.d/nginx reload Aktualisieren Sie die Konfigurationsdatei. 2 Verwenden Sie die chkconfig-Verwaltung Die obige Methode vervollständigt die Funktion der Verwaltung des Nginx-Dienstes mit Skripten, ist aber dennoch nicht sehr praktisch. Sie müssen beispielsweise Nginx so einrichten, dass es beim Booten gestartet wird. Derzeit können wir chkconfig zur Verwaltung verwenden. Schritt 1: Fügen Sie den Nginx-Dienst zur Chkconfig-Verwaltungsliste hinzu # chkconfig --add /etc/init.d/nginx Schritt 2: Service-Management-Dienst verwenden # service nginx start Dienst starten # service nginx stop Dienst stoppen # service nginx restart Dienst neu starten # service nginx status Status des Dienstes abfragen # service nginx relaod Konfigurationsdatei aktualisieren Schritt 3: Terminalmodus auf Start einstellen # chkconfig nginx ein 17 Stellen Sie nginx so ein, dass es beim Booten automatisch gestartet wird (centos7.4)Schritt 1: Gehen Sie zum Verzeichnis /lib/systemd/system/ [root@iz2z init.d]# cd /lib/systemd/system/ Schritt 2: Erstellen Sie die Datei nginx.service und bearbeiten Sie sie # vim nginx.service Der Inhalt ist wie folgt: [Einheit] Beschreibung=nginx-Dienst Nach=Netzwerk.Ziel [Service] Typ=Forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s neu laden ExecStop=/usr/local/nginx/sbin/nginx -s beenden PrivateTmp=true [Installieren] WantedBy=Mehrbenutzer.Ziel [Einheit]: Beschreibung des Dienstes Beschreibung:Beschreiben Sie den Dienst Nachher: Beschreiben Sie die Servicekategorie [Service] Einstellen der Servicebetriebsparameter Type=forking bedeutet Hintergrundoperation ExecStart ist der spezifische Ausführungsbefehl des Dienstes ExecReload ist der Neustartbefehl ExecStop ist der Stoppbefehl PrivateTmp=True bedeutet, dem Dienst unabhängigen temporären Speicherplatz zuzuweisen Hinweis: Alle Start-, Neustart- und Stoppbefehle von [Service] erfordern absolute Pfade. [Installieren] Verwandte Einstellungen für die Dienstinstallation unter der Ausführungsebene können auf Mehrbenutzer eingestellt werden, d. h. die Systemausführungsebene ist 3 Speichern und beenden. Schritt 3: Autostart hinzufügen # systemctl nginx aktivieren Wenn Sie den Computer nicht automatisch starten möchten, können Sie den automatischen Start mit dem folgenden Befehl abbrechen # systemctl nginx deaktivieren Schritt 4: Dienst starten/stoppen/Konfigurationsdatei aktualisieren/Status prüfen # systemctl start nginx.service Nginx-Dienst starten# systemctl stop nginx.service Dienst stoppen# systemctl restart nginx.service Dienst neu starten# systemctl list-units --type=service Alle gestarteten Dienste anzeigen# systemctl status nginx.service Aktuellen Status des Dienstes anzeigen# systemctl enable nginx.service Autostart beim Booten einstellen# systemctl disable nginx.service Autostart beim Booten stoppen Ein häufiger Fehler: Warnung: nginx.service hat sich auf der Festplatte geändert. Führen Sie „systemctl daemon-reload“ aus, um die Einheiten neu zu laden. Folgen Sie einfach den Anweisungen und führen Sie den Befehl systemctl daemon-reload aus. # systemctl daemon-reload 18 Starten Sie das System neu und starten Sie nginx erneut, um einen Fehler zu melden1 FehlerstelleNach dem Einrichten des Autostarts auf der virtuellen Maschine centos6.5 kann das System nach dem Neustart ohne Fehler normal gestartet werden. Die Autostart-Einstellungen von centos6.5 finden Sie in Abschnitt 16. Informationen zum Konfigurieren des automatischen Starts finden Sie jedoch in CentOS 7.4 (auf Alibaba Cloud) in Teil 17. Starten Sie das System neu und stellen Sie fest, dass Nginx nicht automatisch startet Um den Status zu prüfen, verwenden Sie den Befehl systemctl status nginx. Der Inhalt lautet wie folgt: Dann bin ich direkt in das Verzeichnis /usr/local/nginx/sbin gegangen und habe ./nginx ausgeführt. Es erschien die folgende Fehlermeldung: Anhand dieser beiden Eingabeaufforderungen können wir grob erkennen, dass sie uns mitteilen, dass die Datei nginx.pid im Verzeichnis /var/run/nginx/ nicht gefunden werden kann. 2 FehlerbehebungSchritt 1: Wechseln Sie in das Verzeichnis cd /usr/local/nginx/conf/ und bearbeiten Sie die Konfigurationsdatei nginx.conf; Suchen Sie in der Konfigurationsdatei: #pid logs/nginx.pid; Ändern Sie es wie folgt: Entfernen Sie die Kommentare und ändern Sie es in Ihren eigenen Pfad. Ändern, speichern und beenden Schritt 2: Erstellen Sie das Verzeichnis /var/run/nginx/ # mkdir /var/run/nginx -p Schritt 3: Starten Sie den nginx-Dienst # /usr/local/nginx/sbin/nginx Sie können überprüfen, ob der Start erfolgreich war. 3. Wiederkehrende Fehler[emerg] open() "/var/run/nginx/nginx.pid" ist fehlgeschlagen (2: Keine solche Datei oder kein solches Verzeichnis) Tests haben gezeigt, dass die Ordner var/run/nginx und nginx gelöscht werden, solange der Neustartbefehl ausgeführt wird. Es ist äußerst mühsam, jedes Mal den Nginx-Ordner zu erstellen. Ich kann es nicht ertragen. unter Lassen Sie uns dieses Problem weiter lösen. Schritt 1: Wechseln Sie in das Verzeichnis cd /usr/local/nginx/conf/ und bearbeiten Sie die Konfigurationsdatei nginx.conf; Schritt 2: Erstellen Sie einen Protokollordner im Verzeichnis /usr/local/nginx # mkdir /usr/local/nginx/logs Schritt 3: Kopieren Sie die Datei nginx.pid im Verzeichnis /var/run/nginx/ in den im zweiten Schritt erstellten Ordner „logs“. # cp nginx.pid /usr/local/nginx/logs/ Schritt 4: Kopieren Sie den Ordner logs unter conf # cp -r Protokolle conf Schritt 5: Ändern Sie die Berechtigungen der Datei nginx.pid im Verzeichnis /usr/local/nginx/logs/. [root@iz2logs]# chmod 755 nginx.pid Schritt 6: Neustart # Neustart Schritt 6: Starten Sie nginx # /usr/local/nginx/sbin/nginx Diesmal habe ich es endlich erfolgreich gelöst. Ich habe das Problem während der Installation gelöst. Zu diesem Zeitpunkt kann nginx immer automatisch gestartet werden und die Datei nginx.pid wird nach dem Neustart nicht gefunden. Es ist wirklich nicht einfach. Die Lösung besteht darin, es an einem anderen Ort nach der Datei nginx.pid suchen zu lassen. Denn die Datei /var/run/nginx/nginx.pid wird nach einem Neustart immer gelöscht. Einfache Lösung Der obige Vorgang ist etwas umständlich. Sie können ihn tatsächlich direkt lösen, indem Sie die folgende einfache Methode befolgen. Ändern Sie die Datei nginx.conf wie folgt: Erstellen Sie ein Protokollverzeichnis im Verzeichnis /usr/local/nginx/. Anschließend wird es gestartet und auch bei einem Neustart nicht gelöscht. Auf diese Weise kann auch die Konfiguration der folgenden Protokolldatei vereinfacht werden, indem das „#“ vor # error_log logs/error.log info; entfernt wird. error_log Protokolle/error.log Informationen; 19 Konfigurieren des Speicherorts der ProtokolldateienSchritt 1: Wechseln Sie in das Verzeichnis cd /usr/local/nginx/conf/ und bearbeiten Sie die Konfigurationsdatei nginx.conf; Schritt 2: Stellen Sie sicher, dass dieser Pfad existiert. Sie können das Verzeichnis für diese Konfiguration direkt erstellen. # mkdir -p /var/log/nginx/ Schritt 3: Aktualisieren der Konfigurationsdatei # /usr/local/nginx/sbin/nginx -s neu laden ZusammenfassenDies ist das Ende dieses Artikels über die Installation und Konfiguration von nginx. Weitere relevante Inhalte zur Installation und Konfiguration von nginx finden Sie in den vorherigen Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Mobiles Internet-Zeitalter: Responsive Webdesign ist zum allgemeinen Trend geworden
>>: mysql IS NULL mit Indexfallerklärung
Überprüfen Sie die Virtualisierung im Task-Manage...
Inhaltsverzeichnis 1. Installation 2. Import 3. V...
1. Systemkonfiguration 1. Deaktivieren Sie das Su...
ElementUI implementiert das Tutorial zum Paginier...
Überblick Ich glaube, dass wir häufig auf solche ...
Die Methoden zur Installation von Nginx und mehre...
Ein einfacher Rechner, der als Referenz in das We...
Ich habe die neueste Version von MySQL 5.7.x heru...
Inhaltsverzeichnis Vorwort Umfeld Installieren Er...
In diesem Artikel finden Sie das Installations- u...
Es ist eine sehr häufige Anforderung, die horizon...
In diesem Artikel wird hauptsächlich die Installa...
Vorwort Das Transaktionsdatenwörterbuch und das a...
Weiterleitung zwischen zwei verschiedenen Servern...
Inhaltsverzeichnis einführen Hauptmerkmale Effekt...