우선 프로젝트를 클론한다.
$ git clone [프로젝트 주소.git]
application.yml 등 설정파일을 추가한다.
그리고 프로젝트 폴더로 이동하고, graldew에 실행권한을 추가한다.
$ chmod +x gradlew
gradlew를 이용해 빌드를 한다.
$ ./gradlew build
빌드된 jar 파일은 [프로젝트경로]/build/libs에 존재한다.
해당 jar 파일을 실행시키면 된다.
$ cd /build/libs
$ java -jar [파일명].jar
만약 백그라운드에서 실행시키려면 다음과 같이하면 된다.
실행 로그는 nohup.out에 기록된다.
$ nohup java -jar [파일명].jar &
이제 브라우저에서 ip:8080 으로 접속하여 API 호출이 정상적으로 동작하는지 확인해본다.
아래 명령어를 통해 새로운 파일을 만들고 내용을 추가한다.
$ sudo vi /etc/nginx/conf.d/service-url.inc
# service-url.inc에 들어갈 내용
set $service_url http://127.0.0.1:8080;
마찬가지로, 아래 명령어를 통해 새로운 파일을 만들고 내용을 추가한다.
$ sudo vi /etc/nginx/sites-available/[서버이름]
# 추가할 내용
server {
listen 80;
listen 443;
listen [::]:80;
listen [::]:443;
server_name 서버IP;
include /etc/nginx/conf.d/service-url.inc;
location / {
proxy_pass http://localhost:3000;
}
location /api {
proxy_pass http://localhost:8080;
charset utf-8;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
이제 아래 명령어를 통해 NginX를 재시작하면 브라우저에서 포트번호 없이 접속이 되는 것을 확인할 수 있다.
$ sudo service nginx restart