กำหนดค่า Tomcat เพื่อใช้ไดเรกทอรีชั่วคราวอื่นสำหรับการอัปโหลดไฟล์


14

ตัวอย่าง Tomcat ของฉันกำลังนั่งอยู่บนไดรฟ์ที่มีพื้นที่เหลือน้อย แอปพลิเคชันที่ฉันใช้อยู่จะย้ายไฟล์ที่อัปโหลดออกจากเซิร์ฟเวอร์และไปยัง NAS อย่างไรก็ตามในระหว่างการอัปโหลด Tomcat จะเก็บไฟล์นี้ไว้ในเครื่องโดยเฉพาะอย่างยิ่งในไดเรกทอรี / temp

เซิร์ฟเวอร์ของฉันมีไดรฟ์ข้อมูลตัวที่สองซึ่งมีพื้นที่เหลือเฟือที่ฉันต้องการย้ายไดเรกทอรีชั่วคราวนี้ไป ฉันจะกำหนดค่า Tomcat ได้อย่างไรเพื่อให้ใช้ไดเรกทอรีชั่วคราวในไดรฟ์อื่นเช่น ฉันจะย้ายไดเรกทอรีนี้ได้อย่างไร

แก้ไข:ฉันใช้เซิร์ฟเวอร์ Windows 2k3 ฉันลองตั้งค่า CATALINA_TMPDIR env var แต่ Tomcat ดูเหมือนจะไม่สนใจ

การแก้ไข:ฉันใช้แอพพลิเคชั่น "Monitor Tomcat" ที่ผ่าน

-Djava.io.tmpdir = C: \ บาง \ เริ่มต้น \ ไดเรกทอรี

กับ JVM นี่คือการเอาชนะตัวแปรด้านสิ่งแวดล้อมที่ฉันตั้งไว้ คุณสามารถค้นหาได้ภายใต้Java > Java Options

การเปลี่ยนแปลงนี้ได้แก้ไขปัญหาของฉัน

คำตอบ:


20

java.io.tmpdirใน Tomcat $CATALINA_BASE/tempมีการตั้งค่า คุณสามารถเปลี่ยนได้โดยการตั้งค่า$CATALINA_TMPDIRตัวแปรสภาพแวดล้อมก่อนที่จะทำงานstartup.shกับ Tomcat

จากcatalina.sh:

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

สิ่งนี้ดูเหมือนว่าจะใช้งานได้เฉพาะกับระบบ * nix เท่านั้นเพราะเมื่อฉันลองตั้งค่า CATALINA_TMPDIR env var ใน Windows 2k3 และ booted up Tomcat มันก็ใช้โฟลเดอร์ temp เริ่มต้นต่อไป
rcampbell

หากคุณตั้งค่าตัวแปรสภาพแวดล้อมระบบใน Windows คุณอาจต้องรีบูตก่อนที่จะมีผล
CoverosGene

ใน 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 คุณสามารถ symlink ไดเรกทอรีชั่วคราวในไดรฟ์แรกไปยังไดเรกทอรีที่เกี่ยวข้องในไดรฟ์ที่สอง อาจไม่ใช่วิธีที่หรูหราที่สุด แต่ก็ใช้ได้ผลกับฉันบ้าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.