2021. 8. 19. 16:12ㆍ컴퓨터과학
※ 사전작업 : 아래 링크에서 다음 상태를 준비한 후 진행합니다.
- AWS서버에서 인스턴스를 생성한 상태.
- 인스턴스에서 '새 키 페어'가 생성되었고 .pem파일을 다운받은 상태.
- PuTTYgen을 통해 '키 페어'가 .pkk파일로 변환 된 상태.
- PuTTY를 통해 콘솔이 띄워진 상태. : WAS서버 OS(ubuntu)를 관리하는 콘솔
- 배포 할 .jar파일이 준비 된 상태.
https://leesteady.tistory.com/48
◎ 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 명령어로 현재 사용중인 서비스의 포트넘버 확인 가능.
-> 종료 위해서는" ./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에서 링크를 추가하는 방법을 똑같이 진행하면 된다.
7. (콘솔) bin폴더로 이동해서 ./startup.sh (배포완료)
8. ec2-13-125-156-184.ap-northeast-2.compute.amazonaws.com:9000/sample1/로 접속 가능.
'컴퓨터과학' 카테고리의 다른 글
[AndroidStudio]Manifest merger failed with multiple errors, see logsDuplicate class 오류Java heap space 문제 (0) | 2024.05.30 |
---|---|
AWS로 서비스 배포하기(3) _DB연결하기(PuTTY, sqlDeveloper, eclipse) (0) | 2021.08.19 |
[개념]DOS와 Windows의 차이는? Server의 정의는? (0) | 2021.08.19 |
AWS로 서비스 배포하기(1)_.jar파일을 AWS서버에 GitHub와 연동하여 배포하기 (0) | 2021.08.18 |
[Codecademy HTML]HTML기초문법, 기초내용 등 (0) | 2021.08.10 |