'아파 치 대신 실전 nginx - 고성능 웹 서버' - 에센스 부분 기요 읽 기

11213 단어 nginx

  
  
  
  
  1. Nginx  epoll(linux 2.6 ) 、kqueue(FreeBSD)、eventport(Solars10) 
  2. I/O Apache select , Prefork ,
  3. CPU Nginx 。


  
  
  
  
  1. nginx  
  2.  
  3. --sbin-path=<path> 
  4. #nginx 。 , <prefix>/sbin/nginx 
  5.  
  6. --conf-path=<path> 
  7. # -c nginx.conf , <prefix>/conf/nginx.conf 
  8.  
  9. --error-log-path=<path> 
  10. # nginx.conf error_log , 。 , <prefix>/logs/error.log 
  11.  
  12. --http-log-path=<path> 
  13. # nginx.conf access_log , 。 , <prefix>/logs/access.log 

 

  
  
  
  
  1. nginx , ,   
  2.   
  3. kill - QUIT  <pid>  
  4.   
  5. kill - TERM  <pid>   kill - INT <pid>  
  6.   
  7. pkill -9  <pid>  
  8. ,  
  9. kill - USER1  <pid>  
  10.   
  11.  
  12. kill -HUP  <pid>  
  13. Nginx HUP , ( , , ) 
  14. , ( , )。 ,Nginx 。 
  15. , 。 , 
  16. 。 ,Nginx   
  17.   
  18.  
  19. kill - USER2  <pid>  
  20. nginx .pid .oldbin ( :nginx.pid.oldbin), 
  21. Nginx , 。 
  22. , 、 nginx , , nginx  
  23. WINCH  , , 。 
  24. kill -WINCH < nginx pid> 
  25. , , 。 
  26. , , Kill -QUIT   kill - TERM  。 
  27. , .oldbin , .pid , 。 
  28.   

nginx 상용 설정 매개 변수 분석 # 사용 한 사용자 와 그룹 
user  www www; 
# 작업 파생 프로 세 스 수 지정 (일반적으로 CPU 의 총 핵 수 나 총 핵 수의 두 배, 예 를 들 어 두 개의 4 핵 CPU 와 같 으 면 총 핵 수 는 8) 
  • worker_processes 8; 

  • # 오류 로그 저장 경 로 를 지정 합 니 다. 오류 로그 기록 단 계 는 다음 과 같 습 니 다. [ debug | info | notice | warn | error | crit ]
  • error_log  /data1/logs/nginx_error.log  crit; 
  • # 지정 pid 저장 경로 
  • pid        /usr/local/webserver/nginx/nginx.pid; 
  • # 지정 한 파일 설명자 수 
  • worker_rlimit_nofile 51200; 
  • # 사용 하 는 네트워크 I / O 모델, Linux 시스템 은 epoll 모델 을 추천 하고 FreeBSD 시스템 은 kqueue 모델 을 추천 합 니 다. 
  • use epoll; 
  • # 허용 되 는 연결 수 
  • worker_connections 51200; 
  • # 사용 할 문자 집합 을 설정 합 니 다. 한 사이트 에 여러 문자 집합 이 있다 면 함부로 설정 하지 마 십시오. 프로그래머 가 HTML 코드 에서 Meta 탭 을 통 해 설정 해 야 합 니 다. 
  • #charset  gb2312; 
  • # 클 라 이언 트 가 업로드 할 파일 크기 설정 
  • client_max_body_size 8m; 
  • # gzip 압축 열기 
  • gzip on; 
  • #log_format 로그 기록 형식 설정 
  • $remote_addr $http_x_forwarded_for 사용자 기록 IP 주소 
  • $remote user 원 격 클 라 이언 트 사용자 이름 기록 
  • $time local 사용자 가 방문 시간 과 시간 대 를 기록 합 니 다. 
  • $request 는 요청 URL 과 HTTP 프로 토 콜 을 기록 하 는 데 사 용 됩 니 다. 
  • $status 기록 요청 상태, 예 를 들 어 200, 404 
  • $body bytes sent 기록 이 클 라 이언 트 에 보 낸 파일 테마 내용 크기 
  • $http refer 는 어느 페이지 링크 에서 방 문 했 는 지 기록 합 니 다. 
  • $http_user_agent 클 라 이언 트 브 라 우 저 관련 정보 기록 
  • #access_log 접근 로그 형식 설정 
  • \ # nginx 0.7.4 이후 버 전에 서 access log 지정 한 로그 파일 경 로 는 다음 과 같은 변 수 를 포함 할 수 있 습 니 다: access log /var/log/$server_name.log 
  • 로그 파일 경로 에 변 수 를 포함 하면 다음 과 같은 제한 이 있 습 니 다. 
  • 1. nginx 프로 세 스 가 설정 한 사용자 와 그룹 은 이 경로 에 파일 을 만 들 수 있 는 권한 이 있어 야 합 니 다. 
  • 2. 버퍼 는 사용 되 지 않 습 니 다. 
  • 3. 모든 로그 기록 에 대해 로그 파일 은 먼저 파일 을 열 고 로그 기록 을 기록 한 다음 바로 닫 습 니 다. 변 수 를 포함 하 는 로그 파일 저장 경로 의 성능 을 향상 시 키 기 위해 서 는 open log file cache 명령 을 사용 하여 자주 사용 되 는 로그 파일 설명자 캐 시 를 설정 해 야 합 니 다. 이 옵션 은 기본적으로 금지 되 어 있 습 니 다. 
  • \ # nginx 자동 열 디 렉 터 리 설정 
  • autoindex on; 

  •  
    
      
      
      
      
    1. nginx  
    2. vim /etc/sysctl.conf 
    3.  
    4. vi /etc/sysctl.conf 
    5. : 
    6.  
    7. # Add  
    8. net.ipv4.tcp_max_syn_backlog = 65536  
    9. net.core.netdev_max_backlog =  32768  
    10. net.core.somaxconn = 32768  
    11. net.core.wmem_default = 8388608  
    12. net.core.rmem_default = 8388608  
    13. net.core.rmem_max = 16777216  
    14. net.core.wmem_max = 16777216  
    15. net.ipv4.tcp_timestamps = 0  
    16. net.ipv4.tcp_synack_retries = 2  
    17. net.ipv4.tcp_syn_retries = 2  
    18. net.ipv4.tcp_tw_recycle = 1  
    19. #net.ipv4.tcp_tw_len = 1  
    20. net.ipv4.tcp_tw_reuse = 1  
    21. net.ipv4.tcp_mem = 94500000 915000000 927000000  
    22. net.ipv4.tcp_max_orphans = 3276800  
    23. #net.ipv4.tcp_fin_timeout = 30  
    24. #net.ipv4.tcp_keepalive_time = 120  
    25. net.ipv4.ip_local_port_range = 1024  65535  
    26.    
    27. : 
    28. /sbin/sysctl -p 

    좋은 웹페이지 즐겨찾기