이번에는 요즘 많이 사용되고 있는 Nginx에 대해 설치 부터 튜닝까지 방법에 대해 진행해보겠습니다.

이번엔 두 번째로 Nginx에서 자주 사용하는 proxy_pass 에 대해 설명해드리겠습니다.

 

진행 순서는 1~8까지 가이드를 준비하고 있습니다.

  1. Nginx 설치 및 컴파일 방법_(모듈설치)
  2. Nginx 사용하는 옵션정리_proxy_pass
  3. Nginx 사용하는 옵션정리_upstream
  4. Nginx 사용하는 옵션정리_health-check
  5. Nginx 사용하는 옵션정리_sticky
  6. Nginx 사용하는 옵션정리_upstream, ip hash
  7. Nginx 사용하는 옵션정리_X-Forwarded-For
  8. Nginx 사용하는 옵션정리_php-fpm & zabbix 모니터링
 

nginx sticky 을 사용하고자 할때는 몇가지 방법이 필요합니다.

apache 경우는 mod_jk 설정을 하고 jkmount 적용해주면 자연스럽게 sticky 세션이 적용됩니다.

그러나,  nginx 에서 sticky 옵션을 사용하고자 할때는 상용 nginx를 사용하셔야 하는데, 무료 버전에서도 사용 할 수 있는 방법이 있습니다.

 

 

1. sticky 설정 할 수 있도록 컴파일이 필요하다.

./configure ... --add-module=/absolute/path/to/nginx-sticky-module-ng
make
make install

 

 

2. stickey 한줄만 추가해주면 된다.
(단, backup 옵션과 함께는 사용하지 못함)

upstream {
  sticky;
  server 127.0.0.1:9000;
  server 127.0.0.1:9001;
  server 127.0.0.1:9002;
}
 
 
3. upstream, ip hash옵션
upstream
 
cluster 구성시 필수로 사용하는 옵션이다.
cluster 에 참여하는 서버 정보와 포트를 upstream 지시자로 설정하며 첫 번째 설정한 서버가 우선적으로 응답을 처리한다.

ip hash
클라이언트 IP 를 hash 해서 특정 클라이언트는 특정 서버로 연결하는 설정.
session clustering 이 구성되지 않은 경우 유용하다.

 

여기서 중요한건 ip hash는  sticky 세션 방식이 아닙니다.

ip hash를 사용하면 client ip를 지정한 서버로 연결은 가능하나, jboss 에서 세션클러스터링이 구성 된 경우 세션이 뺑뺑이 돌수 있습니다.

ip hash 방식과 sticky 세션 방식을 함께 사용하는것은 권고하지 않습니다.

 

많은 다른 브라우저가 동일한 IP주소 (프록시 뒤에서) 사용해서 로드밸런싱이 잘 안될 확률이 있으니, 적절한 방법으로 적용해서 사용해주세요.

+ Recent posts