애플리케이션 배포
[애플리케이션 배포] nginx와 톰캣의 작업 분리
코딩하는 원숭이
2021. 11. 18. 14:21
저번 포스트에 이어서 설명한다.
이전에는 80번 포트로 들어온 요청들을 nginx가 모두 처리하도록 되어있었다. 이번엔 nginx가 받아온 요청들 중 일부(nginx가 처리하지 못하는 작업)를 톰캣이 처리하도록 하여 성능을 높이는 작업을 한다. 이렇게 하는 이유는 nginx가 할 정적 파일에 대한 처리와 nginx가 처리하지 못하는 동적 처리를 동적 서버인 톰캣이 처리하도록 하기 위함이다. 또한 nginx는 동적 처리를 할 톰캣 서버의 분산 처리를 위해서도 사용한다.
*정적 파일 : html, css, javascript
*동적 파일 : java의 클래스파일
우선 가상머신에서 notepad앱을 다운받는다.
nginx가 설치된 경로(나의 경우는 (C:\Users\Administrator\Desktop\tool\nginx-1.20.2\conf)에서 conf폴더로 들어가 nginx.conf를 notepad앱을 연결하여 연다.
파란원이 쳐져있는 부분이 우리가 처리해야할 부분이다. 이를 통해 nginx가 못하는 일을 톰캣이 대신 받아 처리하게 된다.
location 블럭 안 root와 index 다음줄에
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
이 내용을 복붙한다.
이제 브라우저에서 localhost:80으로 접속해서 톰캣 화면이 나오면 성공이다. 이전에는 nginx의 화면이 나왔지만 이제는 톰캣 화면이 나온다.
다음 포스트에서는 도메인 등록에 대해 다룬다.