지금까지는 서버 운영에 필요한 각종 프로그램을 설치하는 과정을 진행해왔으며,
이번 포스팅은 설치한 환경에 WAR 파일을 배포하여 웹 서비스 제공 할 수 있는 방법에 대해서 살펴보겠습니다.
[사용 프로그램]
- eclipse (IDE) : 통합개발환경으로 WAR을 추출하기위해 사용
- PuTTY (secure shell) : 서버에 원격접속을 하기위한 보안 터미널
- fileZilla : 서버와 로컬간에 file을 송/수신 하기위한 보안 프로그램
그전에, 아주 잠깐 WAR의 개념에 대해 확인해보겠습니다.
WAR은 Web application ARchive(웹 어플리케이션 압축파일) 의 약자로써 웹 어플리케이션을 배포하기위해 필요한 압축파일이며,
이와 비슷한 개념으로
JAR는 Java ARchive (자바 압축파일)로써 자바 어플리케이션을 배포하기위해 필요한 압축파일이 있습니다.
이제 본격적으로 web application을 서비스하기위한 WAR 배포방법에 대해 알아보겠습니다.
1. WAR export(추출) 및 permission(권한) 설정
1.1 war export (eclipse)
가장 먼저 eclipse로 배포하기위한 웹 어플리케이션 프로젝트를 WAR파일로 추출합니다.
1.2 permission 설정 (PuTTY)
WAR파일을 배포하기위해서는 웹 호스팅서버에 tomcat 디렉토리에 파일을 저장해야하는데, 디렉토리의 권한이 외부에서 접근이 불가능하게 설정이 되어있습니다.
(경로 : /var/lib/tomcat7/webapps)
그래서 외부에서 접근이 가능하도록 디렉토리의 권한을 변경해주어야합니다
서버에 원격접속을 하는 SSH(Secure SHell) 로 접속하여 root 계정으로 접속한 후 아래경로에 위치한 디렉토리의 권한을 모든 사용자가 수정 할 수있도록 변경합니다.
* 주의 : file / directory의 권한을 잘못 부여하면 원격지에서 서버에 접근 할 수가 없으며, 그렇게 되면 호스팅의 특성상 서버와 영원히... 작별하는 최악의 사태가 발생하기 때문에 매우 조심해야 합니다.
(실제로 제가 home directory의 권한을 잘못 부여해서 서버를 밀어버리고 호스팅 환경을 재구축했습니다..........)
2. WAR파일전송 (fileZilla)
2.1 fileZila 다운로드 및 실행
아래의 URL에서 fileZilla를 다운받고 (무료) 프로그램을 실행합니다.
https://filezilla-project.org/
2.2 private key 추가
메뉴바에서 '편집 -> 설정' 을 클릭해서 웹 서버에 접속하기위해 필요한 private key를 추가합니다 (ppk파일)
2.4 웹 서버 연결
사이트 관리자 설정에서 프로토콜, 웹 서버의 IP, 포트 (defult : 22), 사용자명, 비밀번호를 입력하고 '연결'을 클릭 합니다.
2.5 접속완료
2.6 배포경로 이동
'리모트 사이트' 에 /var/lib/tomcat8/webapps 입력하여 WAR파일을 배포하기 위한 경로로 이동합니다,
2.7 WAR파일 배포
'파란색 박스' 영역에 배포 할 WAR 파일을 '드래그 앤 드롭' 하면 배포가 완료됩니다.
( *참고 : 해당 경로에 WAR 파일을 저장하면 web browser이 request(요청) 할 때 WAS (=Tomcat)가 배포된 WAR파일을 활용하여 response(응답) 합니다.
2.8 확인
이제 주소창에 URL경로를 입력하면 정상적으로 배포가되어 운영되는 것을 확인 할 수 있습니다.
http:// (서버 IP or 도메인) : 8080 / (project name) / (파일경로) / (파일명)
최대한 정확한 정보를 공유하고자 항상 신중하게 포스팅을 하고 있지만, 내용에 개선이 필요한 부분이 있을 수 도 있습니다.
혹시나 추가적인 보완이 필요하다고 판단되는 부분이 있다면 댓글로 조언해주세요. 참고하여 수정해놓겠습니다.
* 해당 포스팅이 도움이되셨다면 공감과 댓글 부탁드릴께요 ㅎㅎ
'Development Environment > AWS' 카테고리의 다른 글
[AWS] 2019 RDS 설정 및 원격접속 방법 (MySQL workbench) (1) | 2019.03.20 |
---|---|
[AWS-EC2 Hosting 4] MySQL 설치방법과 password 설정 (0) | 2019.01.26 |
[AWS-EC2 Hosting 3] Apache Tomcat8 설치방법 (0) | 2019.01.26 |
[AWS-EC2 Hosting 2] Ubuntu openjdk 설치 및 환경변수 설정 (0) | 2019.01.23 |
[AWS-EC2 Hosting 1] PuTTY를 이용한 아마존 웹 서비스 원격접속 방법 (0) | 2019.01.23 |