WAS/jBoss

[jBoss] 웹에 파일이 제대로 반영되지 않음

Ma_Sand 2023. 7. 29. 22:01
반응형

문제 상황

개발 1번 서버와 2번 서버가 있는데, 2번 서버는 1번 서버를 가져다 파일을 부운 상태였다.

두 서버 모두 같은 UI 파일을 패치하고 jBoss를 재기동했다.

1번 서버는 제대로 반영이 되었으나, 2번 서버에서 스크립트 에러가 뜨며 일부가 반영되지 않았다.

혹시나 하여 캐시를 삭제하고 강력 새로고침을 하였음에도 아무런 변화가 없었다.

 

 

원인

1. 패치된 UI 디렉토리를 jBoss가 새로 컴파일하지 못해 에러가 발생하였다.

2. 1번 서버의 기존 UI 파일을 2번 서버로 붓는 과정에서 파일 크기가 깨졌다.

 

반응형

 

해결

원인 1) 패치된 UI 디렉토리를 jBoss가 새로 컴파일하지 못해 에러가 발생하였다.

-> jBoss의 domain 디렉토리 내 data, tmp 디렉토리를 삭제한 후 kill.sh을 실행하고 다시 기동한다.

# data/ : 배포된 서비스 정보가 담김
# tmp/ : 임시 데이터를 저장함
# kill.sh : jboss의 PID를 kill하는 쉘


$ cd ${jboss_domain_home}
$ rm -rf data tmp
$ cd bin
$ ./kill.sh

=> 해당 방법을 수행한 컴퓨터에서는 2번 서버가 제대로 반영되었으나, 다른 컴퓨터들에서는 반영되지 않았다.

 

 

원인 2) 1번 서버의 기존 UI 파일을 2번 서버로 붓는 과정에서 파일 크기가 깨졌다.

-> 1번 서버와 2번 서버의 ui.war 디렉토리 용량을 비교했더니 2번 서버 쪽 용량이 훨씬 적었다. 

-> 1번 서버의 ui.war를 tar로 압축하여 2번 서버로 파일 전송한 후 압축 해제하고 jBoss를 재기동한다.

# 1번 서버와 2번 서버 ui.war 용량 비교
$ du -sk ui.war

# 1번 서버
$ tar -zcvf ui.war.tar.gz ui.war

# 1번 서버의 ui.war.tar.gz -> 2번 서버로 전송

# 2번 서버
$ tar -zxvf ui.war.tar.gz
$ cd ${jboss_domain_home}/bin
$ ./stop.sh
$ ./start.sh

=> 해당 방법을 통해 제대로 웹에 패치파일을 적용할 수 있었다. 문제 상황의 근본적인 원인은 파일 깨짐이었다.

=> 만약 파일 용량이 동일하다면 원인 1의 해결방법을 시도해보는 것도 좋겠다.

 

 

반응형