AWS로 서비스 배포하기(2)_.war파일을 AWS서버에 직접 배포하기

2021. 8. 19. 16:12컴퓨터과학

반응형

※ 사전작업 : 아래 링크에서 다음 상태를 준비한 후 진행합니다.

 - AWS서버에서 인스턴스를 생성한 상태.

 - 인스턴스에서 '새 키 페어'가 생성되었고 .pem파일을 다운받은 상태.

 - PuTTYgen을 통해 '키 페어'가 .pkk파일로 변환 된 상태.

 - PuTTY를 통해 콘솔이 띄워진 상태. : WAS서버 OS(ubuntu)를 관리하는 콘솔

 - 배포 할 .jar파일이 준비 된 상태.

https://leesteady.tistory.com/48

 

AWS로 서비스 배포하기

◎개념 Client(브라우저)에서 서비스를 사용하기 위해 Server에 Request한다. 그러기 위해 Server에 서비스가 배포되어야 한다. (웹서비스의 IP, Port번호를 외부에서 참조할 수 있게 한다) cf) Socket은 IP와

leesteady.tistory.com

 

 

 

 

◎ OS에 직접 연결해 .war파일로 배포하기.

1. filezilla 설치 : https://filezilla-project.org/

- filezilla - 편집 - 설정 - SFTP - 키 파일 추가 - .pem키파일 선택 - 확인

- 파일 - 사이트관리자 - new site - 이름설정 - 

    -> 프로토콜 : SFTP

    -> 호스트 :[ AWS 퍼블릭 IPv4 주소 ]

    -> 로그온 유형 : 일반

    -> 사용자 : ubuntu

 

2. PuTTY 콘솔에서 작업

- 톰캣 다운로드

     ->https://tomcat.apache.org/download-90.cgi 사이트에서 ’tar.gz’의 링크주소 복사

      * .war배포를 위해 내부 톰캣서버가 아닌 외부 톰캣서버를 사용하게 됩니다. 

 

     -> 콘솔에 wget [해당 링크] 입력 : 톰캣[ zip파일 다운로드 진행

     -> 콘솔에 tar -zvxf [해당 zip파일] 입력 : 압축풀기

     -> filezilla를 새로고침(F5)하면 위 파일이 확인됨

     -> filezilla에서 tomcat폴더, webapps폴더 안에 준비된 [.war]파일을 집어넣음. (드래그앤드롭 가능)

 

3.  .war파일 배포를 위해 콘솔 내에서 업데이트 및 환경설정 설치 진행.

 

 * java가 안깔렸을 경우에 파일 실행을 하면 콘솔창에 에러가 뜹니다.

더보기

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

 

   -> 루트 디렉토리(ubuntu)로 이동 (cd ~)

   -> sudo apt-get update로 업데이트 먼저 실행

   -> sudo apt install openjdk-8-jdk (java설치)

   -> sudo apt install net-tools(net 명령어 확인하기 위한 툴 설치) : 사용 명령어는 netstat -nlp다.

 

 

 

4. .war파일 실행하기

    -> tomcat 폴더의 bin폴더로 이동.

      -> cd apache-tomcat-9.0.52

      -> cd bin

    -> ./startup.sh (startup파일을 실행한다. webapps 내부의 .war파일이 배포된다.)

     -> netstat nlp 명령어로 현재 사용중인 서비스의 포트넘버 확인 가능.

8080, 8005 확인 가능

 

    -> 종료 위해서는" ./shutdown.sh"  : netstat nlp로 외부서버 8080, 8005포트 없어진 것 확인 가능

 

   *) 서버를 통해서가 아닌 로컬 톰캣에서 테스트 해 보기 위해서는

      톰캣 폴더의 webapps 폴더에 .war파일을 넣고 

      톰캣 폴더의 bin 폴더에서 'startup.bat'파일을 실행합니다.

 

5.  local만 아니라 외부 ip와 binding시키기 위해 server.xml을 수정해야한다.

* 콘솔창에서 문서 편집하기 : vi(Visual editor)

* vi명령어로 xml파일의 포트번호를 수정해보자

더보기

   -> cd .. , cd conf (bin폴더로 이동, conf폴더로 이동)

   -> vi server.xml : 콘솔 내에 문서 편집기가 켜짐

   -> 내용 수정을 위해서는 'insert키'를 누른다. 수정 완료를 위해서는 ESC를 누른다. ‘:wq‘를 입력해 파일을 저장하고 vi를 종료한다. (’:q!‘는 저장 없이 강제종료)

 

6. AWS에서 인바운드규칙 추가

 -> 아래 링크에서 '보안'관련해서 AWS에서 링크를 추가하는 방법을 똑같이 진행하면 된다.

 

AWS로 서비스 배포하기

◎개념 Client(브라우저)에서 서비스를 사용하기 위해 Server에 Request한다. 그러기 위해 Server에 서비스가 배포되어야 한다. (웹서비스의 IP, Port번호를 외부에서 참조할 수 있게 한다) cf) Socket은 IP와

leesteady.tistory.com

 

 

 

7. (콘솔) bin폴더로 이동해서 ./startup.sh (배포완료)

 

8. ec2-13-125-156-184.ap-northeast-2.compute.amazonaws.com:9000/sample1/로 접속 가능.

반응형