【 Nginx 】 Nginx 프로필 매개 변수 / 시작 매개 변수 상세 설명;설정 명령 시작 / 정지 / 다시 불 러 오기

19404 단어 Nginx
nginx 프로필
nginx 와 그 모듈 의 작업 방식 은 설정 파일 에 의 해 지 정 됩 니 다. 기본 적 인 상황 에서 설정 파일 은 nginx. conf 라 고 명명 되 고 /usr/local/nginx/conf 또는 /etc/nginx 에 저 장 됩 니 다.
기본 config
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
     
    worker_connections  1024;
}


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;

    #gzip  on;

    server {
     
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
     
            root   html;
            index  index.html index.htm;
        }

        #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;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
     
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
     
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
     
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
     
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
     
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
     
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
     
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

nginx 파일 구조
...              #   

events {
              #events 
   ...
}

http      #http 
{
     
    ...   #http   
    server        #server 
    {
      
        ...       #server   
        location [PATTERN]   #location 
        {
     
            ...
        }
        location [PATTERN] 
        {
     
            ...
        }
    }
    server
    {
     
      ...
    }
    ...     #http   
}

속뜻
1. 전역 블록: nginx 전역 에 영향 을 주 는 명령 을 설정 합 니 다.일반적으로 nginx 서버 를 실행 하 는 사용자 그룹, nginx 프로 세 스 pid 저장 경로, 로그 저장 경로, 프로필 도입, worker process 수 생 성 등 이 있 습 니 다.
2. 이벤트 블록: nginx 서버 에 영향 을 주거 나 사용자 와 의 네트워크 연결 을 설정 합 니 다.모든 프로 세 스 의 최대 연결 수가 있 습 니 다. 어떤 이벤트 구동 모델 을 선택 하여 연결 요 구 를 처리 하 는 지, 여러 개의 네트워크 연결 을 동시에 받 아들 이 고 여러 개의 네트워크 연결 을 직렬 화 할 수 있 는 지 여부 등 이 있 습 니 다.
3. http 블록: 여러 개의 server, 프 록 시, 캐 시, 로그 정의 등 절대 다수의 기능 과 제3자 모듈 의 설정 을 포함 할 수 있 습 니 다.파일 도입, mime - type 정의, 로그 사용자 정의, sendfile 전송 파일 사용 여부, 연결 시간 초과, 단일 연결 요청 수 등.
4. server 블록: 가상 호스트 의 관련 매개 변 수 를 설정 합 니 다. http 에 여러 개의 server 가 있 을 수 있 습 니 다.
5. location 블록: 요청 한 경로 와 각종 페이지 의 처리 상황 을 설정 합 니 다.
프로필 예제
###########            。#################
#user administrator administrators;  #       ,   nobody nobody。
#worker_processes 2;  #        ,   1
#pid /nginx/pid/nginx.pid;   #  nginx          
error_log log/error.log debug;  #      ,  。           ,http ,server ,     :debug|info|notice|warn|error|crit|alert|emerg
events {
     
    accept_mutex on;   #         ,        ,   on
    multi_accept on;  #                  ,   off
    #use epoll;      #      ,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #     ,   512
}
http {
     
    include       mime.types;   #             
    default_type  application/octet-stream; #      ,   text/plain
    #access_log off; #          
    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #     
    access_log log/access.log myFormat;  #combined         
    sendfile on;   #  sendfile      ,   off,   http ,server ,location 。
    sendfile_max_chunk 100k;  #                    ,   0,     。
    keepalive_timeout 65;  #      ,   75s,   http,server,location 。

    upstream mysvr {
        
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #  
    }
    error_page 404 https://www.baidu.com; #   
    server {
     
        keepalive_requests 120; #         。
        listen       4545;   #    
        server_name  127.0.0.1;   #           
        location  ~*^.+$ {
            #   url  ,    ,~      ,~*       。
           #root path;  #   
           #index vv.txt;  #     
           proxy_pass  http://mysvr;  #    mysvr         
           deny 127.0.0.1;  #   ip
           allow 172.18.5.54; #   ip           
        } 
    }
}

위 는 nginx 의 기본 설정 입 니 다. 주의해 야 할 것 은 다음 과 같은 몇 가지 가 있 습 니 다.

1、
	1.$remote_addr  $http_x_forwarded_for         ip  ; 
	2.$remote_user :           ; 
	3.$time_local :            ;
	4.$request :        url http  ;
	5.$status :         ;   200, 
	6.$body_bytes_s ent :                ;
	7.$http_referer :                ; 
	8.$http_user_agent :             ;

2、    :        ,            ,            ,         。

3、           。

nginx 명령
nginx 를 시작 하려 면 nginx 파일 을 직접 실행 하고 시작 하면 다음 명령 을 사용 할 수 있 습 니 다./usr/local/etc/nginx
예 를 들 어 nginx -s [options] (프로필 매개 변 수 를 가 진 시작 nginx)/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 매개 변 수 는 다음 중 하나 일 수 있 습 니 다.
  • options - 급속 꺼 짐
  • stop - 우아 한 전원 끄 기 (작업 프로 세 스 가 현재 요청 한 서 비 스 를 완료 할 때 nginx 프로 세 스 를 중단 합 니 다)
  • quit - 프로필 다시 불 러 오기(nginx 설정 이 변경 되 었 을 때 이 명령 을 지정 해 야 합 니 다. 메 인 프로 세 스 가 이 명령 을 받 으 면 설정 파일 의 문법 적 정확성 을 먼저 검사 한 다음 새로운 설정 을 적용 하려 고 합 니 다. 성공 하면 메 인 프로 세 스 는 새로운 작업 프로 세 스 를 시작 하 는 동시에 오래된 작업 프로 세 스에 닫 기 요청 을 보 냅 니 다. 그렇지 않 으 면 메 인 프로 세 스 는 스크롤 백 변경 을 계속 사용 합 니 다.오래된 프로 세 스 가 닫 기 명령 을 받 으 면 오래된 프로 세 스 는 새로운 요청 을 받 지 않 고 처리 중인 요청 을 완료 합 니 다. 마지막 으로 오래된 작업 프로 세 스 가 종 료 됩 니 다.
  • reload - 로그 파일 다시 열기
  • nginx 프로 세 스 의 목록 보기 reopen 이 명령 은 프로 세 스 ID 를 포함 하 는 모든 프로 세 스 를 볼 수 있 습 니 다. 기본 값 으로 메 인 프로 세 스 의 ID 는 nginx. pid 디 렉 터 리 에 기 록 됩 니 다.
    프로 세 스 를 정상적으로 닫 으 려 면 명령 을 실행 하 십시오. ps -ax매개 변수 상세 설명
    sudo nginx   #   nginx
    nginx -s reload|reopen|stop|quit  #      |  |  |  
    nginx -t   #      
    
    nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
    
    -?,-h           :       
    -v               :          
    -V               :-t                :-q               :                 
    -s signal       :     nginx        :stop(  ), quit(  ), reopen(  ), reload(        )
    -p prefix        :       (   :/usr/local/Cellar/nginx/1.2.6/-c filename      :       (   :/usr/local/etc/nginx/nginx.conf)
    -g directives    :             
    

    좋은 웹페이지 즐겨찾기