Lösung für die Nginx-Installation ohne Generierung des sbin-Verzeichnisses

Lösung für die Nginx-Installation ohne Generierung des sbin-Verzeichnisses

Fehlerbeschreibung:

1. Nach der Installation von Nginx (1.18.0) auf einem Linux-System (CentOS 7 64) kann das sbin-Startverzeichnis nicht gefunden werden.


2. Verwenden Sie nginx -v um zu überprüfen, ob der Versionsaufforderungsbefehl nicht gefunden wurde

Problem 1: Es wird kein sbin-Verzeichnis generiert

Habe die folgenden Lösungen erfolglos ausprobiert:

Methode 1: Laden Sie Version 1.19 herunter und installieren Sie sie erneut. Ich habe versucht, 1.19 zu installieren, aber es gibt immer noch kein sbin-Verzeichnis.


Methode 2: Eine im Internet gefundene Methode:

Suchen Sie in der entpackten Nginx-Datei src/os/unix/ngx_user.c nach der Datei, die einen Fehler meldet. Bearbeiten Sie sie mit dem Befehl vi , kommentieren Sie den Fehler, speichern Sie und beenden Sie das Programm. Wechseln Sie dann in den Ordner objs des entpackten Verzeichnisses, bearbeiten Sie die Makefile Datei und löschen Sie -Werror


Aber ich habe in ngx_user.c keine Fehlermeldung gefunden, dann habe ich -Werror im Makefile gelöscht und neu kompiliert, aber das sbin-Verzeichnis wurde nicht generiert.

Problem 2: nginx -v konnte die Versionsnummer nicht überprüfen

Lösung: Konfigurieren Sie Nginx-Umgebungsvariablen

Führen Sie den Befehl vi /etc/profile aus, drücken Sie shift + G , um zum Ende zu springen, drücken Sie I , um in den Bearbeitungsmodus zu wechseln, und fügen Sie am Ende den folgenden Code hinzu

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

1

Führen Sie source /etc/profile aus, um die Konfigurationsdatei neu zu laden und die Versionsnummer anzuzeigen.

2

Obwohl kein sbin vorhanden ist, kann Nginx trotzdem gestartet werden. Führen Sie den Befehl /usr/local/nginx/sbin/nginx aus, um Nginx zu starten. Führen Sie ps -ef | grep nginx um zu prüfen, ob ein Nginx-Prozess vorhanden ist.

1

Ich brauchte einen halben Tag, um endlich herauszufinden, wo das Problem lag.

Obwohl das komprimierte Paket und der dekomprimierte Ordner von Nginx unter dem persönlichen Benutzer abgelegt sind, können Sie über su root zum Root- Benutzer wechseln und den Nginx-Installationsvorgang durchführen. Der endgültig generierte Nginx-Ordner sollte sich im Stammverzeichnis befinden, nicht unter dem persönlichen Benutzer.

1

Sie sollten also cd / in das root wechseln und das sbin-Verzeichnis im Ordner usr/local/nginx überprüfen. Kommt Ihnen dieser Pfad bekannt vor? Das ist richtig, es ist der in der Umgebungsvariable konfigurierte Pfad!

2

Zusammenfassen:

Für diejenigen, die mit virtuellen Linux-Maschinen nicht vertraut sind, ist es wichtig, zwischen Root-Benutzern und persönlichen Benutzern zu unterscheiden. Ich hoffe, dass ich, nachdem ich diesen Fehler vermieden habe, denselben Fehler nicht noch einmal mache.

//root Stammverzeichnis/usr/local/nginx
//Persönliches Benutzerverzeichnis /home/wanjk/usr/local/nginx/

Dies ist das Ende dieses Artikels zur Lösung des Problems, dass das sbin-Verzeichnis nach der Installation von Nginx nicht generiert wird. Weitere Informationen dazu, dass Nginx das sbin-Verzeichnis nicht generiert, 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:
  • So aktivieren Sie die Nginx-Verzeichnissuchfunktion
  • So stellen Sie Nginx so ein, dass der Zugriff auf ein Verzeichnis oder eine Datei verboten wird
  • So leiten Sie den Nginx-Verzeichnispfad um
  • So legen Sie eine Verzeichnis-Whitelist und eine IP-Whitelist in Nginx fest
  • Beispiel für die Installation von nginx in einem angegebenen Verzeichnis
  • So richten Sie eine 301-Umleitung in der Ngin-Konfiguration und eine 301-Umleitung im Nginx-Unterverzeichnis ein
  • So legen Sie ein Nginx-Upload-Verzeichnis ohne Ausführungsberechtigung fest
  • Aktivieren Sie das Durchsuchen von Verzeichnissen im Nginx-Browser

<<:  Eine kurze Diskussion über Yahoos 35 Regeln zur Front-End-Optimierung

>>:  Der Unterschied zwischen HTML Empty Link href="#" und href="javascript:void(0)"

Artikel empfehlen

Grafisches Tutorial zur Installation von VMware15.5 und Ubuntu20.04

1. Vorbereitung vor der Installation 1. Laden Sie...

Detailliertes Installationstutorial für Mysql5.7.19 unter Centos7

1. Herunterladen Laden Sie mysql-5.7.19-linux-gli...

Verwenden Sie in JS nicht mehr überall Operatoren für absolute Gleichheit.

Inhaltsverzeichnis Überblick 1. Test auf Nullwert...

Proxy_pass-Methode in mehreren if in Nginx-Standorten

1. Lassen Sie uns zunächst das relevante Wissen z...

So installieren Sie den Chrome-Browser auf CentOS 7

Dieser Artikel beschreibt, wie Sie den Chrome-Bro...

Achten Sie bei der Webseitenerstellung auf die Verwendung von HTML-Tags

Dieser Artikel stellt einige Aspekte von HTML-Tag...

Floaten und Floaten löschen in der Übersichtsseite

1. Float: Der Hauptzweck besteht darin, den Effek...

Einfache Anwendungsbeispiele für benutzerdefinierte MySQL-Funktionen

Dieser Artikel veranschaulicht anhand von Beispie...

MySQL-Joinpufferprinzip

Inhaltsverzeichnis 1. MySQL-Joinpuffer 2. JoinBuf...