SharedIT | 묻고 답하기(AMP)

tomcat 내 spring boot war 교체 시, 자동 배포 설정 문의

안녕하세요. 인프라 및 미들웨어 초심자입니다. 
현재 회사의 새로운 홈페이지 구축을 위해 apache - tomcat 세팅을 하고 있습니다.
war 배포가 정상적으로 동작하지 않는 경우가 있어 질문 드립니다. 

스프링 부트로 생성한 war를 ftp 프로그램을 통해 webapps 디렉토리에서 교체한 뒤 컨테이너를 재기동하면 자동으로 해당 버전의 test 폴더로 업데이트 되도록 설정했습니다.

하기 내용은 server.xml의 설정 중 일부입니다. 

 <Host name="localhost" appBase="/export/tomcat_home/webapps/"

          unpackWARs="true" autoDeploy="false" deployOnStartup="true">

     <Context path="/" docBase="/export/tomcat_home/webapps/test" reloadable="false"> </Context>

 </Host>


현재 설정에서 

1번 경우에는 war 파일 교체 후 재기동시 정상적으로 디렉토리가 업데이트 되는데, 

2번 경우에는 디렉토리 업데이트가 되지 않는 경우가 생깁니다. (ls -al로 폴더 변경 시간 확인)

3번 경우로는 디렉토리 업데이트는 됐다고 표기가 되는데, 실제 로그를 확인하면 업데이트된 버전의 소스가 적용이 안된 것으로 보이는 경우도 있습니다.

이러한 경우 어떤식으로 변경해야 할지 선배님들의 고견 여쭈어봅니다. 
감사합니다. 


Tags : 태그가 없습니다.

2개의 답변이 있습니다.

hgp33
  0 추천 | 22일 전

1,2,3번이 어떠한 경우인가요?? 

wansoo
  0 추천 | 27일 전

구체적인 내용은 잘 모르겠지만...

파일을 FTP로 전송해서 사용하는데... 전송된 컴퓨터에 따라 다르게 작동된다는 질문 내용인것 같은데요.

FTP를 통한 전송 중 일부 파일이 누락되었을 가능성, 파일의 퍼미션이 맞지 않을 가능성, 시스템 환경( 구동하는 프로그램의 버전, 환경 설정 값, 실행하는 계정의 불일치 등등 )에 차이가 있을 가능성 등을 고려해 볼 수 있을 것 같고요.

Linux/Unix에서 파일을 다른 컴퓨터로 전송할때 FTP를 이용한다면 퍼미션과 파일 변경 일자 등이 변경되기 때문에 가급적 파일을 그대로 전송하지 말고 tar을 이용해서 전송할 파일들을 한개로 묶은 후에 전송하고, 전송한 후에 전송된 컴퓨터에서 다시 tar을 이용해서 파일을 추출해 내어 사용할 것을 권장합니다.

tar을 이용하여 파일을 묶어서 전송할 경우에는 여러 파일들을 한개로 묶을 수 있다는 장점 뿐만 아니라, 파일과 디렉터리들이 가지고 있는 퍼미션을 포함한 속성값 까지 그대로 유지할 수 있다는 장점이 있습니다.


파일들을 tar을 이용하여 묶을 경우에

해당 파일이 있는 디렉터리로 이동해서 

tar cvf 묶여질파일명.tar 대상파일명 

형식으로 명령을 준후에 묶여질파일명.tar 파일을 ftp 전송한 후에

tar xvf 묶여질파일명.tar

명령으로 묶여질파일명.tar에 아카이빙되어 있는 파일들을 추출할수 있겠고요.


그리고,

특정 파일이 아닌 현재 디렉터리 및 하위 디렉터리에 있는 모든 파일들을 묶을 경우라면

tar cvf 묶여질파일명.tar *

와 같이 명령을 줘서 실행 시키면 여러개 파일들을 간단하게 한개 파일로 묶을 수 있어 편합니다.