Eat Read Code

Ubuntu Server 18.04 LTS 기준입니다.

 

1. 새 인스턴스를 만들고 SSH로 접속한다.

SSH는 Secure Shell(안전한 쉘)이라는 의미로, 원격 호스트와 안전하게 통신할 수 있도록 하는 프로그램이다.

 

 

2. Oracle JDK를 다운받는다.

 

여기에 들어가면 JDK 8을 다운받을 수 있다. Linux x64 tar.gz 파일을 선택하고 오라클 계정으로 로그인하면 다운로드가 시작되는데, 다운로드는 굳이 받을 필요 없으니 중지시키고 링크만 가져온다.

 

 

크롬 기준으로 다운로드 페이지에서 다음과 같이 "링크 주소 복사(E)"를 클릭해 다운로드 링크를 복사할 수 있다.

 

 

다운로드 링크와 파일 이름을 복사하여 다음과 같이 입력한다. jdk-8u231-linux-x64.tar.gz 자리에는 파일의 이름을 입력하면 되고, https://download.oracle.com/blabla에는 다운로드 링크를 입력하면 된다. Oracle에서 제공하는 링크는 금방 만료된다는 점에 주의하자.

$ wget -O jdk-8u231-linux-x64.tar.gz https://download.oracle.com/blabla

wget은 비대화식 네트워크 다운로더로, 파일을 다운로드할 때 사용되는 유명한 커맨드라인 프로그램이다.

 

3. 다운로드 받은 파일의 압축을 푼다.

$ tar -xvf jdk-8u231-linux-x64.tar.gz

tar.gz 파일은 gzip으로 압축된 tar 파일이다. tar 명령어와 x 옵션으로 아카이브를 해제할 수 있다.

 

4. 압축을 푼 폴더의 이름을 변경한다. 아래 명령어는 폴더의 이름을 jdk1.8.0_231에서 jdk로 변경한다.

$ mv jdk1.8.0_231 jdk

mv 명령어는 파일을 이동하거나 파일명을 수정하는 데 모두 사용할 수 있다.

 

5. 환경 변수를 설정한다. 아래 명령어를 통해 .bashrc 파일을 편집할 수 있다.

$ vi ~/.bashrc

~/.bashrc 파일은 시작 파일(startup files)의 일종으로 시스템에 로그인하면 자동으로 읽히며, 기본적인 환경설정 값을 규정하는 역할을 한다.

 

I를 입력해 INSERT MODE로 들어가고, 맨 아래에 다음 내용을 붙여넣은 다음 esc + :wq로 변경 사항을 저장한다.

JAVA_HOME=/home/ubuntu/jdk
PATH=$PATH:$JAVA_HOME/bin

환경 변수 PATH는 콜론(:)으로 구분되며, 실행할 프로그램 이름을 입력했을 때 그 프로그램을 찾는 디렉토리들의 목록이다. 위의 코드는 기존 PATH의 뒤에 jdk 디렉토리를 추가하여 어디서든 java 명령어를 실행할 수 있게 한다.

 

6. 환경 변수 적용을 위해 다음 명령어를 입력한다.

$ source ~/.bashrc

.bashrc 파일을 편집해도 해당 내용이 바로 적용되지는 않는다. .bashrc 파일은 최초 세션이 시작될 때 참조되는 파일이기 때문이다. 따라서 위의 명령어로 bash가 강제로 이 파일을 참조하도록 한다.

 

잘 적용되었다면 다음 명령어를 입력했을 때 설치된 자바의 버전이 표시될 것이다.

$ java -version

 

7. git을 이용하여 배포하고자 하는 프로젝트를 clone한다.

$ git clone https://github.com/blabla/blabla.git

 

8. clone한 프로젝트 폴더에 들어간다.

$ cd project-dir-name

 

9. 빌드를 위해 실행 권한을 설정한다. 자세한 것은 위키피디아 참고.

$ chmod +x gradlew

chmod 바로 뒤의 +x 표기는 a+x와 동일하다. a는 all의 약자로 u(파일이나 디렉토리 소유자), g(그룹 소유자), o(기타 사용자)의 조합이다. +x는 실행 권한을 추가함을 의미한다. 참고로 r은 읽기 권한, w는 쓰기 권한을 나타낸다.

 

10. 빌드한다. (Why run 'gradle clean'?)

$  ./gradlew clean build

 

11. 빌드가 완료되면 jar 파일이 있는 위치로 이동하여 애플리케이션을 실행한다.

$ cd build/libs/
$ java -jar file-name-0.0.1-SNAPSHOT.jar

 

단, 위처럼 배포하면 사용자가 터미널을 종료했을 때 프로그램 역시 종료된다. nohup 명령어를 이용해야 한다.

$ nohup java -jar file-name-0.0.1-SNAPSHOT.jar &

맨 뒤에 붙인 &는 프로그램이 백그라운드에서 실행되게 한다.