현재 Ubuntu 18.04 버전에 NginX/1.14.0(Ubuntu) 버전을 다운로드 받은 상태에서 SpringBoot 환경을 구축할 것이다.
Springboot는 Java를 사용하고 있으므로 JDK가 필요하다.
JDK가 설치되어있는지 확인하기 위하여 WinSCP 터미널에
javac
라는 명령어를 쳐봤더니
다음과 같이 설치되어 있지 않다는 화면이 보였다.
따라서
sudo apt install default-jdk
라는 명령어를 사용하여 jdk를 설치해주었다.
이제 JDK가 설치 완료되었으니 스프링부트 템플릿 파일들을 /var/www
에 다운로드 받고 해당 디렉터리로 이동한다.
다음과 같이 제대로 다운로드 받아진 것을 볼 수 있다.
sudo vim /etc/nginx/sites-available/default
에 들어가서 루트 디렉터리를 SpringBoot가 있는 디렉터리로 설정해준다. 나의 루트 디렉터리는 /var/www/api-server-spring-boot-final\ 2
이므로 해당 경로로 변경을 하였다.
이제 로컬 환경에서 Intelli J를 연 뒤 Tools - Deployment - Configuration
을 누른다.
여기서 Configuration을 누르면 다음과 같은 창이 뜬다.
이때 좌측 상단의 +
아이콘을 눌러 SFTP
를 추가해준다.
여기서 SSH configuration
역시 추가해준다. 기존의 configuration이 없을 경우 ...
을 눌러 새로운 configuration을 추가해준다. ...
을 누르면
아까 Deployment를 눌렀을 때랑 비슷한 화면이 뜰 것이다. 여기서 똑같이 좌측 상단의 +
를 눌러 Configuration을 추가해준다.
+
를 누르면 밑과 같은 화면이 나오는데,
Host
에는 AWS EC2
의 IP주소를 넣고,
WinSCP
에서 설정했듯 username은 ubuntu로 하고,
private key file
은 .pem
파일의 경로를 설정해준다.
이후 Test Connection
을 눌러 잘 연결됐는지 확인한다.
(만약, Fail했을 시, 무엇인가 잘못 된 것이기 때문에 이 작업을 해두는게 좋다!)
그리고 다시 Deployment로 돌아와서 WinSCP의 루트 디렉터리를 입력하면 된다.
Web Server URL
에는 내 도메인이 있다면 그걸 넣으면 되고, 그게 아니라면 IP주소를 넣으면 된다.
그리고 WinSCP에서 루트 디렉터리 상위에서 권한을 변경해준다.
(-R 옵션은 하위 디렉터리에게까지 같은 권한을 부여하는 옵션이다.)