Nginx 유 틸 리 티 가이드 V1 (연결 7: 캐 시 와 부하)

설명: 본 연 재 된 글 은 Nginx 홈 페이지, 장 연 BLOG, linuxtone 포럼, 인터넷, 본인 오리지널 입 니 다.홈 페이지 문 서 를 바탕 으로 오리지널 작품 을 발표 하도록 노력 하 겠 습 니 다.문서 의 질과 오류 율 을 보증 합 니 다.만약 에 작가 가 본 논문 이 저작권 문제 와 관련 이 있다 고 생각 되면 저 에 게 연락 하 세 요.
 
liuyu105#gmail.com。
Nginx 캐 시 서버
파일 을 로 컬 에 캐 시 하려 면 다음 과 같은 하위 매개 변 수 를 추가 해 야 합 니 다: proxystore on; proxy_store_access user:rw group:rw all:rw; proxy_temp_path 캐 시 디 렉 터 리;
그 중, proxystore on 은 로 컬 에 캐 시 기능 을 사용 합 니 다. proxytemp_path 는 캐 시가 어느 디 렉 터 리 에 있 는 지 지정 하 는 데 사 용 됩 니 다. 예 를 들 어 proxytemp_path html;
이전 설정 을 거 친 후 로 컬 디스크 에 파일 이 캐 시 되 었 지만 요청 할 때마다 원 격 으로 파일 을 끌 어 옵 니 다. 원 격 으로 파일 을 끌 어 올 리 지 않도록 proxy 를 수정 해 야 합 니 다.pass: if ( !-e $request_filename) { proxy_pass http://mysvr; }
proxy 를 조건 부 로 실행 하 는 것 으로 바 꾸 는 것 입 니 다.pass, 이 조건 은 요청 한 파일 이 로 컬 에 있 는 proxy 입 니 다.temp_path 가 지정 한 디 렉 터 리 가 존재 하지 않 을 때 백 엔 드 로 끌 어 옵 니 다.
8. Nginx 부하 균형 1, 기초 지식 nginx 의 upstream 은 현재 4 가지 방식 의 배분 1 을 지원 합 니 다), 폴 링 (기본) 모든 요청 은 시간 순서에 따라 서로 다른 백 엔 드 서버 에 하나씩 배정 되 며 백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.2) weight 는 폴 링 확률 을 지정 하고 weight 와 방문 비율 이 정비례 하여 백 엔 드 서버 의 성능 이 고 르 지 않 은 경우 에 사용 합 니 다.2)、ip_hash 모든 요청 은 ip 에 접근 하 는 hash 결과 에 따라 분 배 됩 니 다. 모든 방문객 이 백 엔 드 서버 에 고정 적 으로 접근 하면 session 문 제 를 해결 할 수 있 습 니 다.3), fair (제3자) 는 백 엔 드 서버 의 응답 시간 에 따라 요청 을 분배 하고 응답 시간 이 짧 은 우선 분 배 를 한다.4)、url_hash (제3자)
2. Upstream upstream www. opendoc. com. cn {\ # 부하 균형 장 치 를 정의 하 는 Ip 및 장치 상태 server 127.0.0.0.1: 9090 down; server 127.0.0.0.1: 8080 weight = 2; server 127.0.0.1: 6060; server 127.0.0.1: 7070 backup;} 부하 균형 을 사용 해 야 하 는 server 에 proxy 를 추가 합 니 다.pass http://bbs.linuxtone.org/;
모든 장치 의 상 태 는 a) down 으로 설정 되 어 있 습 니 다.c) max_fails: 요청 실패 횟수 를 기본 으로 1. 최대 횟수 를 초과 하면 proxy 로 되 돌려 줍 니 다.next_upstream 모듈 정의 오류 d) failtimeout:max_fails 회 실패 후 일시 정지 시간 입 니 다.e) backup: 다른 모든 비 backup 기기 다운 이나 바 쁠 때 backup 기 계 를 요청 합 니 다.그래서 이 기계 의 압력 이 가장 가 벼 울 것 이다.
nginx 는 여러 그룹의 부하 균형 을 동시에 설정 하여 사용 하지 않 는 server 에 사용 할 수 있 도록 지원 합 니 다.
client_body_in_file_only 는 On 으로 설정 하여 client post 에서 온 데 이 터 를 파일 에 기록 하여 debug client 로 사용 합 니 다.body_temp_path 에 기록 파일 을 설정 한 디 렉 터 리 는 최대 3 층 디 렉 터 리 location 를 설정 하여 URL 을 일치 시 킬 수 있 습 니 다. 방향 을 바 꾸 거나 새로운 프 록 시 부하 균형 을 이 룰 수 있 습 니 다.
3. 인 스 턴 스 는 url 에 접근 한 hash 결과 에 따라 요청 을 할당 하고 모든 url 을 같은 백 엔 드 서버 로 지정 합 니 다. 백 엔 드 서버 가 캐 시 일 때 효과 적 이 며 Squid 캐 시 명중률 을 높이 는 데 도 사용 할 수 있 습 니 다. 설정 과정 nginx 메 인 프로필: 

  
  
  
  
  1. ………. 
  2. #loadblance my.linuxtone.org 
  3. upstream my.linuxtone.org { 
  4. ip_hash; 
  5. server 127.0.0.1:8080; 
  6. server 192.168.169.136:8080; 
  7. server 219.101.75.138:8080; 
  8. server 192.168.169.117; 
  9. server 192.168.169.118; 
  10. server 192.168.169.119; 
  11. ………….. 
  12. include vhosts/linuxtone_lb.conf; 
  13. ……… 
  14. # vi proxy.conf 
  15. proxy_redirect off
  16. proxy_set_header Host $host; 
  17. proxy_set_header X-Real-IP $remote_addr; 
  18. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  19. client_max_body_size 50m; 
  20. client_body_buffer_size 256k; 
  21. proxy_connect_timeout 30; 
  22. proxy_send_timeout 30; 
  23. proxy_read_timeout 60; 
  24.  
  25. proxy_buffer_size 4k; 
  26. proxy_buffers 4 32k; 
  27. proxy_busy_buffers_size 64k; 
  28. proxy_temp_file_write_size 64k; 
  29. proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; 
  30. proxy_max_temp_file_size 128m; 
  31. proxy_store on
  32. proxy_store_access user:rw group:rw all:r; 
  33. #nginx cache  
  34. #client_body_temp_path /data/nginx_cache/client_body 1 2; 
  35. proxy_temp_path /data/nginx_cache/proxy_temp 1 2; 

#Vi linuxtone_lb.conf

  
  
  
  
  1. server 
  2. listen 80; 
  3. server_name my.linuxtone.org; 
  4. index index.php; 
  5. root /data/www/wwwroot/mylinuxtone; 
  6. if (-f $request_filename) { 
  7. break; 
  8. if (-f $request_filename/index.php) { 
  9. rewrite (.*) $1/index.php break; 
  10.  
  11. error_page 403 http://my.linuxtone.org/member.php?m=user&a=login; 
  12. location / { 
  13. if ( !-e $request_filename) { 
  14. proxy_pass http://my.linuxtone.org; 
  15. break; 
  16. include /usr/local/nginx/conf/proxy.conf; 

좋은 웹페이지 즐겨찾기