AWS EC2에 Tomcat8 설치하기 + nginx와 연동

Tae Yeol Kim
5 min readSep 4, 2017

목표. Tomcat8 설치 및 구동, nginx와 연동

AWS EC2에 웹컨테이너인 Tomcat8을 설치 해보도록 하겠습니다.

우선 톰캣 프로그램을 다운 받기 위해 사이트에 접속 하여야 합니다.

http://tomcat.apache.org에 접속합니다.

좌측 Download 메뉴에서 Tomcat8을 클릭 합니다.

본문에 보니 8.5.20 버전이라는 문구 아래에 다운 받을 수 있는 링크 목록이 나옵니다.

리눅스에설치를 할 예정이니 tar.gz에 오른쪽 마우스 버튼을 눌러 링크 주소 복사를 합니다.

그럼 AWS EC2로 가서 Tomcat8를 설치해 볼까요.

저의 경우엔 프로그램 설치는 /usr/local 디렉토리를 많이 이용 합니다.

cd /usr/local 명령을 이용하여 디렉토리를 이동합니다.

wget 명령으로 tomcat 파일을 다운로드 받습니다. 주소는 위에서 링크 주소 복사를 통해 저장한 주소를 사용 합니다.

sudo wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz

받아진 파일은 tar 명령을 통해 압축을 풀어야 합니다.

sudo tar xzvf apache-tomcat-8.5.20.tar.gz

접근을 편하게 하기 위해 심볼릭 링크를 만듭니다. (접근 편리성 외에 환경설정의 편리성도 있으나 여기선 접근을 위해서만 이용합니다.)

sudo ln -s apache-tomcat-8.5.20 tomcat

tomcat이라는 심볼릭 링크가 설정된 것을 확인 할 수 있습니다.

이제 tomcat을 구동해 보겠습니다.

편리하게 작업하기 위해 root 권한으로 변경하여 작업 하도록 하겠습니다.

sudo su

ec2-user 였던 것이 root로 변경된 것을 볼 수 있습니다. 처음부터 sudo su 명령을 통해 root로 작업하면 sudo 명령을 쓰지 않아도 되지만 실수를 하지 않기 위해 되도록 root 권한으로 작업하지 않는 것이 좋습니다.

/usr/local/tomcat/bin/startup.sh

Tomcat이 정상적으로 구동 되었습니다. 브라우저에서 접근이 되는지 확인해 볼까요?

음.. 정상적으로 접근이 되지 않습니다. 앗. Tomcat의 기본 설정은 포트가 8080입니다. 8080을 붙여 봅니다.

그래도 접근이 안 되네요? 이유가 뭘까요?

눈치 채셨나요? AWS EC2에 웹서버(Nginx )설치하고 구동하기 의 마지막에 소개 드렸던 내용인데요.

AWS는 security groups 이라는 보안 정책을 적용 합니다. 허용되지 않은 접근은 차단 하는 것이지요.

8080 포트를 추가

8080 포트 추가 후 다시 접근합니다.

정상적으로 Tomcat이 구동 되었네요.

그럼 8080을 붙이지 않고 접속을 해볼까요?

Tomcat이 아직 연동 되지 않아 nginx의 Welcome 페이지가 나오네요.

Nginx와 Tomcat 서버를 연동해 보겠습니다.

vi /etc/nginx/nginx.conf

위 파일은 nginx의 기본설정 파일 입니다. 해당 파일을 수정하여 tomcat과 연동해 보도록 하겠습니다.

설정 내용 중 server 아래의 location / 부분을 찾아서 아래와 같이 추가해 줍니다.

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;

“/”로 들어오는 요청은 8080포트로 포워딩 하겠다는 설정입니다.

위와같이 설정하고 service nginx restart 명령으로 nginx를 재구동 합니다.

8080포트를 붙이지 않았는데도 tomcat 서버가 구동 되었습니다.

“Tomcat8 설치 및 구동, nginx와 연동” 끝!

--

--