공유할 서비스 선택

TECH


TECH

Middleware (Nginx-4) Nginx 사용하는 옵션 정리 4_(sticky, upstream, ip hash)

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 5,224회 좋아요 2회 작성일 20-06-06 09:37

본문

이번에는 요즘 많이 사용되고 있는 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 지시자로 설정하며 첫 번째 설정한 서버가 우선적으로 응답을 처리한다.

http {
    server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;

    ##
    upstream phpserver {
        ## LB method
        # least_conn, ip_hash;

        ## fastcgi 를 사용하는 경우
        #server unix:/var/run/php/php7.0-fpm.sock;
        #server fpm-server-ip:9000;

        ## proxy 를 사용하는 경우
        server was1-ip:1234;
        server was2-ip:1234;
    }

 

ip hash

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

upstream backend {
    ip_hash;

    server was1-ip:8080 slow_start=30s;
    server was2-ip:1234;
    server 192.0.0.1 backup;
}

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

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

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

 

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


 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
94 Middleware 미들웨어 아이디로 검색 전체게시물 10-23 654
(오픈소스 활용-22) 리눅스에 Jenkins-2.4 설치 가이드

카테고리 : Middleware

654 0
작성자 : 미들웨어 23/10/23
93 Middleware 미들웨어 아이디로 검색 전체게시물 10-11 370
(MSA 개발-3) MSA 파일(JAVA)분석

카테고리 : Middleware

370 0
작성자 : 미들웨어 23/10/11
92 Middleware 미들웨어 아이디로 검색 전체게시물 09-22 371
(MSA 개발-2) Oracle DB & SpringBoot MSA 응용 프로그램 테스트

카테고리 : Middleware

371 0
작성자 : 미들웨어 23/09/22
91 Middleware 미들웨어 아이디로 검색 전체게시물 09-11 663
(MSA 개발-1) Oracle DB를 사용한 SpringBoot 마이크로서비스

카테고리 : Middleware

663 0
작성자 : 미들웨어 23/09/11
90 Middleware 미들웨어 아이디로 검색 전체게시물 08-21 501
(MSA 개발 환경 구성-2) Oracle DB (Docker)& SQLcl 구성

카테고리 : Middleware

501 0
작성자 : 미들웨어 23/08/21
89 Middleware 미들웨어 아이디로 검색 전체게시물 08-09 2051
(MSA 개발 환경 구성-1) Maven & VScode & RancherDesktop설치

카테고리 : Middleware

2,051 0
작성자 : 미들웨어 23/08/09
88 Middleware 미들웨어 아이디로 검색 전체게시물 07-24 787
(Oracle Cloud) OCI 자격증 기출문제 "OCI Architect Associate"

카테고리 : Middleware

787 2
작성자 : 미들웨어 23/07/24
87 Middleware 미들웨어 아이디로 검색 전체게시물 07-07 616
클라우드 네이티브란 무엇인가?

카테고리 : Middleware

616 0
작성자 : 미들웨어 23/07/07
86 Middleware 미들웨어 아이디로 검색 전체게시물 06-23 623
(Oracle Cloud) OCI 자격증 기출문제 "OCI Foundation" -2

카테고리 : Middleware

623 0
작성자 : 미들웨어 23/06/23
85 Middleware 미들웨어 아이디로 검색 전체게시물 06-12 892
(Oracle Cloud) OCI 자격증 접수 및 문제유형 "OCI Foundation" -1

카테고리 : Middleware

892 0
작성자 : 미들웨어 23/06/12
Total 104건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top