FireDrago

[배포] Vultr 이용하여 간단한 프로젝트 배포해보기 본문

프로그래밍/배포

[배포] Vultr 이용하여 간단한 프로젝트 배포해보기

화이용 2024. 7. 18. 14:06

 

Vultr 에서 서버를 생성했다. 

 

1. putty 를 설치한다.

putty는 생성된 서버에 접속하기위한 프로그램이다.  서버 os 를 Rocky Linux8 버전을 사용하므로

putty에서 리눅스 명령어를 사용하여 작업한다.

 

2. putty 이용하여 서버 접속

putty를 이용하여 아이디와 비밀번호를 입력하여 서버에 접속했다.

 

 

3. nginx를 설치, 실행

 

 "yum install nginx" 명령어를 콘솔에 입력하면 nginx 설치가 시작된다. nginx는 웹서버 소프트웨어이다.

중간에 진짜 설치할건지 묻는데 "y" 입력하자

"systemctl start nginx"

"systemctl enable nginx" 명령어를 통해 nginx를 실행한다.

 

"curl localhost:80" 명령어를 입력하면 html 요청을 콘솔을 통해 보내게 되고, html 페이지가 콘솔에 반환된다.

 <NGINX 기능>

  •  리버스 프록시 : 클라이언트의 요청을 다른 서버로 전달하고 응답을 클라이언트에게 반환하는 역할을 한다.
    이를 통해 부하 분산(load balancing), 캐싱(caching), SSL 종료(SSL termination) 등의 기능을 수행할 수 있다.
  • 웹서버  : 정적 파일(HTML, CSS, JavaScript, 이미지 등)을 클라이언트에게 제공하는 웹 서버로 많이 사용
  • API 게이트웨이 : API 요청을 관리하고 라우팅하는 API 게이트웨이로서의 역할을 할 수 있다.
    이를 통해 API 호출의 인증, 인가, 로깅 등을 처리할 수 있다.
  • 컨텐츠 캐시 : 자주 요청되는 컨텐츠를 캐시하여 응답 시간을 단축시키고
    서버의 부하를 줄이는 데 사용될 수 있다.

 

 

4. 방화벽 해제

콘솔에서 작동함을 확인했으니, 브라우저를 통해서 접속해보자 

ip주소를 주소창에 입력하면 접속이 되지 않는다.

콘솔을 통해 서버 내부에서 호출할때는 메인페이지가 호출되지만,

외부에서 접속할때는 방화벽에의해 접근이 차단된다.  방화벽 설정을 풀어주자

 

"firewall-cmd --list-ports" 명령어를 입력해보자 아무것도 뜨지 않을것이다. 이는 방화벽이 접속을 허용하는 포트가 아무것도 없다는 뜻이다. 

 

"firewall-cmd --permanet --zone=public --add-port=80/tcp" 명령어를 입력하자 success가 뜬다면,
tcp 요청으로 접속하는 80포트를 방화벽에서 해제한다. 

 

"firewall-cmd --reload" 방화벽 재시작 

"firewall-cmd --list-ports" 다시 입력해보면 8080/tcp 가 콘솔에뜬다. 80포트 tcp 요청은 방화벽이 해제되었다.

 

 

5. JAR 파일 업로드

 

github repository에 프로젝트의 jar 파일을 업로드 한뒤 'raw'탭의 경로를 복사한다.

putty 에서 "wget (경로 붙여넣기)"  명령어를 사용하면 해당 jar 파일을 서버에 다운로드 한다.

 

서버의 자바 버전을 프로젝트의 자바 버전과 맞춰준뒤,

"java -jar (파일명)" 입력하여 프로젝트를 실행시킨다.

 

ip 주소와 8080포트 + /url 로 잘 접속이 된다.