우선 nginx와 tomcat을 설치합니다 (아래 링크 참조)
2022.04.17 - [IT/Web server] - [Nginx] AWS Linux nginx 설치하기
2020.02.19 - [IT/Linux] - [Tomcat] CentOS 7에 Tomcat8 설치 및 설정

 

nginx와 tomcat이 설치되었다면 다음부터는 간단합니다

nginx 설정파일을 연다
# vi /etc/nginx/nginx.conf

server 부분에 아래와 같은 "/" 접근 proxy_pass 설정을 한다.

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;
}

설정이 완료되었다면 nginx 재시작
# service nginx restart

 

브라우저에서 80포트로 접근 시 톰캣에 붙는지 확인해 봅니다.

http://SERVER-IP 또는 http://SERVER-IP/manager/html

접근이 되지 않는다면 80포트 열려있는지 확인해보시거나, nginx 및 tomcat이 실행되고 있는지 확인해보세요

 

* nginx 용량 제한 설정 (필수 X)

manager 또는 젠킨스를 통해서 war 또는 jar를 배포할 때, 허용 용량 보다 큰 파일을 전송할 경우 nginx에서 막을 수 있습니다.
ex) 413 Request Entity Too Large
이럴 경우를 대비해서 미리 허용 용량을 높여줍니다.
nginx 설정파일 열기
# vi /etc/nginx/nginx.conf

http {
...
  client_max_body_size 10M;
...
}

1. 생성된 EC2에 SSH를 이용해서 접근합니다.

2. eginx를 설치 및 실행을 확인합니다.

nginx 설치
# sudo amazon-linux-extras install nginx1

nginx 실행
# sudo systemctl start nginx.service

nginx 프로세스 확인
# ps ef|grep nginx

nginx access log 확인
# tail -f /var/log/nginx/access.log
브라우저에서 http://EC2-public-ip 로 접근해봅니다.
접속되지 않는 다면 80포트가 닫혀 있거나 ec2 접근 ip가 잘못되었을 확률이 높으니 한번 더 확인합니다.

3. 80포트가 열려있지 않다면 EC2의 보안그룹을 수정합니다.

EC2에 설정된 보안그룹 인바운드에 HTTP 유형 80포트를 추가합니다.

 

4. 호스트 재시작 시 nginx 자동 실행 설정

 systemctl enable nginx.service

+ Recent posts