이클립스에서 열심히 개발한 프로그램을 운영 서버의 WAS에 배포 해보았다.
기존에 운영 중이었던 서버에 신규 배포할 때는 단순히 파일 업로드 후 재시작 하면 됐는데
운영 서버 구축 후, 개발 소스를 최초 배포하려니 방법이 막막했다.
0. 첫 번째 시도 (잘못된 방법)
일단 Tomcat의 IndexRoot에 소스파일을 그대로 업로드 해봤다.
그리고 Tomcat 서버를 실행하니, ClassNotFoundException 이 떨어졌다.
-> 당연한 결과다.
Java build Path, 즉 Compile된 파일인 .class 파일들이 포함되지 않았기 때문이다.
위와 같은 삽질을 한 후, 내가 최초 배포에 성공한 방법을 정리한다.
내가 배포에 성공한 방법
-프로젝트를 war 파일로 export 후, Tomcat에서 구동하여 소스 최초 배포
1. war 파일 생성
(1)프로젝트 파일을 war로 export한다.
-프로젝트 [우클릭] - [Export]
(2)WAR file 선택
-[Web] - [WAR file] -[Next]
(3)프로젝트 / 목적지 선택
-Export 할 프로젝트 선택(first)
-생성할 war 파일 경로 및 파일 명 입력 ( ~\first.war)
-Target rutime에서 [Optimize for a specific server runtime] 체크
-Finish
(4)war 파일이 생성됐다.
2. Tomcat 설정 변경
Tomcat 에서 WAR 파일을 인식할 수 있도록, server.xml 에 다음과 같은 설정을 추가한다.
<Host name="localhost" appBase="/data/project" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/project/????" reloadable="true">
<Resource name="jdbc/????" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@1.1.1.1:1521:????"
username="????" password=????" maxTotal="20" maxIdle="10"
maxWaitMillis="-1"/>
</Context>
<Host>
위 설정이 완료되면 war 파일을 unpack할 수 있다.
3. WAR 파일 업로드 및 Tomcat 실행
1번에서 생성한 .war 파일을 project의 root 폴더 상위에 업로드한다.
예를 들어, Tomcat에서 지정한 root 폴더가 /data/project/first 면,
first.war 파일을 /data/project에 업로드한다.
이후, Tomcat을 startup 한다.
4. war 파일 및 ROOT 폴더 삭제
정상적으로 war파일이 unpack되면, 다음과 같은 형태의 폴더가 생긴다.
first first.war ROOT
또한, first 폴더 안에는 다음과 같은 파일들이 생긴다.
자세히 보면, classes 폴더가 자동으로 생성됐으며 컴파일된 파일들(.class)이 잘 들어가있음을 확인할 수 있다.
서비스 또한 정상적으로 실행이 됐다.
이제, 필요없는 first.war 와 ROOT 폴더를 삭제한다.
#rm -rf first.war
#rm -rf ROOT
내용 추가
Tomcat을 올렸을 때, /data/project 폴더에 ROOT 폴더가 생기지 않은 경우가 있었다.
이 때에는, war 파일을 tomcat 홈 디렉토리/webapps 폴더 안에 넣은 후 재시작하면, webapps 경로에 폴더가 생성된다.
그 폴더를 /data/project/ 폴더에 옮기면 된다.
-끝-
'IT | Middleware > Tomcat' 카테고리의 다른 글
[Tomcat | 에러 해결] 로컬 소스 war 배포 후 'core.log.jdbc.driver.OracleDriver' 에러 발생 (4) | 2020.09.25 |
---|---|
[eclipse | 오류 해결] java build path 변경 시 발생한 java.lang.ClassNotFoundException 에러 (4) | 2020.04.03 |
[Linux | Scouter | Tomcat] Linux에 Scouter APM 설치 및 설정 (TOmcat 대상) (0) | 2020.02.15 |
[Tomcat | 튜닝] Tomcat 설치 초기 설정 (Tomcat Admin 설정 등) (0) | 2020.02.11 |
[Tomcat | 튜닝] JVM 메모리 옵션 (2) | 2020.02.10 |