2012-04-17 2 views
1

Tomcat에서 실행되는 오래된 Java 웹 응용 프로그램에서 작업하고 있습니다. 일반적으로 Tomcat의 기본 서버 구성 (server.xml)을 사용하는 webapps 디렉토리에서 웹 응용 프로그램을 실행한다는 것을 알고 있습니다. 이 특정 응용 프로그램은 사용자 정의 server.xml을 사용하여 다른 디렉토리에 배포되므로 응용 프로그램 당 하나의 tomcat 인스턴스가 필요합니다. 처음에는 그렇게 설정 한 이유는 각 웹 응용 프로그램이 응용 프로그램의 재배포 사이에 저장해야하는 파일을 생성하기 때문입니다.tomcat webapp - 영구 파일을 어디에 저장합니까?

내 질문합니다 - webapps 디렉토리를 사용뿐만 아니라 응용 프로그램의 재배포 동안 전멸되는 특정 파일을 저장하는 방법은 무엇입니까? 여기

tomcat/ 
    webapps/ 
    ourapp/ 
     output/ # but this is saved between redeploys 
     WEB-INF/ 
    ... 

내 최종 목표 같은 것을 하나 개의 바람둥이 인스턴스에서 사용자 정의 server.xml에의 우리가 배포 여러 응용 프로그램에서 멀리 얻을 수 있습니다

tomcat/ 
    servers/ 
    ourapp/ 
     output/ # heres where the files go that we save 
     ourapp/ # this is the actual webapp (exploded WAR file) 
     WEB-INF/ 
     ... 

내가 원하는 우리의 현재 바람둥이의 레이아웃입니다 . 그냥 문제에 경우에 - 우리는 톰캣 6

+0

[관련 항목] (http://stackoverflow.com/q/1510104/29995) –

답변

4

에 당신이 그들을 유지하려는 경우 webapps/에서 해당 파일을 저장하려고하지 않는 것이 좋습니다 것입니다. 그 디렉토리는 꽤 불안정합니다. 또한 시스템을 유지 관리하는 다른 개발자는 사용자가 영구 데이터를 저장했다는 것을 인식하지 못하고 실수로 데이터를 지울 수도 있습니다.

나는 아마 /var/lib/ourapp/..., /var/lib에 위치를 가고 싶어. 또는 서버 환경 및 관리 방법에 적합한 경우 $HOME/.ourapp에 저장할 수 있습니다.

+0

+1; "영구"파일은 구성 가능한 위치에 저장해야합니다. 이러한 파일은 스트리밍, 심볼릭 링크 등이 가능합니다. –

+0

@DaveNewton - 구성에 동의합니다. 일반적으로 저장소 위치를 정의하려면 속성 파일이나 시스템 속성을 사용합니다. –

+0

쿨 - 고마워. 그건 의미가 있습니다. 10 분이 지나면 곧 받아 들일 것입니다. – jeff

0

파일을 Tomcat (외부 또는 내부 일 수 있음, webapps 일 수 있음)에 저장하고 파일 시스템의 임의의 디렉토리에 저장하지 않는 것이 좋습니다.
이렇게하면 웹 응용 프로그램과 함께 "묶음"이됩니다.

+1

을 나는 서로 가까이 일을하는 것이 좋다 동의하지만, IMO $ TOMCAT_HOME' '아래에 디렉토리가'은/var/ourapp' 같은 위치보다 임의의 것 또는'$ HOME/.ourapp'.이러한 디렉토리는 응용 프로그램 데이터의 표준 Linux 위치입니다. Tomcat이 설치된 방식에 따라 다릅니다. RPM을 통해 수행 되었다면 Tomcat은 어딘가에'/ usr'에 설치 될 것입니다. 영구 응용 프로그램 데이터를 저장하는 것은 어색한 곳입니다. [Linux Filesystem Hierarchy] (http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/c23.html)를 참조하십시오. –

관련 문제