AWS EC2에 Tomcat8 설치하기 + nginx와 연동
목표. 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 포트 추가 후 다시 접근합니다.
정상적으로 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 서버가 구동 되었습니다.