Nginx 프로필 및 간단 한 예제

7826 단어 nginx
  • ngnix 디 렉 터 리
  • nginx 관련 명령
  • windows 에서 nginx 로 시작 하 는 명령 은 'ginx' 로 바 꿔 야 합 니 다. 예 를 들 어 'ginx - t'
  • 명령 하 다.
    역할.
    nginx -t
    문법 오류 가 있 는 지 검증 (nginx. conf) 프로필
    nginx -V
    Nginx 버 전 번호 보기
    start nginx
    Nginx 시작 (windows 아래 start nginx)
    nginx -c /usr/local/nginx/conf/nginx.conf
    시작 nginx
    nginx -s stop
    Nginx 빠 른 정지 또는 닫 기
    nginx -s quit
    정상 정지 또는 Nginx 닫 기
    nginx -s reload
    설정 파일 수정 다시 불 러 오기 명령
    nginx -h
    도움말 정보 보기
    nginx -s reopen
    로그 파일 열기
    nginx. conf 프로필
  • nginx. conf 는 nginx 의 중요 한 설정 파일 입 니 다.가상 호스트 설정, 역방향 에이전트, 부하 균형 등 일련의 설정 을 사용 하 는 지 여 부 는 모두 nginx. conf 에서 설정 합 니 다.

  • nginx. conf 파일 구조
  • 파일 구 조 는 주로 세 조각 으로 구성 된다. 전역 블록, 이벤트 블록, http 블록 이다.http 블록 에는 http 전역 블록 과 여러 개의 server 블록 이 포함 되 어 있 으 며, 각 server 블록 에는 server 전역 블록 과 여러 개의 location 블록 이 포함 되 어 있 으 며, 가 까 운 원칙 으로 유효 합 니 다
  • 전역 블록
    전체 실행 에 영향 을 주 는 명령 을 설정 합 니 다. 보통 서버 사용자 그룹 이 생 성 할 수 있 는 worker process ngix. pid 저장 경로 로그 저장 경로 형식 설정 파일 이 도 입 됩 니 다.
    이벤트 블록
    nginx 서버 와 사용자 의 네트워크 연결 에 영향 을 주 고 이 설정 은 서비스의 성능 에 큰 영향 을 줍 니 다.일반적으로 WP 아래 네트워크 를 직렬 화 할 지 여부 입 니 다. 여러 개의 네트워크 연결 이벤트 구동 모델 을 동시에 받 아들 일 수 있 는 지 여부 입 니 다.
    http 블록
    중요 한 구성 부분, 프 록 시, 캐 시, 로그 정의, 제3자 모듈 의 설정.보통 설정 파일 이 MIME - TYPE 정의 로 그 를 도입 합 니 다. sendfile 전송 파일 연결 시간 초과 단일 연결 요청 수 상한 선 을 사용 할 지 여부 입 니 다.
    nginx. conf 설정 세부 사항 설명
    1. 전역 모듈 상용 설정
    사용자 그룹 설정
  • 실행 자 는 설정 하지 않 아 도 됩 니 다. 기본 값 은 nginx
  • 입 니 다.
    \ # alleyz 사용자 admin 그룹 에서 시작 정지 권한 이 있 는 user alleyz [admin] 를 설정 합 니 다.
    실행 프로 세 스 수 설정
  • nginx 프로 세 스, 이 컴퓨터 cpu 핵 수 와 일치 하도록 설정 하 는 것 을 권장 합 니 다
  • 숫자 로 설정 하면 시작 후 워 커 프로 세 스
  • 가 몇 개 있 습 니까?
  • auto 로 설정 하면 자동 검색
  • \ # nginx 가 네 개의 프로 세 스 를 시작 하 는 것 을 표시 합 니 다 workerprocesses 4;
    pid 파일 저장 경로 설정
  • 기본 값 은 logs / ngix. pid
  • 에 저 장 됩 니 다.
  • pid: 프로 세 스 식별 자
  • pid   logs/nginx.pid;
    오류 로그 파일 의 저장 경 로 를 설정 합 니 다.
  • 전역 블록, http 블록, server 블록, location 블록 설정
  • error_log file | stderr      [ debug| info | notice | warn | error | crit | alert | emerg]
    프로필 도입
  • 임 의 장소 에서 도입 가능
  • 부족 치: none
  • \ # "conf" 로 끝 나 는 모든 파일 include vhosts / *. conf 를 포함 합 니 다.
    2. 이벤트 (events) 모듈 의 상용 구성 요소
    이벤트 구동 모델 선택
    use kqueue | rtsig | epoll | /dev/poll | select | poll | eventport
    최대 연결 수 설정
  • WP 마다 동시에 열 수 있 는 최대 연결 수 입 니 다.이 값 은 운영 체제 가 지원 하 는 열 린 최대 파일 핸들 수 보다 클 수 없습니다.
  • worker_connections number; #기본 값 512
    accept_mutex
  • 기본 오픈 (활성화)
  • 새로운 연결 이 도 착 했 을 때 accept 를 활성화 하면mutex, 그 많은 Worker 는 직렬 로 처 리 됩 니 다. 그 중 하 나 는 Worker 가 깨 어 나 고 다른 Worker 는 계속 휴면 상 태 를 유지 합 니 다.활성화 하지 않 으 면 acceptmutex, 그러면 모든 Worker 가 깨 어 납 니 다. 그러나 하나의 Worker 만 새로운 연결 을 얻 을 수 있 습 니 다. 다른 Worker 는 다시 휴면 상태 에 들 어 갑 니 다. 이것 이 바로 '놀 라 운 문제'
  • 입 니 다.
    accept_mutex on | off;
    여러 연결 을 동시에 받 아들 일 수 있 는 지 설정 합 니 다.
  • 기본 종료
  • multi_accept on | off;
    연결 시간 초과
    keepalive_timeout 60;
    클 라 이언 트 요청 헤드 버퍼 크기
  • 이것 은 시스템 의 페이지 크기 에 따라 설정 할 수 있 습 니 다. 보통 요청 헤더 의 크기 는 1k 를 초과 하지 않 지만 일반 시스템 의 페이지 가 1k 이상 이 어야 하기 때문에 여 기 는 페이지 크기 로 설정 하고 이 값 은 '시스템 페이지 크기' 의 전체 배수 로 설정 해 야 합 니 다.

  • client_header_buffer_size 4k;
    파일 열기 위 한 캐 시 지정
  • 이것 은 파일 을 열기 위 한 캐 시 를 지정 합 니 다. 기본적으로 사용 되 지 않 습 니 다. max 는 캐 시 수량 을 지정 합 니 다. 파일 을 여 는 것 과 일치 하 는 것 을 권장 합 니 다. inactive 는 파일 이 요청 되 지 않 은 지 얼마나 되 었 는 지 를 말 합 니 다.

  • open_file_cache max=65535 inactive=60s;
    캐 시 를 검사 하 는 유효한 정보의 간격 을 설정 합 니 다.
    open_file_cache_valid 80s;
    open_file_cache_min_uses
  • open_file_cache 명령 의 inactive 매개 변 수 는 시간 내 에 파일 의 최소 사용 횟수 입 니 다. 이 숫자 를 초과 하면 파일 설명 자 는 캐 시 에서 열 려 있 습 니 다.

  • \ # inactive 시간 내 에 한 번 도 사용 되 지 않 은 파일 이 있 으 면 openfile_cache_min_uses 1;
    3. HTTP 모듈 의 핵심 구성 요소 와 변수
  • http 모듈 은 주로 세 가지 역할 영역 이 있 습 니 다. http, server, location
  • http 도 메 인: 여러 개의 server, 프 록 시, 캐 시, 로그 정의 등 절대 다수의 기능 과 제3자 모듈 의 설정 을 포함 할 수 있 습 니 다.파일 도입, mime - type 정의, 로그 사용자 정의, sendfile 전송 파일 사용 여부, 연결 시간 초과, 단일 연결 요청 수 등.
  • server 도 메 인: 가상 호스트 의 관련 매개 변 수 를 설정 합 니 다. http 에 여러 개의 server 가 있 을 수 있 습 니 다.
  • location 필드: 요청 한 경로 와 각종 페이지 의 처리 상황 을 설정 합 니 다.
  • 이 모듈 에 설 치 된 문법 이 너무 복잡 하고 다음은 간단하게 소개 합 니 다
  • 3.0 공통 설정
    #                  “     ”
    #    :root html
    root /data/test;
    

    3.1. HTTP 역할 영역
     include mime.types; #             
     default_type application/octet-stream; #      
     charset utf-8; #    
     server_names_hash_bucket_size 128; #      hash   
     client_header_buffer_size 32k; #        
     large_client_header_buffers 4 64k; #     
     client_max_body_size 8m; #     
     sendfile on; #          ,sendfile    nginx    sendfile       ,         on,             IO     ,    off,        I/O    ,       。  :              off。
     autoindex on; #        ,       ,    。
     tcp_nopush on; #      
     tcp_nodelay on; #      
     keepalive_timeout 120; #       ,    
    
     #FastCGI              :      ,      。             。
     fastcgi_connect_timeout 300;
     fastcgi_send_timeout 300;
     fastcgi_read_timeout 300;
     fastcgi_buffer_size 64k;
     fastcgi_buffers 4 64k;
     fastcgi_busy_buffers_size 128k;
     fastcgi_temp_file_write_size 128k;
    
     #gzip    
     gzip on; #  gzip    
     gzip_min_length 1k; #        
     gzip_buffers 4 16k; #     
     gzip_http_version 1.0; #    (  1.1,     squid2.5   1.0)
     gzip_comp_level 2; #    
     gzip_types text/plain application/x-javascript text/css application/xml;
    
     #    ,       text/html,          ,         ,      warn。
     gzip_vary on;
     #limit_zone crawler $binary_remote_addr 10m; #    IP          
    
    #     
      upstream qianyunlai.com {
      #upstream     ,weight   ,            。weigth      ,             。
      server 192.168.80.121:80 weight=3;
      server 192.168.80.122:80 weight=2;
      server 192.168.80.123:80 weight=3;
     }
    

    3.2. server 역할 영역
    #    
    listen 80;
    #    ,      ,       
    server_name www.abc.com abcd.com;
    #         。
    keepalive_requests 120; 
    
    #                    
    #    :root html
    root /data/test;
    #   500,502   ,    /50x.html  
    error_page  500 502 503 504  /50x.html;
    
    #            
    access_log /var/log/nginx/qianyunlai.log main;
    
    
    

    3.3. location 역할 영역
  • localtion 매 칭 규칙 설명
  • root /data/cat;  #location    
    index html.index;  #     
    proxy_pass  http://localhost:8888;  #        
    deny 127.0.0.1;  #   ip
    allow 172.18.5.54; #   ip     
    
  • alias
  • alias 는 location 뒤에 설 정 된 경 로 를 버 리 고 현재 일치 하 는 디 렉 터 리 를 지정 한 디 렉 터 리 로 가 리 킵 니 다.
  • alias 를 사용 할 때 디 렉 터 리 이름 뒤에 '/' 를 추가 해 야 합 니 다.
  • alias 는 모든 이름 을 지정 할 수 있 습 니 다.
  • alias 는 정규 매 칭 을 사용 할 때 일치 하 는 내용 을 포착 하고 지정 한 내용 에서 사용 해 야 합 니 다.

  • location ~ /page/ {
    alias /data/statics/newPage/
    }
    
    #        URI /page/error/error.page ,web            /data/statics/newPage/error/error.page   。
    

    3.4 if 역할 영역
  • if 역할 영역 은 Nginx rewrite 재 작성 모듈 에서 상세 하 게 설명 되 어 있 습 니 다
  • windows 아래 설정 예제
    worker_processes  4;
    
    error_log  logs/error.log  notice;
    
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
    
        keepalive_timeout  65;
    
    
    #      hosts    abcd.com,abc.com        
    #   abc.com:8861          8888     
       server {
            listen       8861;
            server_name  abc.com;
    
            location / {
                proxy_pass  http://localhost:8888;
            }
        }
    #   abcd.com:8861        baidu    
       server {
            listen       8861;
            server_name  abcd.com;
    
            location / {
                proxy_pass  http://www.baidu.com;
            }
        }
    
    }
    
    

    총결산
  • 이상 의 설정 설명 은 매우 복잡 합 니 다. 특히 http 모듈 은 설정 디 테 일이 많이 부족 합 니 다. 나중에 구체 적 인 기능 에 따라 따로 장 을 나 누 어 설명 할 계획 입 니 다.잘못 이 있 으 면 지적 을 환영 합 니 다.
  • 좋은 웹페이지 즐겨찾기