ファイルのアップロードに異なる一時ディレクトリを使用するようにTomcatを構成します


13

Tomcatインスタンスは、空き容量がほとんどないドライブ上にあります。私が実行しているアプリケーションは、ファイルのアップロードをサーバーからNASに移動します。ただし、アップロード中、Tomcatはこのファイルをローカルに、おそらく/ tempディレクトリに保持します。

私のサーバーには、この一時ディレクトリを再配置したい十分なスペースのある2番目のデータドライブがあります。この他のドライブ上の一時ディレクトリを使用するようにTomcatを設定するにはどうすればよいですか?このディレクトリをどのように再配置できますか?

編集: Windowsサーバー2k3を実行しています。CATALINA_TMPDIR環境変数を設定しようとしましたが、Tomcatはそれを無視しているように見えました。

解決策:合格する「Monitor Tomcat」アプリケーションを使用しています

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

JVMへ。これは、私が設定していた環境変数を上書きしていました。あなたは下でそれを見つけることができるのJava > Javaオプション

これを変更すると問題が解決しました。

回答:


19

java.io.tmpdirTomcatの中には次のように設定されます$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.

これは* nixシステムでのみ動作するようです。なぜなら、Windows 2k3でCATALINA_TMPDIR env varを設定してTomcatを起動しようとすると、デフォルトのtempフォルダーを使用し続けたためです。
rcampbell

Windowsでシステム環境変数を設定した場合、有効にする前に再起動する必要があります。
CoverosGene 09年

Ubuntuでは、次の場所に一時ディレクトリを設定できます/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を使用している場合は、最初のドライブの一時ディレクトリを2番目のドライブの対応するディレクトリにシンボリックリンクできます。おそらく最もエレガントなソリューションではありませんが、いつかはうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.