nginx 소스 코드 (3) 디 버 깅

한 편 을 잇다
nginx 가 실 행 될 때 나중에 데스크 톱 프로 세 스 가 실 행 됩 니 다. master 와 3 개의 process 프로 세 스 가 실 행 됩 니 다. 디 버 깅 을 편리 하 게 하기 위해 서 이 설정 을 바 꿔 야 합 니 다.
여기 서 소스 코드 를 직접 바 꾸 고 다시 make 편 의 를 위해 Makefile 을 원래 의 것 에서 수정 합 니 다.
clean:
    rm -rf Makefile objs

다음으로 변경:
clean:
    rm -rf nginx objs/ngx_modules.o objs/src/core*.o objs/src/event/*.o objs/src/event/modules/*.o objs/src/http/*.o objs/src/http/modules/*.o objs/src/http/modules/proxy/*.o objs/src/os/unix/*.o

이렇게 해서 make clean 이후 Makefile 파일 을 모두 삭제 하지 않 습 니 다.
코어 / nginx. c 에서 데 몬 과 다 중 프로 세 스 와 관련 된 코드 를 설명 합 니 다:
    /*
    if (!ngx_inherited && ccf->daemon) {
        if (ngx_daemon(cycle->log) == NGX_ERROR) {
            return 1;
        }

        ngx_daemonized = 1;
    }
    */

화해시키다
    printf("[main] to start ngx_single_process_cycle
"
); ///if (ngx_process == NGX_PROCESS_MASTER) { /// ngx_master_process_cycle(cycle, &ctx); ///} else { ngx_single_process_cycle(cycle, &ctx); ///}

나 는 그 위 에 printf 를 추가 했다. nginx 가 console 에서 직접 실행 되 고 인쇄 를 검증 하 는 동시에 후속 작 동 편 의 를 위해 conf / nginx. conf 의 포트 번 호 를 8080 으로 바 꾸 고 다시 make 를 실행 하면 콘 솔 에서 출력 을 인쇄 하 는 것 을 볼 수 있다.브 라 우 저 접근http://localhost:8080마찬가지 로 success 를 되 돌려 줍 니 다. 다른 로그 정 보 는 logs 디 렉 터 리 에 있 는 파일 에 출력 합 니 다.

좋은 웹페이지 즐겨찾기