>운영 및 유지보수 >엔진스 >Nginx 구성 시스템은 무엇으로 구성되어 있나요?

Nginx 구성 시스템은 무엇으로 구성되어 있나요?

(*-*)浩
(*-*)浩원래의
2019-11-26 16:39:463139검색

Nginx 구성 시스템은 무엇으로 구성되어 있나요?

Nginx의 구성 시스템은 기본 구성 파일과 기타 보조 구성 파일로 구성됩니다. 이러한 구성 파일은 모두 일반 텍스트 파일이며 모두 Nginx 설치 디렉터리 아래의 conf 디렉터리에 있습니다. (추천 학습: inNginx Tutorial )

구성 파일에서 #으로 시작하는 줄이나 앞에 공백이나 탭이 여러 개 있고 그 뒤에 #이 있는 줄은 모두 메모로 간주됩니다. 파일을 보기 위해 파일을 편집하려면 프로그램이 이러한 주석 행을 읽을 때 실제 내용은 무시된다는 점은 사용자에게 의미가 있습니다.

특정 상황에서는 기본 구성 파일인 nginx.conf 이외의 파일을 사용하기 때문에 모든 상황에서는 기본 구성 파일만 사용됩니다. 따라서 여기서는 Nginx 구성 시스템을 설명하기 위해 기본 구성 파일을 예로 들어 보겠습니다.

nginx.conf에는 여러 구성 항목이 포함되어 있습니다. 각 구성 항목은 구성 지침과 지침 매개변수라는 두 부분으로 구성됩니다. 명령어 매개변수는 구성 명령어에 해당하는 구성 값입니다.

명령 개요

구성 명령은 작은따옴표나 큰따옴표로 묶을 수도 있고 묶을 수도 없는 문자열입니다. 그러나 구성 지시어에 공백이 포함되어 있으면 따옴표로 묶어야 합니다.

명령 매개변수

명령의 매개변수는 하나 이상의 공백이나 TAB 문자로 명령과 구분됩니다. 명령어의 매개변수는 하나 이상의 TOKEN 문자열로 구성됩니다. TOKEN 문자열은 공백이나 TAB 키로 구분됩니다.

TOKEN 문자열은 단순 문자열 또는 복합 구성 블록으로 구분됩니다. 복합 구성 블록은 중괄호로 묶인 콘텐츠 묶음입니다. 복합 구성 블록에는 여러 가지 다른 구성 지시문이 포함될 수 있습니다.

구성 명령의 매개변수가 모두 단순 문자열로 구성되어 있으면, 즉 복합 구성 블록을 포함하지 않는 경우 구성 명령을 단순 구성 항목이라고 하고, 그렇지 않으면 복합 구성 항목이라고 합니다. 예를 들어, 다음은 간단한 구성 항목입니다.

   error_page   500 502 503 504  /50x.html;

간단한 구성을 위해서는 구성 항목 끝에 세미콜론을 사용하세요. 여러 TOKEN 문자열이 포함된 복잡한 구성 항목의 경우 일반적으로 단순 TOKEN 문자열이 앞에 배치되고 복합 구성 블록이 끝에 배치되며 끝에 세미콜론을 추가할 필요가 없습니다. 예를 들어 다음과 같은 복잡한 구성 항목은

location / {
            root   /home/jizhao/nginx-book/build/html;
            index  index.html index.htm;
        }

Instruction context

nginx.conf nginx.conf의 구성 정보는 논리적 의미에 따라 분류됩니다. 즉, 여러 범위로 나누어지거나 호출됩니다. 지시어 컨텍스트를 구성합니다. 다양한 범위에는 하나 이상의 구성 항목이 포함됩니다.

현재 Nginx에서 지원되는 여러 명령 컨텍스트:

main: 실행 시 특정 비즈니스 기능(예: http 서비스 또는 이메일 서비스 프록시)과 관련이 없는 Nginx의 일부 매개변수(예: 작업자 프로세스 수, 러닝 아이덴티티 등

http: http 서비스 제공과 관련된 일부 구성 매개변수입니다. 예: keepalive 사용 여부, 압축에 gzip 사용 여부 등.

서버: http 서비스에서는 여러 가상 호스트가 지원됩니다. 각 가상 호스트에는 가상 호스트와 관련된 구성을 포함하는 해당 서버 구성 항목이 있습니다. 메일 서비스에 대한 프록시를 제공할 때 여러 서버를 설정할 수도 있으며 각 서버는 수신 주소로 구분됩니다.

위치: http 서비스에서 특정 특정 URL에 해당하는 일련의 구성 항목입니다.

mail: 이메일 관련 SMTP/IMAP/POP3 프록시를 구현할 때 일부 공유 구성 항목입니다(여러 프록시를 구현하고 여러 수신 주소에서 작업할 수 있기 때문입니다).

안내 내용에 따라 포함되는 상황이 있을 수 있습니다. 예: 일반적으로 http 컨텍스트와 메일 컨텍스트가 기본 컨텍스트에 나타나야 합니다. 컨텍스트에는 다른 유형의 컨텍스트가 여러 번 포함될 수 있습니다. 예: http 서비스가 여러 가상 호스트를 지원하는 경우 http 컨텍스트에 여러 서버 컨텍스트가 나타납니다.

샘플 구성을 살펴보겠습니다.

user  nobody;
    worker_processes  1;
    error_log  logs/error.log  info;

    events {
        worker_connections  1024;
    }

    http {  
        server {  
            listen          80;  
            server_name     www.linuxidc.com;  
            access_log      logs/linuxidc.access.log main;  
            location / {  
                index index.html;  
                root  /var/www/linuxidc.com/htdocs;  
            }  
        }  

        server {  
            listen          80;  
            server_name     www.Androidj.com;  
            access_log      logs/androidj.access.log main;  
            location / {  
                index index.html;  
                root  /var/www/androidj.com/htdocs;  
            }  
        }  
    }

    mail {
        auth_http  127.0.0.1:80/auth.php;
        pop3_capabilities  "TOP"  "USER";
        imap_capabilities  "IMAP4rev1"  "UIDPLUS";

        server {
            listen     110;
            protocol   pop3;
            proxy      on;
        }
        server {
            listen      25;
            protocol    smtp;
            proxy       on;
            smtp_auth   login plain;
            xclient     off;
        }
    }

이 구성에는 위에서 언급한 5가지 구성 명령 컨텍스트가 모두 존재합니다.

메인 컨텍스트에 존재하는 구성 지시어는 다음과 같습니다.

userworker_processeserror_logeventshttpmail

http 컨텍스트에 존재하는 지시어는 다음과 같습니다.

server

메일 컨텍스트에 존재하는 지시어는 다음과 같습니다.

serverauth_httpimap_capabilities

구성 서버 컨텍스트에 존재하는 지시어는 다음과 같습니다.

listenserver_nameaccess_loglocationprotocolproxysmtp_authxclient

위치 컨텍스트에 존재하는 지시어는 다음과 같습니다.

indexroot

물론 이는 몇 가지 예일 뿐입니다. 특정 구성 지침과 이러한 구성 지침이 나타날 수 있는 컨텍스트는 Nginx 사용 설명서를 참조해야 합니다.

위 내용은 Nginx 구성 시스템은 무엇으로 구성되어 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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