일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Intent
- Activity
- 웹개발
- jQuery
- 청주
- 안드로이드 AVD
- 자바
- 주님의교회
- Android
- CSS
- 제이쿼리
- Resources
- 게시판
- 인텐트
- java 8
- 회원가입
- androidstudio
- 안드로이드
- Java
- 아이콘
- 프로그래밍
- 영성
- 글쓰기
- Spring
- JavaScript
- TinyMCE
- 생명주기
- 에디터
- Selector
- #청주주님의교회
- Today
- Total
공부하는 블로그
톰캣: 웹 애플리케이션(WAR) 배포 본문
관련 문서
- https://tomcat.apache.org/tomcat-8.0-doc/config/context.html
- https://tomcat.apache.org/tomcat-9.0-doc/config/context.html
- http://blog.daum.net/naline1213/7592254
테스트 환경
- JDK 1.7.0_51
- tomcat 7.0.52
- eclipse kepler
export WAR
먼저 배포할 프로젝트를 WAR로 추출한다. 참고로 WAR는 web application archive의 약자로 웹 애플리케이션을 배포하기 위한 파일들의 압축이다. WAAAGH!!
추출에 사용된 툴과 옵션에 따라 내용은 다를 수 있다. 가령 이클립스에서 생성한 Dynamic Web Project를 Export 할 때 서버 런타임을 톰캣으로 선택한다면 해당 프로젝트-WebContent 하위의 모든 폴더와 파일을 내보내게 된다. 프로젝트에 자바 소스가 존재하면 컴파일된 클래스 파일을 WAR에 포함시키며 WEB-INF/classes 아래 경로에 위치하게 된다.
* JDK의 jar.exe로도 WAR를 만들 수 있다.
▲ 이클립스의 export WAR
configuration & deploy
WAR를 톰캣으로 배포하는 방법은 두 가지다:
- 첫 번째 - 톰캣에서 제공하는 GUI 툴인 manager/html 페이지에서 설정
- 두 번째 - 톰캣경로\conf\server.xml 파일을 통한 webapp 설정
톰캣 매니저를 통한 배포
1. 톰캣 매니저 접속 권한을 설정한다. tomcat-users.xml을 열어 아래처럼 변경한다.
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="1234" roles="manager-gui,manager-script,manager-status,manager-jmx"/>
</tomcat-users>
2. 톰캣경로/bin/startup.bat 을 실행해 서버를 시작한다.
3. server.xml을 수정하지 않았다면 서버 리스너의 기본 포트는 8080이다. 브라우저에서 localhost:8080/manager/html 을 입력해 직접 매니저 페이지로 이동하거나 localhost:8080 만 입력해 나오는 인덱스 페이지에서 [Manager App] 버튼을 클릭한다.
4. 톰캣 매니저 페이지 하단의 [Deploy] - [WAR file to deploy] 에서 WAR파일을 선택해 'Deploy'한다.
5. 페이지 상단의 배포중인 애플리케이션을 관리하는 [Applications] 에서 배포한 애플리케이션을 활성화 한다.
6. 배포가 완료되었으며 localhost:8080/WAR파일명 으로 접근할 수 있다.
server.xml 설정을 통한 배포
1. WAR 파일을 톰캣경로\webapps 아래에 둔다. 이때 압축은 풀어도 되고 풀지 않아도 된다.
2. 톰캣경로\conf\server.xml 을 다음처럼 수정한다:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- 생략 -->
<Context docBase="logictest" path="/" reloadable="true"/>
</Host>
사실 이 단계를 거치지 않아도 1번 이후 바로 접근할 수 있긴 하다. 다만 이를 통해 ContextPath를 설정할 수 있다는 것을 알아두자. (ContextPath: 서버이름(hostname) 바로 다음에 오는 경로. 여기선 path를 "/"로 설정했으므로 ContextPath는 없다고 보면 된다.)
3. 서버를 시작하면 배포가 완료된다. 2번에서 server.xml을 수정했으므로 localhost:8080으로 접근할 수 있다.
참고로 Context 설정은 server.xml을 통해 직접 설정하는 것보다 docBase/META-INF/context.xml을 추가해 별도로 관리하는것이 권장된다. (docBase: appBase 아래에 위치한 폴더나 WAR를 의미)
출처: http://noritersand.tistory.com/273
'Develop > 웹개발' 카테고리의 다른 글
날짜와 시간 입력을 도와주는 데이트 피커 15가지 (0) | 2018.04.23 |
---|---|
(웹개발) 댓글 수정/삭제 (0) | 2017.10.13 |
(웹개발) 댓글만들기/ 댓글에 댓글까지 (0) | 2017.10.12 |
(웹개발) Paging (0) | 2017.10.10 |
(웹개발) Search 기능 추가하기 (0) | 2017.09.29 |