Heim >Backend-Entwicklung >PHP-Tutorial >Nginx-Quellcode (2) läuft
Fortsetzung des vorherigen Artikels
Beim Ausführen tritt ein Fehler auf und die Datei nginx.conf kann nicht gefunden werden. Der Einfachheit halber ändern wir das Standard-Nginx-Präfix in das aktuelle Verzeichnis und ändern die PREFIX-Definition in der Datei auto/options aktuelles Verzeichnis:
<code><span>if</span> [ <span>".<span>$PREFIX</span>"</span> = <span>"."</span> ]; <span>then</span> PREFIX=. <span>fi</span></code>
Neue Ordner logs und html im aktuellen Quellcodeverzeichnis erstellen, eine neue Datei index.html im HTML-Verzeichnis erstellen, success
eingeben
Neu erstellen, bereinigen, erstellen, neue Nginx-Binärdatei generieren, ausführen sudo ./nginx
Fortschritt anzeigen ps -ef|grep nginx
Sie können sehen, dass Nginx erfolgreich gestartet wurde, wenn Sie im Browser auf http://localhost zugreifen.
Protokoll anzeigen:
Es gibt Zugriffsdatensätze in logs/access.log
Wenn ein Fehler auftritt, gibt es eine Fehlermeldung in logs/error.log.
logs/nginx.pid ist die Prozessnummer des Nginx-Prozesses.
Hinweis:
Bei Ausführung ohne Root wird ein Fehler gemeldet:
2015/03/15 13:44:13 [emerg] 19240#0: bind() to 0.0.0.0:80 failed (13: Berechtigung verweigert)
Wenn kein HTML-Verzeichnis und die folgende index.html-Datei vorhanden ist, wird ein Fehler gemeldet:
2015/03/15 13:47: 55 [Fehler] 19310 #0: *1 „./html/“ wurde nicht gefunden (2: Keine solche Datei oder kein solches Verzeichnis), Client: 127.0.0.1, URL: /
Weil ich gebaut habe die einfachste Seite verfügt nicht über favicon.ico, daher wird hier ein Fehler gemeldet:
2015/03/15 13:47:55 [error] 19310#0: *1 open() „./html/favicon .ico“ fehlgeschlagen (2: Keine solche Datei oder kein solches Verzeichnis), Client: 127.0.0.1, URL: /favicon.ico
Bei der Ausführung gibt es insgesamt 4 Prozesse :
root 19715 1144 0 14:04 ? 00:00:00 ./nginx
niemand 19716 19715 0 14:04 ? 00:00:00 ./nginx
niemand 19717 19715 0 14:04 ? 00:00:00 ./nginx
niemand 19718 19715 0 14:04 ? 00:00:00 ./nginx
Der Hauptprozess wird mit Root-Berechtigungen ausgeführt, und die anderen drei sind Arbeitsprozesse.
Das Obige stellt die Funktionsweise des Nginx-Quellcodes (2) vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.