AWS

쇼핑몰 프로젝트 VM 배포

쭈녁 2024. 3. 11. 01:30

서버 원격 접속 :

GitBash를 통하여 엘리스 트랙에서 제공한 VM 주소로 원격 접속

ssh {아이디}@{배포용 VM IP}

//이후 패스워드 입력

 

 

 

JVM 설치 :

프로젝트에서 open jdk 21 버전을 쓰고 있어 URL 주소를 통해 수동 다운로드 해주었다

wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb

->>

sudo apt install ./jdk-21_linux-x64_bin.deb

 

node.js 설치:

프론트는 Vue로 구현할 예정임으로 node를 다운로드하였다.

로컬의 node버전과 일치하지 않을 수 있어 차후 다시 버전을 맞춰줘야 할 수도 있을 것 같다.

sudo apt update

sudo apt install nodejs

sudo apt install npm

 

nginx 설치 후 상태 확인

sudo service nginx start

sudo service nginx status

 

포트 설정 :

80 포트와 3000번 포트를 사용할 예정

sudo ufw allow 80

sudo ufw allow 3000

 

nginx 작동 확인

 

 

default 파일 환경 설정

sudo vi/etc/nginx/sites-available/default

//수정 접근 명령어

 

설정 내용

root var/www/html;

server_name _;
server { # server 블록
	listen 80;

    server_name {domain} www.{domain};
    
    access_log /var/log/nginx/proxy/access.log;
    error_log /var/log/nginx/proxy/error.log;

    location / { # location 블록
        proxy_pass http://http://34.47.73.241:3000/;	# reverse proxy의 기능
	proxy_redirect off;
	charset utf-8;

	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Fowarded-IP $scheme;
	proxy_set_header X-NginX-Proxy true;
    }
location /api { # location 블록
        proxy_pass http://http://34.47.73.241:8080;	# reverse proxy의 기능
	proxy_redirect off;
	charset utf-8;

	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Fowarded-IP $scheme;
	proxy_set_header X-NginX-Proxy true;
    }
}

 

/api 라는 location으로 접근했을 시 8080

기타 URL Path는 3000으로 설정

 

sudo nginx -t 로 정상 작동하는지 테스트 후 

sudo systemctl restart nginx 재시작 및 동작 확인

 

Nginx 명령어

재시작

$ sudo service nginx restart

중지

$ sudo service nginx stop

설정 다시 반영

$ sudo sercice nginx reload

 

 

VM 디렉토리에 jar파일 업로드 :

git을 활용하여 관리하면 편리하지만 현재 api의 상태 및 코드 리뷰가 끝나지 않아

우선 로컬에서 jar로 말아 VM으로 파일 업로드 하였다.

 

무중단을 위해 nohup로 실행

nohup java -jar deploy/side-api-0.0.1-SNAPSHOT.jar &

 

8080 포트로 직접 접근(swagger 페이지)

 

URL 주소 /api/** 로 접근했을 때

 스프링 부트로 접근하여 api에 접근하는 것을 확인할 수 있음

 

'AWS' 카테고리의 다른 글

EC2 인스턴스 생성 및 Filezila 배포  (0) 2024.01.12