Vorwort: Dieser Artikel bezieht sich auf den Blog von jackyzm: https://www.cnblogs.com/jackyzm/p/9600738.html und aktualisiert den Inhalt. Bitte beachten Sie, dass die hier geltende Version die Centos7-Version ist. Die Konfigurationsmethode in diesem Artikel ist bei Version 8 fehlgeschlagen. Daher sollten Sie vor dem Anzeigen dieses Artikels am besten die Serverversion ermitteln. Zur Behandlung einiger Nginx-Probleme verweisen wir auf den Artikel: http://www.mamicode.com/info-detail-3008792.html. Einige der enthaltenen Fehler sind die folgenden: 1.make[1]: *** [objs/Makefile:473: objs/src/core/ngx_murmurhash.o] Fehler 1 2.make[1]: *** [objs/Makefile:774: objs/src/os/unix/ngx_user.o] Fehler 1 3.make[1]: *** [objs/Makefile:769: objs/src/event/ngx_event_openssl.o] Fehler 1 In diesem Artikel werden Lösungen und Prozessverbesserungen für diese und andere Probleme erläutert. Inhaltsfluss:
Spezifische Inhalte: 0. Vorabinformationen Im CentOS-System stellt die Yum-Quelle keine direkte Nginx-Installation bereit. Sie können Nginx also installieren, indem Sie die Yum-Quelle wechseln oder die Abhängigkeitsbibliothek und das Nginx-Installationspaket direkt herunterladen. Dieser Artikel stellt Letzteres vor. Die Beziehung zwischen einigen erforderlichen Bibliotheken und nginx: Das gzip-Modul in nginx erfordert die zlib-Bibliothek, das Rewrite-Modul erfordert die pcre-Bibliothek und die SSL-Funktion erfordert die OpenSSL-Bibliothek Anschließend wird in diesem Artikel /usr/local als Installationsverzeichnis ausgewählt. Die spezifischen Versionsnummern einiger Bibliotheken können je nach tatsächlichem Bedarf geändert werden. Aufgrund ihrer gegenseitigen Abhängigkeit können jedoch bei den neuesten Versionen einige Probleme auftreten. Wählen Sie daher sorgfältig aus. Die folgenden Befehle müssen mit Root-Rechten ausgeführt werden: 1. Installieren Sie gcc gcc-c++ (wenn es sich um eine neue Umgebung handelt, installieren Sie es bitte zuerst, falls es noch nicht installiert ist)
2. Installieren Sie die pcre-Bibliothek $ cd /usr/lokal/ $ wget https://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz (Hinweis: Die pcre-Version wird in Echtzeit aktualisiert. Version 8.36 ist auch eine alte Version. Wenn Sie die neueste Version benötigen, können Sie selbst nach pcre suchen und dann die neue Version auswählen. Die neue Version ist jedoch möglicherweise instabil. Seien Sie daher vorsichtig. Die aktuelle URL zum Herunterladen der neuen Version lautet: https://sourceforge.net/projects/pcre/files/pcre/) $ tar -zxvf pcre-8.36.tar.gz $ CD PCRE-8.36 $ ./konfigurieren $ machen && machen installieren Wenn ein Fehler gemeldet wird: configure: error: Sie benötigen einen C++-Compiler für die C++-Unterstützung Lösung: yum install -y gcc gcc-c++ 3. SSL-Bibliothek installieren $ cd /usr/lokal/ $ wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz (Hinweis: Für OpenSSL gibt es auch Versionsaktualisierungen. Hier ist die Version 2020.04. Die aktuelle URL zum Abrufen der neuen Version finden Sie unter: https://www.openssl.org/source/ Der Grund, warum ich hier nicht 1.1.x oder andere Versionen verwendet habe, ist, dass bei der späteren Installation von nginx ein nicht lösbarer Fehler aufgetreten ist. Deshalb habe ich diese ältere Version gewählt. Wenn der Fehler behoben werden kann, können Sie es versuchen. Ich wäre noch dankbarer, wenn Sie mir die Lösung oder den erfolgreichen Fall mitteilen könnten.) $ tar -zxvf openssl-1.0.1j.tar.gz $ cd openssl-1.0.1j $ ./konfiguration $ machen && machen installieren 4. Installieren Sie die zlib-Bibliothek $ cd /usr/lokal/ $ wget http://zlib.net/zlib-1.2.11.tar.gz (Hinweis: Wie zuvor lautet die Website für aktualisierte Versionen: http://zlib.net/) $ tar -zxvf zlib-1.2.11.tar.gz $ cd zlib-1.2.11 $ ./konfigurieren $ machen && machen installieren 5. Installieren Sie nginx $ cd /usr/lokal/ $ wget http://nginx.org/download/nginx-1.8.0.tar.gz (Hinweis: Die URL zum Download der neuen Version lautet wie bisher: http://nginx.org/download/) $ tar -zxvf nginx-1.8.0.tar.gz $ cd nginx-1.8.0 $ ./configure --user=niemand --group=niemand --prefix=/usr/local/nginx --mit-http_stub_status_module --mit-http_gzip_static_module --mit-http_realip_module --mit-http_sub_module --mit-http_ssl_module--mit-pcre=/usr/local/pcre-8.36 --mit-zlib=/usr/local/zlib-1.2.11 --mit-openssl=/usr/local/openssl-1.0.1j (Hinweis: Wenn --with-http_ssl_module: nach der Konfiguration von ssl: on in nginx.conf nicht hinzugefügt wird, wird beim Start die Ausnahme nginx: [emerg] unbekannte Direktive „ssl“ in /opt/nginx/conf/nginx.conf gemeldet; die Spezifikation von pcre, zlib, openssl usw. soll sicherstellen, dass nginx mit der zuvor heruntergeladenen Version übereinstimmen kann. Beachten Sie, dass Pfad und Versionsnummer geändert werden müssen, damit sie der zuvor heruntergeladenen Version entsprechen.)
Anhang: Probleme die während des Make-Prozesses von nginx auftreten können: Fehler 1: make[1]: *** [objs/Makefile:460: objs/src/core/ngx_murmurhash.o] Fehler 1 Warnungen als Fehler behandeln und das Programm beenden Lösung: Gehen Sie zum Ordner „objs“ des Nginx-Installationsverzeichnisses und ändern Sie die Makefile-Datei: Drücken Sie „a“, um in den Bearbeitungsmodus zu wechseln, entfernen Sie „-Werror“ in CFLAGS, drücken Sie dann „esc“ und geben Sie „:wq“ ein, um zu speichern und zu beenden Versuchen Sie dann den Befehl make && make install erneut Fehler 2: make[1]: *** [objs/Makefile:747: objs/src/os/unix/ngx_user.o] Fehler 1 Es erinnert uns daran, dass struct crypt_data‘ kein Mitglied mit dem Namen ‚current_salt‘ hat: cd.current_salt[0] = ~salt[0]; der ursprüngliche Autor sagte, dass der beste Weg darin besteht, die Version zu ändern. Die hier ausgewählte Version 1.9 hat einen Fehler, aber sie hat nach dem Wechsel zu nginx1.8 immer noch keine Wirkung, daher wird eine alternative Lösung basierend auf nginx1.8 verwendet: Codekommentare Das heißt, führen Sie im nginx-Installationsverzeichnis vim src/os/unix/ngx_user.c aus, um den Code in Zeile 36 von ngx_user.c wie folgt zu kommentieren: Speichern und beenden Sie dann. Versuchen Sie erneut make && make install Fehler 3: make[1]: *** [objs/Makefile:769: objs/src/event/ngx_event_openssl.o] Fehler 1 Dies zeigt an, dass die SSL-Version nicht an nginx übermittelt wurde. Dies liegt wahrscheinlich daran, dass die SSL-Version während des vorherigen ./configure nicht angegeben wurde. Eine Neukonfiguration ist erforderlich, d. h. die SSL-Spezifikation muss während der Konfiguration hinzugefügt werden. --with-openssl=/usr/local/openssl-1.0.1j Fehler 4: ./configure: Fehler: SSL-Module erfordern die OpenSSL-Bibliothek. Sie können versuchen, den folgenden Befehl auszuführen:
Fehler 5: ./configure: Fehler: Das HTTP-GZIP-Modul erfordert die Zlib-Bibliothek Die Pfade der anderen beiden Bibliotheken wurden während der Konfiguration nicht angegeben. Fügen Sie nach –prefix den folgenden Befehl hinzu (siehe die Ausführung des Befehls ./configure für die spezifische Verwendung): --with-pcre=/usr/local/pcre-8.36 bezieht sich auf den Quellpfad von pcre-8.36. --with-zlib=/usr/local/zlib-1.2.11 bezieht sich auf den Quellpfad von zlib-1.2.11. Wenn der obige Fehler das Problem immer noch nicht lösen kann, überprüfen Sie am besten, ob die CentOS-Version 7 ist. Bei mir war es direkt nach dem Ändern der Systemversion erfolgreich. Sollten Sie auf weitere Fehler stoßen, suchen Sie am besten selbst danach. Wenn wir diese nicht beheben können, tut uns das sehr leid. 6. Starten und verwenden Sie nginx
Zeichen für erfolgreichen Start: Öffnen Sie den Browser und rufen Sie die IP-Adresse des Servers auf. Wenn der Browser „Willkommen bei nginx!“ anzeigt, bedeutet dies, dass nginx erfolgreich installiert und ausgeführt wurde. Einige andere Befehle sind wie folgt: Neustart:
stoppen:
Testen Sie, ob die Konfigurationsdatei normal ist:
Schließen erzwingen:
Hinweis: Hier ist kein Softlink festgelegt, daher kann dies nur über eine so lange Anweisung verwaltet werden. Bei Bedarf können Sie es selbst abrufen und verarbeiten. Wenn ich später Zeit habe, werde ich es in diesem Artikel aktualisieren. 7.Lösung für das Problem der Unzugänglichkeit nach dem Start von nginx Wenn Sie die Nginx-Seite hier immer noch nicht sehen können, liegt dies möglicherweise daran, dass die Sicherheitsgruppe des Servers nicht konfiguriert ist. Beispielsweise muss Alibaba Cloud hier die Konfiguration von http und Port 80 wie folgt hinzufügen: Nachdem die Sicherheitsgruppe konfiguriert ist, aktualisieren Sie einfach die Seite, um die Nginx-Erfolgsseite anzuzeigen. Abschließend wünsche ich Ihnen allen eine reibungslose Konfiguration. Dies ist das Ende dieses Artikels über die Analyse der Nginx-Konfiguration des Alibaba Cloud CentOS7-Servers und die Beantwortung allgemeiner Fragen. Weitere Informationen zur Nginx-Konfiguration von Alibaba Cloud CentOS7 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierter Installationsprozess von MySQL5.6.40 unter CentOS7 64
>>: Eine kurze Analyse der startReactApplication-Methode von React Native
1. Um ein PPTP-VPN aufzubauen, müssen Sie Port 17...
1. Installieren Sie openssh-server yum install -y...
In diesem Artikel finden Sie das Installations-Tu...
Wir müssen lediglich einen beliebigen Texteditor ö...
Dieser Beitrag konzentriert sich auf ein streng g...
XHTML definiert drei Dokumenttypdeklarationen. Am...
JSONObject ist lediglich eine Datenstruktur, die ...
Phänomen Es gibt mehrere verschachtelte Flex-Stru...
Inhaltsverzeichnis Vorwort einführen 1. Wirkungsm...
Yum (vollständiger Name Yellow Dog Updater, Modif...
Damit die Tabelle den Bildschirm (den verbleibende...
Ich nenne diese Art von Fehler einen typischen „H...
Ein Statuscode, der eine vorläufige Antwort anzei...
Ich habe es gerade auf IE6 ausprobiert und die Sym...
Inhaltsverzeichnis 1. Knoten, Bäume und virtuelle...