파일 업로드에 다른 임시 디렉토리를 사용하도록 Tomcat 구성


14

내 Tomcat 인스턴스는 공간이 거의없는 드라이브에 앉아 있습니다. 내가 실행중인 응용 프로그램은 파일 업로드를 서버와 NAS로 옮깁니다. 그러나 업로드하는 동안 Tomcat은이 파일을 / temp 디렉토리에 로컬로 보관합니다.

내 서버에는이 임시 디렉토리를 재배치 할 충분한 공간이있는 두 번째 데이터 드라이브가 있습니다. Tomcat이 다른 드라이브의 임시 디렉토리를 사용하도록 어떻게 구성 할 수 있습니까? 이 디렉토리를 어떻게 재배치 할 수 있습니까?

편집 : Windows 서버 2k3을 실행 중입니다. CATALINA_TMPDIR env var 설정을 시도했지만 Tomcat은 무시했습니다.

솔루션 : 통과하는 "Monitor Tomcat"응용 프로그램을 사용하고 있습니다.

-Djava.io.tmpdir = C : \ some \ default \ directory

JVM에. 이것은 내가 설정 한 환경 변수를 재정의했습니다. Java > Java 옵션 에서 찾을 수 있습니다.

이것을 변경하면 내 문제가 해결되었습니다.

답변:


20

java.io.tmpdir톰캣로 설정됩니다 $CATALINA_BASE/temp. Tomcat을 $CATALINA_TMPDIR실행하기 전에 환경 변수를 설정하여 변경할 수 있습니다 startup.sh.

보낸 사람 catalina.sh:

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.

Windows 2k3에서 CATALINA_TMPDIR env var 설정을 시도하고 Tomcat을 부팅 할 때 기본 임시 폴더를 계속 사용했기 때문에 * nix 시스템에서만 작동하는 것으로 보입니다.
rcampbell

Windows에서 시스템 환경 변수를 설정 한 경우 적용하기 전에 재부팅해야 할 수도 있습니다.
CoverosGene 2016 년

우분투에서 임시 디렉토리를 설정할 수 있습니다/etc/default/tomcat7
beldaz

3

Windows에서 Tomcat을 서비스로 실행하는 경우 비슷한 키가있을 수 있습니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\myApplication\Parameters\Java

options기존의 끝에 문자열 값을 두 번 클릭하여 설정하십시오 .

-Djava.io.tmpdir=c:\{yourDir}

이것은 나를 위해 일했습니다.


1

UNIX / Linux 인 경우 첫 번째 드라이브의 temp 디렉토리를 두 ​​번째 드라이브의 해당 디렉토리에 symlink 할 수 있습니다. 아마도 가장 우아한 해결책은 아니지만 언젠가는 효과가있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.