미운 오리 새끼의 우아한 개발자되기

AWS Ubuntu 서버에 war 파일 배포하기 (1) (feat. 우분투 인스턴스에 자바, 톰캣 설치하기) 본문

Server/Linux

AWS Ubuntu 서버에 war 파일 배포하기 (1) (feat. 우분투 인스턴스에 자바, 톰캣 설치하기)

Serina_Heo 2021. 1. 3. 15:49

AWS Ubuntu server에 war 파일을 배포하는 방법에 대한 포스팅을 해보려 합니다.

아래 글은 리눅스 개념이라곤 기본 명령어 밖에 모르는 저의 실제 경험임을 미리 알려드립니다.

 

아래 선행되어야 할 작업 리스트는 하나하나 검색해보면 충분히 자료가 많으니 따라 해보시길 바랍니다.

AWS 프리티어를 사용하면 인스턴스 생성/종료는 무료이므로 부담없이 삽질 가능합니다.

저는 windows 머신을 사용하고 있습니다.

 

<선행되어야 할 작업>

1. AWS Ubuntu 인스턴스 생성 

2. 생성한 인스턴스를 Putty와 같은 응용프로그램으로 SSH(Secure Shell Protocol)에 접속

->이 때 접속 시 쓰일 id, pw를 설정해놓고 까먹지 않게 메모하세요.

3. 이클립스에서 web dynamic project와 같은 프로젝트를 maven build 을 통해 war파일로 만들기

 

<본격 배포작업>

1. Putty로 나의 AWS ubuntu server에 원격 접속.

2.  원격 서버에 Java를 설치 (버전은 본인이 필요한 것으로 선택하세요- 기본적으로 로컬에서 돌아가는 프로젝트와 동일한 환경을 맞춰주면 됩니다.)

설치 전에 java -version을 입력해보면 제대로 안뜨는 것을 확인할 수 있습니다.(아직 java를 안깔았으므로)

저는 open jdk version 8를 설치해보았습니다.

(yum으로 설치해하라는 포스팅도 많았는데 yum도 깔아야하는 거니...아래 방법으로 설치를 해봄)

$sudo apt-get install openjdk-8-jdk

(앞에 달러표시는 따로 입력할 필요 없음~! sudo부터 타이핑 해주세요)

위 명령어를 치면, 

E: Unable to locate package openjdk-8-jdk라는 게 뜨면서 자바 설치가 중단되는 문제가 발생합니다.

그래서 아래 명령어로 패키지 인덱스 정보를 업데이트 해줘야합니다.

(apt-get은 Debian 계열의 리눅스 패키지 관리 명령어 도구라 함 - 출처: blog.outsider.ne.kr/346)

$sudo apt-get update

업데이트를 해주고 다시 open jdk 설치 명령어를 때려보세요.

 

쭉쭉 설치가 되다가 중간에 Do you wnat to continue [Y/n]?이 뜨면서 멈추면 Y를 때려주세요.

그러면 설치가 완료될 것입니다.

자바가 잘 설치되었는지는 java -version 명령어로 확인해보면 됩니다.

아래 사진보면 openjedk version ~하고서 제가 설치한 자바 버전이 잘 뜹니다.

3. Java 환경 변수 설정

Java 환경 변수 설정이 필요합니다.

아래 명령어로 자바가 설치된 위치를 찾고 메모해두세요. 

$readlink -f /usr/bin/java

이제 vim 명령어로 etc안에 있는 profile 파일을 수정해주어야 하는데 이때 root계정으로 접속해야 수정이 가능합니다. (ubuntu계정으로는 권한이 없어서 쓰기가 안됨)

root계정 같은 경우에는 su - 명령어로 들어갈 수 있는데  이 때 password를 입력하라고 합니다.

전 root 계정의 password를 설정한 적이 한 번도 없는데 말이죠..

이 때는 아래 명령어로 root계정의 초기 비밀번호를 설정해주세요.

$sudo passwd

password updated successfully라는 문구가 뜨면 root계정의 패스워드가 정상적으로 설정된 것입니다.

다시 su - 명령어를 치고 비번 입력을 하면 root@ip~이렇게 뜨는게 보입니다. root계정으로 들어가진 것입니다.

이제 아래 명령어로 profile 파일의 텍스트를 수정해보겠습니다.

$vim /etc/profile

그럼 아래와 같이 edit할 수 있는 화면이 뜹니다.

shift+g를 통해 가장 아래로 커서를 이동하시고~

i를 입력면 이제부턴 텍스트를 INSERT할 수 있습니다.

그리고 아래와 같이 입력하여 환경설정을 해줄텐데요.

JAVA_HOME은 위에서 

$readlink -f /usr/bin/java

 

저장 전에는 오타가 없는지 반드시 더블 체크하세요.

오타가 없으면 esc를 눌러 INSERT버전에서 나오고, :wq! 를 입력하여 vim에디터에서 write+quit을 해주는 겁니다.

환경변수가 잘 저장되었는지는 아래 명령어로 확인하세요.

$echo $JAVA_HOME

본인이 저장한 JAVA_HOME 위치대로 나오면 잘 설정된 것 입니다.

이제 logout 명령어를 입력해서 root계정에서 로그아웃 해주면 됩니다. ( ubuntu 계정으로 돌아가 질 것 입니다)

 

4. 원격 서버에 tomcat 설치 (버전은 본인이 필요한 것으로 선택하세요)

그 다음에 war파일을 구동시키려면 tomcat이라는 was가 필요하니 tomcat도 설치해야합니다.

아래 명령어로 tomcat 9버전을 설치했습니다. 

$sudo apt-get install tomcat9

tomcat설치 도중에도 Do you want to continue?라는 문장이 뜨면서 중단되면 Y를 입력해주세요.

tomcat이 잘 설치 되었는지는 아래 명령어로 확인 가능합니다. (본인 톰캣 버전에 따라 share/tomcat버전/bin 이렇게 바꿔주세요)

$sudo /usr/share/tomcat9/bin/version.sh

아래 사진처럼 설치된 톰캣의 버전 정보가 뜨면 설치가 성공한 것입니다.

 

오늘 포스팅에서는 여기까지 하겠습니다.

다음 포스팅에서는 filezilla라는 FTP 소프트웨어로 로컬에 있는 war파일을 우분투 원격 서버로 보내는 것을 포스팅하겠습니다.