요즘은 WAR 배포 단위가 많아진것 같다.
회사에서도 홈페이지 개발해서 적용하는 프로젝트를 WAR를 배포하는데
여기서 문제가 발생했다.
1. 환경 : tomcat
2. server.xml 환경 설정을 사용하여 자동 unpack
몇주간 잘 사용하다가
STS(Spring Tool Suite) 기능 때문에 파일 업로드 살펴볼까 하고 보다가
다음과 같은 문제점을 발견했다.
1. 요즘은 보안상의 이유로 상위 디렉토리 자체를 접근하면 안됨
2. Tomcat의 자동 WAR unpack 기능을 쓰면 기존 폴더를 어디론가(?) 사라지고
똑같은 이름의 폴더가 생성됨
해결 방안
1. Tomcat 자동 WAR unpack 기능 중지
2. 수동으로 기존 folder delete
3. 수동으로 WAR unpack 작업
1. Tomcat 자동 WAR unpack 기능 중지
- 파일 위치 : Tomcat 설치 위치/conf/server.xml
- 변경 내용
WAR 자동 deploy 설정 끄기 (unpackWARs 옵션 false)
<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="true">
※ 위 설정 적용을 위해 tomcat은 재기동 합니다. (그 이후에는 자동 WAR unpack 중지 / autoDeploy는 적용)
2. 수동으로 기존 Folder 삭제 및 3. 수동으로 WAR unpack 작업
unzip 을 사용하여 위치를 설정하는 방식으로 적용
다음과 같은 deploy 반영하는 쉘을 적용
WAR_DIR : tomcat 폴더 홈 디렉토리 + webapps 폴더 까지 경로
ex) /www/tomcat 에 tomcat이 설치됐다면
WAR_DIR="/www/tomcat/webapps"
아래 예제는 unzip이 설치된 것으로 설정하였으니
반드시 unzip 명령어를 쳤을때 정상인 것을 확인하고 적용해야 함.
# delete old deploy folder rm -rf ${WAR_DIR}/homepage/META-INF rm -rf ${WAR_DIR}/homepage/org rm -rf ${WAR_DIR}/homepage/WEB-INF # WAR unpack unzip ${WAR_DIR}/homepage.war -d ${WAR_DIR}/homepage/ |
'WAS' 카테고리의 다른 글
네이버 분산 시스템 추적 플랫폼 PinPoint (0) | 2019.08.20 |
---|---|
Centos 7 부팅시 쉘 자동 시작(rc.local) (0) | 2019.05.08 |
Tomcat 8.5 특정 IP 접근 금지 (1) | 2019.04.29 |
Tomcat 시작 및 종료 쉘 만들기 (0) | 2019.04.29 |
STS + TOMCAT 기동시 오류 (0) | 2019.04.23 |