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

Beispiel einer Nginx-Standortübereinstimmungsregel

1. Grammatik Standort [=|~|~*|^~|@] /uri/ { ... }...

So erstellen Sie eine virtuelle Maschine mit Vagrant+VirtualBox

1. Einleitung Vagrant ist ein Tool zum Erstellen ...

Eine Zusammenfassung der Fuzzy-Abfrage von MySQL wie

1. Allgemeine Verwendung: (1) Mit % verwenden % s...

Tomcat analysiert XML und erstellt Objekte durch Reflektion

Der folgende Beispielcode stellt die Prinzipien d...

MySQL-Daemon konnte nicht gestartet werden – Fehlerlösung

MySQL-Daemon konnte nicht gestartet werden – Fehl...

Packetdrills prägnantes Benutzerhandbuch

1. Kompilierung und Installation von Packetdrill ...

So verwenden Sie Docker-Compose, um Django-Anwendungen offline bereitzustellen

Inhaltsverzeichnis Installieren Sie Docker-ce für...

Der Kernprozess der NodeJS-Verarbeitung einer TCP-Verbindung

Vor ein paar Tagen habe ich mit einem Freund etwa...

MySQL 5.7.17 Installations- und Konfigurations-Tutorial unter CentOS6.9

CentOS6.9 installiert Mysql5.7 zu Ihrer Informati...

SQL Left Join und Right Join - Prinzip und Beispielanalyse

Es gibt zwei Tabellen, und die Datensätze in Tabe...

So entwickeln Sie eine Progressive Web App (PWA)

Inhaltsverzeichnis Überblick Erfordern URL der An...

Lösung zum Ändern des Datenspeicherorts der Datenbank in MySQL 5.7

Da die in der MySQL-Datenbank gespeicherten Daten...