서버 원격 접속 :
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 |
---|