EC2 인스턴스 생성 ~ war 톰캣배포 (5)

tyang·2021년 7월 21일
0

ec2

목록 보기
5/5
post-thumbnail

개발환경 : ubuntu, mysql, mac os

⭐️비전공자가 작성한 글이므로 전문적이지 않을 수 있습니다.
⭐️구글에 검색하면 나오는 정보들을 입맛에 맞게 다시 정리한 글입니다. 부족한 부분이 있을 수 있습니다.
⭐️⭐️보안에 굉장히x100 취약하게 만들었습니다. 개인 공부겸 정리용으로 작성한 글입니다.⭐️⭐️

( 5까지 올줄 몰랐는데 .. ㄱ-.. 마지막 글입니다. )

1.tomcat manager 설정

본 글은 war 파일을 배포할때 manager에서 설정해줍니다.
별 다른 이유는 없고 좀 더 보기 쉬워서 ... 관리하기 쉬워서 .. (버튼으로 끝남)

# cd /usr/local/tomcat8.5/conf/
# vi tomcat-users.xml
<user username="admin" password="비밀번호 설정" roles="manager-gui,manager-script,manager-status”/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>

i를 눌러 편집모드로 전환합니다.

주석 처리가 되어 있는 부분을 재설정 해줍니다.
user 부분의 패스워드와 roles , role 부분의 rolename 부분을 주석해제 해주거나 추가해줍니다.
esc를 눌러서 편집 모드 해제 후 :wq 로 저장해줍니다.

# cd webapps/manager/META-INF/
# vi context.xml 

context.xml도 수정해줍니다.
Valve 부분을 주석처리 해주기만 하면 됩니다.

이후 8080으로 접속후 오른쪽에 'Manager App'을 클릭해서
위에서 설정해준 username 과 비밀번호를 입력합니다.


중간에 입력하는 부분 캡쳐가 빠졌지만 위와 같은 화면이 뜬다면 됩니다.

2. war 파일 배포하기

본글은 spring mvc + maven + intellij 를 기준으로 작성되었습니다.
먼저 root-context.xml 파일 부분을 수정해줍니다.


jdbcUrl 의 localhost 부분은 해당 인스턴스의 주소로 바꾼후
주소/사용할데이터베이스 와 같이 설정해줍니다.
username 과 password 사전에 외부접속 해놓은 이름과 비밀번호로 바꿔줍니다.
ex)'root'@'%' 비밀번호 : 1111 일 경우
username -> root
password -> 1111



Project Structure 를 열어줍니다.
Artifacts 부분을 선택후
Web Application: Archive 를 추가해줍니다.
생성된 모듈을 선택해주면 됩니다.

상단 메뉴의 Build -> Build Artifacts 를 선택해줍니다.

앞서 생성한 war 파일을 선택후 Build 해줍니다.

왼쪽 프로젝트 부분에 해당 war 파일이 추가된것을 확인 할 수 있습니다.

해당 폴더 위에서 오른쪽 클릭수 Copy Path 해줍니다.

폴더 주소 부분을 복사합니다.

Finder 를 연 후 상단 메뉴에서 이동 선택, 폴더로 이동을 선택해줍니다.

앞서 복사 해놓은 주소를 붙여넣으면 만든 war 파일을 확인 할 수 있습니다.
저는 관리하기 쉽게 바탕화면에 옮겼습니다.

3.war 파일 배포

:8080/manager 로 들어가줍니다.
하단에 배치할 WAR 파일 부분에서 앞서 만들었던 war 파일을 업로드 해줍니다.


업로드 한 파일명이 올라가 있는지 확인합니다.

manager 는 아무래도 오른쪽에 명령들을 선택해서 중지 시키거나 제거 시키기가 쉽습니다.

🖐여기서 잠깐!

... 위와 같이 tomcat manager를 사용한다면 war 파일을 업로드 하기 쉽습니다 ... 하지만.. 이걸 알고 있었음에도 불구하고 바보 같이 git 에 올리고 git clone을 하고 ...
캡쳐까지 해두고(...)
아까우니 올리겠습니다...(후다닥 지나가겠습니다..)
(넘어가 주세요..)

깃 허브에서 새로운 Repositories 를 생성합니다.

이름 생성 후 Create repository

이후 폴더 채로 war 파일 Desktop 으로 이동시키기
해당 폴더에서 git hub 에 push 해주기

git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin 깃허브주소
git push -u origin main


위와 같은 문구가 나온다면 OK

gitHub 페이지에도 제대로 push되었는지 확인

이후 인스턴스에 연결 후 webapps 디렉토리로 이동.

git clone 받기
clone 받은 후 해당 폴더 안에 있는 war 폴더를 상위 폴더인 webapps 로 이동시켜 줍니다.

# mv ball10-0war.war ..


이때 톰캣이 실행되고 있으면 자동으로 war 파일이 압축해제 됩니다.
실행 되고 있지 않을 경우엔 실행 시키면 자동으로 압축해제 됩니다.

보기 지저분 하니 git에서 내려받은 폴더(해당 글에서는 ball10war 폴더) 는 삭제해주고 war 파일과 동일한 폴더만 남겨주도록 합니다.

# rm -rf ball10war/

이후 만든 repository 는 삭제해줍니다.


내리시느라 수고하셨습니다 ^^

4.war 주소 / 으로 변경해주기

제가 만든 프로젝트는 기본 주소값이 / 이었습니다.
즉 8080/ball10-0war/sample 이 아닌
8080/sample 로 이동해야 했습니다.
하지만 톰캣엔 이미 / <- 이 주소값이 존재합니다.
그렇기 때문에 해당 ROOT 폴더 삭제 후, war 폴더 이름을 ROOT 으로 바꿔줍니다.


war 파일을 업로드 한다면 기본적으로 위와같이 셋팅됩니다.

# cd /usr/local/tomcat8.5/webapps
# rm -rf ROOT
# mv 해당폴더명 ROOT

rm -rf ROOT 로 기존에 있던 ROOT 폴더를 삭제해주고
mv 해당폴더명 ROOT 로 폴더 이름을 ROOT 로 변경해 줍니다.

이후 :8080/ 로 접속시 본인 프로젝트 화면이 뜨는지 확인해 줍니다.

이상으로 마치겠습니다.
마지막으로 aws

profile
크아악

0개의 댓글