>백엔드 개발 >PHP 튜토리얼 >nginx 소스 코드(2) 실행 중

nginx 소스 코드(2) 실행 중

WBOY
WBOY원래의
2016-08-08 09:28:151145검색

이전 글에 이어
실행 시 오류가 발생하고 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 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.