Nginx 개요 및 일상 관리

Nginx (engine x 와 발음) 는 경량급 웹 서버 / 역방향 프 록 시 및 이메일 (IMAP / POP 3) 프 록 시 서버 로 BSD - like 프로 토 콜 에서 발행 된다.그 특징 은 메모리 가 적 고 병발 능력 이 강하 다 는 것 이다. 사실상 nginx 의 병발 능력 은 같은 유형의 웹 서버 에서 비교적 잘 나타난다. 중국 대륙 에서 nginx 사 이 트 를 사용 하 는 사용 자 는 시 나 닷 컴, 왕 이, 텐 센트 등 이 있다.본 고 는 Nginx 의 기본 적 인 특성 과 프로필 에 대한 간단 한 설명 을 간략하게 서술 하 였 다.
1. Nginx 작업 프로 세 스
1、     :
                    ,  、             、        。 

2、      :
          web  。nginx                     ,              。
        http  ;           ;nginx          ;
                    ,               ,      CPU            。

3、     (cache loader):
                ;
                  ;
      、             ;

4、     (cache manager):
              ;

5、        Nginx     
    nginx                      。
         ,      nginx.conf,    /usr/local/nginx/conf, /etc/nginx,   /usr/local/etc/nginx   。

2. Nginx 특성
1、Nginx      
        Nginx    Apache httpd  ,             。
             Nginx    ,     :       ,        Nginx            。
        a、      
            Nginx    :  Nginx            
            http     :          , HTTP               HTTP  

        b、           
                
                 

        c、          
                (Main Events)
                

2、Nginx    
             、     
            
            master-->worker
             
            10000 keep-alive   Nginx   2.5MB
             
                      、      、         

        :
             web   ,           ;
        http, smtp, pop3          ,  、    ;
          FastCGI (fpm);
           , DSO  ,   zip,SSI       ;
          SSL;
           、    、  master       worker,   worker  n   ;

        :
             IP     ;
          keepalive
              
               ,                 
          url rewrite
              
            IP        
              ,       

    Nginx     :
          master  ,       worker
            : epoll, kqueue, /dev/poll (event ports)
                :select, poll, rt signals
          sendfile, sendfile64
          AIO
          mmap

        :
            
        Standard HTTP modules
        Optional HTTP modules
        Mail modules
         3rd party modules

3. Nginx 의 시작, 정지, 프로필 다시 불 러 오기
1、  
            ,  ,-c             ,    -c,          
    # /usr/sbin/nginx -c /etc/nginx/nginx.conf# service nginx start

2、          
    nginx -s signal
      signal      
        stop — fast shutdown
        quit — graceful shutdown
        reload — reloading the configuration file
        reopen — reopening the log files

3、nginx   
    stop —     ,    ,       ,            ,    
        # /usr/sbin/nginx -s stop
    quit —     ,       ,                   ,   nginx
        # /usr/sbin/nginx -s quit
            nginx
        # service nginx stop

4、        
    reload —         
        nginx         ,       ,           nginx 
                         ,               ,         。
         ,          ,             。
             ,      ,         ,           ,           ,        
                  nginx,  Linux/Unix  kill       。
                   ID             。
             ,nginx    PID      /usr/local/logs  /var/run   nginx.pid  。
          ,     ID 1628,  nginx         ,   :
        kill -s QUIT 1628

                
        # service nginx reload

4. Nginx 프로필 구조
1、    
    a、nginx           ,               。
    b、              。       ,    ,       ,    (;)  。
    c、                            ,     {}          。
    d、   :                ,       (  :  ,HTTP,   ,   )。
                                      。
    e、        :  nginx  -t   
    f、  nginx        :nginx  -c   

2、      
    Nginx                。
    ......
    events    #Events    IO  , epoll、kqueue、select poll ,       。
        {       
         ......
        }

    http              #http          http     
        {               #        ,  IO   ,hash   ,        
         ......        
                server     #              ,      backlog、rcvbuf、bind sndbuf 
                {
                 ......
                }
                server
                {
                 ......
                }
          ......        
         }   

3、   nginx.conf    
# more /etc/nginx/nginx.conf

#user nobody; #    worker       
worker_processes  1;  #worker     ;       CPU     1;

#error_log logs/error.log; #                 
#error_log logs/error.log notice;#   main、http、server location    
#error_log logs/error.log info; #     error_log file |stderr [debug|info|notice|warn|error|crit|alert|emerg]

#pid logs/nginx.pid; #  pid     

events {
    worker_connections  1024;   worker               ;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';
    #                 
    #access_log logs/access.log main;

    sendfile        on;    #    
    #tcp_nopush on;

    #keepalive_timeout 0;
    keepalive_timeout  65;  #         ,   65s

    #gzip on; #    gzip  

    server {
        listen       80;        #        Author:Leshami
        server_name  localhost; #        Blog :http://blog.csdn.net/leshami

        #charset koi8-r; #     

        #access_log logs/host.access.log main; #          

        location / {      #location    server    ,     URI     。location    。 
            root   html;  #        ,         ,/etc/nginx/html
            index  index.html index.htm; #      ,     index.html,  index.htm
        }

        #      http          
        #error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

5. Nginx 도움말 획득
[root@wms ~]# nginx -h
nginx version: nginx/1.8.0
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /etc/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

좋은 웹페이지 즐겨찾기