Heim > Backend-Entwicklung > PHP-Tutorial > Debuggen des Nginx-Quellcodes (3).

Debuggen des Nginx-Quellcodes (3).

WBOY
Freigeben: 2016-08-08 09:28:02
Original
1367 Leute haben es durchsucht

Fortsetzung des vorherigen Artikels

Wenn Nginx ausgeführt wird, wird es als Hintergrundprozess mit einem Master- und drei Prozessprozessen ausgeführt. Um das Debuggen zu erleichtern, muss diese Konfiguration geändert werden.

Ändern Sie den Quellcode direkt hier. Um die erneute Erstellung zu vereinfachen, ändern Sie zuerst das Makefile
Ändern Sie das ursprüngliche

<code><span>clean:</span>
    rm -rf Makefile objs</code>
Nach dem Login kopieren

in:

<code><span>clean</span>:
    rm -rf nginx objs<span>/ngx_modules.o objs/src/core*.o objs/src/event/</span>*.o objs<span>/src/event/modules/</span>*.o objs<span>/src/http/</span>*.o objs<span>/src/http/modules/</span>*.o objs<span>/src/http/modules/proxy/</span>*.o objs<span>/src/os/unix/</span>*.o</code>
Nach dem Login kopieren

, damit nicht alle Makefile-Dateien nach der Bereinigung gelöscht werden.

Kommentieren Sie den Code im Zusammenhang mit Daemon und Multiprozess in core/nginx.c aus:

<code><span>/*
    if (!ngx_inherited && ccf->daemon) {
        if (ngx_daemon(cycle->log) == NGX_ERROR) {
            return 1;
        }

        ngx_daemonized = 1;
    }
    */</span></code>
Nach dem Login kopieren

und

<code><span>printf</span>(<span>"[main] to start ngx_single_process_cycle\n"</span>);

    <span>///if (ngx_process == NGX_PROCESS_MASTER) {</span><span>///    ngx_master_process_cycle(cycle, &ctx);</span><span>///} else {</span>
        ngx_single_process_cycle(cycle, &ctx);
    <span>///}</span></code>
Nach dem Login kopieren

Ich habe oben ein printf hinzugefügt, weil nginx wird direkt in der Konsole ausgeführt, überprüfen Sie den Druck und ändern Sie für den späteren Start die Portnummer in conf/nginx.conf auf 8080, führen Sie make erneut aus, und Sie können die gedruckte Ausgabe auf der Konsole sehen. Wenn der Browser auf http://localhost:8080 zugreift, wird ebenfalls Erfolg zurückgegeben und andere Protokollinformationen werden weiterhin in Dateien im Protokollverzeichnis ausgegeben.

Das Obige stellt das Debuggen des Nginx-Quellcodes (3) vor, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage