이전 글에 이어
실행 시 오류가 발생하고 nginx.conf 파일을 찾을 수 없습니다. 이 파일은 편의상 기본 nginx 접두사를 현재 디렉터리로 변경하고 auto/options 파일의 PREFIX 정의를 다음과 같이 수정합니다. 현재 디렉터리:
<code><span>if</span> [ <span>".<span>$PREFIX</span>"</span> = <span>"."</span> ]; <span>then</span> PREFIX=. <span>fi</span></code>
현재 소스 코드 디렉터리에 새 폴더 로그 및 html을 만들고, html 디렉터리에 새 파일 index.html을 만들고, success
을 입력합니다.
정리, 만들기, 새 nginx 바이너리 파일 생성, 실행 sudo ./nginx
진행 상황 보기 ps -ef|grep nginx
브라우저에서 http://localhost에 접속하면 nginx가 성공적으로 시작된 것을 확인할 수 있습니다.
로그를 확인하세요:
로그/access.log에 접속 기록이 있습니다
오류가 발생하면 log/error.log에 오류 메시지가 있습니다.
logs/nginx.pid는 nginx 프로세스의 프로세스 번호입니다.
참고:
루트 없이 실행하면 오류가 보고됩니다:
2015/03/15 13:44:13 [emerg] 19240#0:bind() to 0.0.0.0:80 failed (13: 권한 거부됨)
html 디렉터리가 없고 다음 index.html 파일이 있는 경우 오류가 보고됩니다.
2015/03/15 13:47: 55 [오류] 19310 #0: *1 “./html/”을 찾을 수 없습니다(2: 해당 파일이나 디렉터리 없음), 클라이언트: 127.0.0.1, URL: /
내가 구축했기 때문입니다. 가장 간단한 페이지에는 favicon.ico가 없으므로 여기에 오류가 보고됩니다:
2015/03/15 13:47:55 [error] 19310#0: *1 open() “./html/favicon .ico” 실패(2: 해당 파일 또는 디렉터리 없음), 클라이언트: 127.0.0.1, URL: /favicon.ico
실행 시 총 4개의 프로세스가 있습니다. :
루트 19715 1144 0 14:04 ? 00:00:00 ./nginx
아무도 19716 19715 0 14:04 ? 00:00:00 ./nginx
아무도 19717 19715 0 14:04 ? 00:00:00 ./nginx
none 19718 19715 0 14:04 ? 00:00:00 ./nginx
메인 프로세스는 루트 권한으로 실행되고 나머지 3개는 작업 프로세스입니다.
위 내용은 관련 내용을 포함하여 nginx 소스코드(2)의 동작을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.