🌱 Spring

스프링부트 웹 서비스 AWS에 자동 배포하기

토심 2022. 11. 23. 15:19

1. AWS EC2 구축 - 2022년에도 그대로 사용 가능

 

4) 스프링부트로 웹 서비스 출시하기 - 4. AWS EC2 & RDS 구축하기

이번 시간엔 SpringBoot를 운영할 AWS 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) Tip) 운영 서버는 크게 클라우드 서비스(AWS, Azure 등) 과 호스팅 서비스(Cafe24, 코리아호스팅 등)을 이용

jojoldu.tistory.com

 

 

2. EC2에 자바 11 설치 

jdk11는 아마존에서 제공하는 Open JDK Amazon Coretto를 사용하여 설치 가능

# amazon-corretto 다운로드
sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm

# jdk11 설치
sudo yum localinstall jdk11.rpm

# java 버전 확인
java --version

# 다운받은 rpm 제거
rm -rf jdk11.rpm

 

3. Travis CI 연동

 

6) 스프링부트로 웹 서비스 출시하기 - 6. TravisCI & AWS CodeDeploy로 배포 자동화 구축하기

이번 시간엔 배포 자동화 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 6-1. CI? 이전 시간에 저희는 스프링부트 프로젝트를 간단하게나마 EC2에 배포해보았습니다. 스크립트를 개발자

jojoldu.tistory.com

 

4. 무중단배포

 

7) 스프링부트로 웹 서비스 출시하기 - 7. Nginx를 활용한 무중단 배포 구축하기

이번 시간엔 무중단 배포 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 7-1. 이전 시간의 문제점? 이전 시간에 저희는 스프링부트 프로젝트를 Travis CI를 활용하여 배포 자동화 환경을

jojoldu.tistory.com

#vi /ect/nginx/nginx.conf    파일에 location / 부분 추가 
   
   ...
    
    server {
        listen       80;
        listen       [::]:80;
        server_name  localhost;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

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

        error_page 404 /404.html;
                location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
                location = /50x.html {
        }
    }
    
    ...

파일 수정 후 항상 리스타트

sudo service nginx restart

 

 

 

 

 

 


커피 한 잔 후원하기