nginx 역방향 에이전트 설정 과정

역방향 프 록 시 는 전송 에서 2 가지 로 나 눌 수 있 습 니 다. 동기 화 모드 (apache - mod proxy 와 squid)   비동기 모드 (lighttpd 와 nginx)
동기 전송: 브 라 우 저가 요청 을 하면 요청 이 바로 백 스테이지 로 넘 어가 서 브 라 우 저 와 백 스테이지 사이 에 채널 을 만 듭 니 다.요청 이 완 료 될 때 까지 이 채널 은 항상 존재 합 니 다.비동기 전송: 브 라 우 저 에서 요청 을 합 니 다. 요청 은 바로 배경 으로 돌아 가지 않 고 요청 데이터 (header) 를 먼저 nginx 에 받 은 다음 nginx 에서 이 요청 을 백 엔 드 로 보 냅 니 다. 백 엔 드 처리 후 데 이 터 를 nginx 에 되 돌려 줍 니 다. nginx 는 데 이 터 를 브 라 우 저 로 보 냅 니 다. 이 점 은 lighttpd 와 조금 다 릅 니 다.lighttpd 는 백 엔 드 데 이 터 를 완전히 수신 한 후에 야 브 라 우 저 에 보 냅 니 다.
소결: apache 와 squid 의 역방향 은 백 엔 드 웹 의 부담 을 증가 시 킬 수 있 습 니 다. 모든 사용자 의 요청 은 proxy 에서 백 엔 드 server 와 오래 연 결 됩 니 다. 데이터 가 다 되 기 전에 연결 이 사라 지지 않 는 다 는 것 을 알 기 때 문 입 니 다.wan 속도 와 lan 속도 가 다 르 기 때문에 lan 간 의 속 도 는 매우 빠 르 지만 사용자 의 wan 연결 은 이 시간 을 결정 합 니 다.한편, lighttpd 와 nginx 의 비동기 모드 는 사용자 가 요구 하 는 데이터 가 아무리 크 더 라 도 먼저 받 은 다음 에 백 엔 드 와 연락 하 는 것 입 니 다. 이것 은 매우 빠 른 속도 이기 때문에 proxy 와 백 엔 드 의 연결 시간 도 매우 짧 고 몇 십 M 의 물건 도 몇 초 입 니까?백 엔 드 는 이렇게 많은 연결 을 유지 할 필요 가 없습니다.한편, lighttpd 도 nginx 와 다른 비동기 입 니 다. lighttpd 는 먼저 받 은 다음 에 클 라 이언 트 브 라 우 저 로 전환 하고 nginx 는 데 이 터 를 받 으 면서 사용자 브 라 우 저 로 전환 합 니 다.
환경:
두 대의 개인 네트워크 웹 서버 ip: 192.168.12 정적 html 페이지    ip:192.168.1.13  동적 php 페이지  
프 록 시 서버 개인 네트워크 ip: 192.168.11 인터넷  
인터넷 고객
필요:
1: 인터넷 고객 은 nginx 프 록 시 서버 를 통 해 회사 홈 페이지 www. sw. com 을 방문 할 수 있다.
2: nginx 는 동적 웹 페이지 와 정적 웹 페이지 를 분리 하여 서로 다른 웹 서버 에 접근 할 수 있 습 니 다.
3: 도 난 방지 체인
실현 절차:
1: 서버 에 nginx 소스 패키지 프로그램 을 설치 하고 시작 으로 설정 하 며 메 인 프로필 을 백업 합 니 다.
[[email protected] ~]# useradd  -M -s /sbin/nologin nginx                //시스템 사용자 nginx 추가, 홈 디 렉 터 리 없 음 및 로그 인 금지
[[email protected] ~]#yum -y install gcc gcc-c++ make pcrc-devel openssl-devel   //컴 파일 환경 개발 패키지 설치
[[email protected] ~]#mkdir /nginx                                                    //저장 폴 더 만 들 기
[[email protected] nginx-0.8.55]# ./configure --prefix=/nginx \        //원본 코드 변환, 설치 디 렉 터 리 지정
>--user=nginx --group=nginx                                                  //지정 한 프로 세 스 는 주, 그룹 에 속 합 니 다.
>--with-http_stub_status_module --with-http_ssl_module;    //로드 보기 상태 모듈, ssl 모듈
[[email protected] nginx-0.8.55]# make  && make install                //컴 파일 설치
[[email protected] ~]# vim /etc/rc.local                  //부팅 스 크 립 트 에 추가
/nginx/sbin/nginx

[[email protected] ~]# cp -p /nginx/conf/{nginx.conf,nginx.conf.bak}  //주 프로필 백업
2: 주 프로필 을 설정 하고 서 비 스 를 다시 시작 합 니 다.  
[[email protected] ~]# vim /nginx/conf/nginx.conf
...  
3 worker_processes  1;                    //    ,   cpu    
...
12 events {
13     worker_connections  1024;    //          
14 }
...
17 http {
...
20     upstream web {                    //  web        
21     server 192.168.1.12:80   weight=4;         //     4,        4:1
22     server 192.168.1.13:80;
23     ip_hash;                              //  ip       web   
24         }
...
122     server {
123         listen     80;
124         server_name  www.sw.com;
125         location / {
128            proxy_pass http://web;                        //  web   
129         }
130         location ~*  \.php$ {                //      php ,   192.168.1.13
131            proxy_pass http://192.168.1.13;
132  client_max_body_size 10m;                   //                
133            client_body_buffer_size 128k;     //                  ,
134            proxy_connect_timeout 90;    //nginx            (      )
135            proxy_send_timeout 90;           //           (      )
136            proxy_read_timeout 90;      //     ,         (      )
137            proxy_buffer_size 4k;  //       (nginx)             
138            proxy_buffers 4 32k;        //proxy_buffers   ,     32k     
139            proxy_busy_buffers_size 64k;        //        (proxy_buffers*2)
140            proxy_temp_file_write_size 64k; //         ,  upstream    
141         }
142         location ~* \.(gif|png|jpg|mp3|rm|flv)$ {   //   ,         
143         valid_referers none blocked .sw.com;
144         if ($invalid_referer) { rewrite ^/ http://192.168.1.11/error.htm;}
145         }
146       }
...
156 }

[[email protected] ~]#/nginx/sbin/nginx -s stop                          //서비스 정지
[[email protected] ~]#/nginx/sbin/nginx                                     //시작 서비스
 
 
 

좋은 웹페이지 즐겨찾기