Nginx - 프로 세 스 및 프로필

10675 단어 Nginx
프로 세 스
Nginx 서비스 가 시작 되면 주 프로 세 스 (master process), 하나 이상 의 작업 프로 세 스 (worker processes) 가 있 습 니 다.캐 시가 열 리 면 캐 시 불 러 오기 와 캐 시 관리 프로 세 스 도 Nginx 서비스 가 시 작 될 때 실 행 됩 니 다.주 프로 세 스 는 설정 파일 을 읽 고 평가 하 며 작업 프로 세 스 의 실행 을 유지 하 는 데 사 용 됩 니 다.작업 프로 세 스 는 요청 을 처리 하 는 데 사 용 됩 니 다.작업 프로 세 스 의 수 는 nginx. conf 설정 파일 에서 지정 합 니 다. 고정 값 으로 설정 하거나 사용 가능 한 CPU 핵심 수량 에 따라 동적 으로 조정 할 수 있 습 니 다 (worker processes 참조).
프로필
Nginx 홈 페이지 참조
설정 파일 이 바 뀌 면 Nginx 프로 세 스 를 다시 시작 하거나 Nginx 프로 세 스에 reload 신 호 를 보 내야 합 니 다.
설정 파일 에서 모든 주석 줄 은 우물 번호 로 시작 합 니 다 #.
Nginx 의 프로필 이름 은 보통 nginx.conf 이 고 위 치 는 /etc/nginx 또는 /usr/local/nginx/conf 입 니 다.
단순 명령 과 블록 명령
프로필 은 명령 으로 구성 되 어 있 습 니 다.명령 은 간단 한 명령 과 블록 명령 (block directives) 으로 나 뉜 다.간단 한 명령 은 이름과 매개 변수 로 구성 되 어 있 으 며 빈 칸 으로 구분 되 어 있 으 며 분점 ; 으로 끝 납 니 다.블록 명령 은 분점 으로 끝나 지 않 고 괄호 {} 로 둘러싸 인 일련의 추가 명령 으로 끝난다.블록 명령 의 큰 괄호 안에 다른 명령 이 있 을 수 있다 면 이 명령 은 하나의 문맥 (예 를 들 어 이벤트, http, server 와 location) 이 라 고 불 린 다.
  • 간단 한 명령:
  • user             nobody;
    error_log        logs/error.log notice;
    worker_processes 1;
  • 블록 명령:
  • location / {
        root /data/www;
    }

    설정 파일 에서 명령 이 파일 의 모든 컨 텍스트 외 에 있 으 면 주 컨 텍스트 main context 로 여 겨 집 니 다.이벤트 와 http 명령 은 주 컨 텍스트 main context 에 있 고 server 명령 은 http 에 있 으 며 location 명령 은 server 에 있 습 니 다.
    파일 의 유지 가능성 설정
    설정 파일 을 쉽게 유지 하기 위해 서 는 기능 에 따라 설정 파일 을 다른 파일 로 나 누 어 / etc / nginx / conf. d 디 렉 터 리 에 두 고 메 인 프로필 nginx. conf 에서 include 명령 을 통 해 이 파일 을 도입 할 수 있 습 니 다.
    include conf.d/http;
    include conf.d/stream;
    include conf.d/exchange-enhanced;

    최상 위 명령 (유량 유형 구분)
    설정 파일 에는 데이터 형식 을 구분 하 는 최상 위 명령 이 4 개 있 습 니 다. 다른 컨 텍스트 에 쓸 수 없습니다.
  • events – 일반 연결 처리
  • http – HTTP 트 래 픽 처리
  • mail – 메 일 트 래 픽 처리
  • stream – TCP / UDP 트 래 픽 처리
  • 이 몇 개의 데이터 유형 을 구분 하 는 명령 에는 하나 이상 server 컨 텍스트 를 포함 하여 가상 서버 를 정의 할 수 있 습 니 다.server 상하 문 에서 서로 다른 유량 유형 에 따라 서로 다른 지령 을 사용 할 수 있다.http 컨 텍스트 의 HTTP 트 래 픽 에 대해 서 는 도 메 인 이나 IP 주 소 를 지정 하 는 요청 을 처리 할 수 있 습 니 다.server 상하 문 에서 하나 이상 server 상하 문 을 정의 할 수 있 으 며, 서로 다른 URI 에 따라 서로 다른 처 리 를 할 수 있다.locationmail 컨 텍스트 의 mail 과 TCP 트 래 픽 에 대해 서 는 각 stream 컨 텍스트 의 명령 이 지정 한 TCP 포트 나 UNIX socket 소켓 소켓 의 요청 을 처리 할 수 있 습 니 다.
    상하 문장의 예 시 를 사용 합 니 다:
    user nobody; #         
    
    events {
        #    connection processing    
    }
    
    http {
        #      HTTP          server
    
        listen   80;  #    80   
        server_name  xx.com;  #      xx.com          
        root   "/home/workspace/xx";  #             
    
        server {
            #    server
            location /one {
                #    URI     '/one'      
            }
        }
    
        server {
            #    server
        }
    }
    
    stream {
        #      TCP/UDP          server
        server {
            #    server
        }
    }

    대부분의 명령 에 대해 서 는 하위 컨 텍스트 가 부모 컨 텍스트 의 명령 값 을 계승 합 니 다.문맥 계승 명령 proxy 참조 가능set_header。
    Nginx 명령
    Nginx 설치 에 성공 하면 server 명령 을 사용 하여 버 전, 파라미터 정 보 를 보 거나 설정 정 보 를 다시 불 러 오 는 등의 작업 을 수행 할 수 있 습 니 다.
    [root@VM_120_242_centos ~]# nginx -h
    nginx version: nginx/1.10.2
    Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
    
    Options:
      -?,-h         : this help
      -v            :          
      -V            :               
      -t            :          
      -T            :  -q            :               
      -s signal     :4    :stop、quit、reopen、reload
      -p prefix     :       ,    /usr/share/nginx/
      -c filename   :       ,    /etc/nginx/nginx.conf
      -g directives :             

    버 전 보기 및 설정 옵션
    [root@VM_120_242_centos ~]# nginx -V
    nginx version: nginx/1.10.2
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) 
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'

    테스트 프로필
    먼저 파일 에 문 자 를 임의로 추가 하고 명령 을 실행 하면 이 오 류 를 감지 할 수 있 습 니 다.
    [root@VM_120_242_centos ~]# nginx -t
    nginx: [emerg] unknown directive "a" in /etc/nginx/nginx.conf:102
    nginx: configuration file /etc/nginx/nginx.conf test failed

    테스트 에 성공 한 출력 은 다음 과 같 습 니 다:
    [root@VM_120_242_centos ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    부 드 럽 게 다시 시작
    부 드 럽 게 다시 시작 하면 Nginx 서 비 스 를 중단 하지 않 아 도 됩 니 다.설정 파일 에 오류 가 있 으 면 Nginx 는 다시 시작 하지 않 습 니 다.
    [root@VM_120_242_centos ~]# nginx -s reload
    nginx: [emerg] unknown directive "a" in /etc/nginx/nginx.conf:102

    좋은 웹페이지 즐겨찾기