Nginx + Tomcat 연동
Upstream
apache를 사용하면 tomcat서버와 AJP설정을 통해서 통신을 하게 되는데,
nginx는 tomcat서버와 HTTP 통신을 하게된다.
Nginx는 Upstream이란 지시자를 사용하며, reverser proxy 역할을 하게된다.
upstream이란 무엇일까?
Upstream 서버는 다른 말로 Origin 서버라고도 부른다. 여러대의 컴퓨터가 순차적으로 어떤 일을 처리할 때 어떤 서비스를 받는 서버를 의미한다.
위의 그림에서 업스트림 서버
는 PHP-FPM이 설치된 서버이고, Nginx는 DownStream 서버라고 할 수 있다.
Upstream Module
업스트림 모듈은 Nginx에 내장된 모듈로 부하분산, 속도 개선과 같은 역할을 할 수 있게 한다.
Upstream 설정
업스트림을 설정하기 위해서는 업스트림 블록을 사용한다.
형식
upstream 이름{
[ip_hash;]
server host 주소:포트 [옵션];
}
옵션 참고
http://nginx.org/en/docs/http/ngx_http_upstream_module.html
http://blog.naver.com/PostView.nhn?blogId=kletgdgo&logNo=221368656491&categoryNo=157&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search
예제
upstream backend{
ip_hash;
server 192.168.125.142:8080 weight=3;
server 192.168.125.143:8080;
server 192.168.125.144:8080 max_fails=5 fail_timeout=30s;
}
같은 IP는 같은 업스트림 서버에 접속한다.(ip_hash)
192.168.125.142 서버는 다른 서버 대비 3배 더 자주 사용된다. (weight=3)
192.168.152.144 서버는 30초 동안 응답하지 않는 상태가 5번 지속되면 죽은 것으로 간주하고 더 이상 요청을 보내지 않는다. (max_fails=5 fail_timeout=30s;)
Upstream 설정 적용
# 위에 정의한 upstream을 사용
server{
listen 80;
server_name www.shop-web.com
location / {
proxy_pass backend; # 모든 요청을 backend로 넘김
}
}
'프로그래밍 노트 > 인프라' 카테고리의 다른 글
[nginx] 기본설정 살펴보기 (0) | 2020.04.28 |
---|---|
[nginx] https(ssl) 설정 - 인증서체인설정 (0) | 2020.04.28 |
[nginx] 가상호스트 설정(virtual host) (0) | 2020.04.14 |
[nginx] 아파치와 엔진엑스를 비교해보자. (Apache vs Nginx) (0) | 2020.04.10 |
[nginx] mac os에 nginx를 설치해보자!! (0) | 2020.04.10 |