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

Konzept und Anwendungsbeispiele für die MySQL-Indexkardinalität

Dieser Artikel erläutert anhand von Beispielen da...

Ubuntu Docker-Installation in VMware (Containererstellung)

1. Mindmap 2. So bauen Sie einen Container 2.1 Vo...

So stellen Sie ein SpringBoot-Projekt mit Docker bereit

Die Entwicklung der Docker-Technologie bietet ein...

Die Auswirkungen des Limits auf die Abfrageleistung in MySQL

I. Einleitung Lassen Sie mich zunächst die MySQL-...

Verwenden von js, um den Effekt eines Karussells zu erzielen

Lassen Sie uns heute darüber sprechen, wie Sie mi...

Datenabfragevorgang im MySQL-JSON-Format

Der Standardtabellenname ist „base_data“ und der ...

So bedienen Sie Docker und Images

Spiegel finden Wir können auf der Docker Hub-Webs...

Das Submit-Ereignis des Formulars reagiert nicht

1. Problembeschreibung <br />Wenn JS verwen...

Vue + Element dynamische Mehrfachheader und dynamische Slots

Inhaltsverzeichnis 1. Nachfrage 2. Wirkung 3. All...

Docker-Konfiguration Alibaba Cloud Image Acceleration Pull-Implementierung

Heute habe ich Docker verwendet, um das Image abz...

So installieren Sie das Pip-Paket unter Linux

1. Laden Sie das Pip-Installationspaket entsprech...

Lösung zur Deinstallation von Python und Yum im CentOs-System

Hintergrund des Unfalls: Vor einigen Tagen habe i...