ฉันพยายามที่จะตั้งค่า Apache Tomcat CATALINA_HOME
ในคอมพิวเตอร์ของฉันและมันต้องการให้ผมตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ มีใครรู้วิธีการทำเช่นนี้?
ฉันพยายามที่จะตั้งค่า Apache Tomcat CATALINA_HOME
ในคอมพิวเตอร์ของฉันและมันต้องการให้ผมตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ มีใครรู้วิธีการทำเช่นนี้?
คำตอบ:
ใน bash คุณสามารถตั้งค่าตัวแปรดังนี้:
export CATALINA_HOME=/opt/catalina
เชลล์อื่น ๆ ส่วนใหญ่ปฏิบัติตามอนุสัญญานี้ แต่ไม่ใช่ทั้งหมด คุณสามารถตั้งค่าอย่างถาวรใน~/.profile
เพื่อทุบตี (และก่อนหน้านี้หอยอื่น ๆ มีที่ตั้งอื่น ๆ )
~/.profile
ไม่ทำงานสำหรับฉัน มันทำงานใน~/.bashrc
แม้ว่า
~/.bash_profile
ทำงานเช่นกัน
ตัวแปรสภาพแวดล้อมควรใช้งานได้แล้ว
หากคุณกำลังใช้แพ็คเกจ tomcat6 จากที่เก็บ Ubuntu จากนั้นตัวแปร CATALINA_HOME และตัวแปรสภาพแวดล้อมอื่น ๆ จะถูกตั้งค่าไว้แล้วใน/etc/init.d/tomcat6
สคริปต์เริ่มต้น
หากคุณกำลังติดตั้ง Tomcat นอกตัวจัดการบรรจุภัณฑ์ (หวังว่าใน / opt หรือที่อื่นนอกระบบไฟล์ที่มีการจัดการ) ดังนั้นการเรียกใช้TOMCAT/bin/startup.sh
ควรใช้ตำแหน่งสัมพัทธ์เพื่อกำหนด CATALINA_HOME
การตั้งค่าตัวแปรสภาพแวดล้อม
หากด้วยเหตุผลบางอย่างคุณยังต้องตั้งค่าตัวแปรสภาพแวดล้อมคุณสามารถเปิดหน้าต่างเทอร์มินัลแล้วพิมพ์คำสั่ง:
export CATALINA_HOME=/path/to/the/root/folder/of/tomcat
ตัวแปรสภาพแวดล้อมนี้จะทำงานภายในหน้าต่างเทอร์มินัลนั้น แต่ถ้าคุณเปิดหน้าต่างอื่นหรือออกจากระบบ / เข้าสู่ระบบคุณจะสูญเสียการตั้งค่านั้น
ทำให้ตัวแปรสภาพแวดล้อมเป็นแบบถาวร
ในการทำให้การตั้งค่าตัวแปรสภาพแวดล้อมเป็นแบบถาวรมีหลายสถานที่ที่คุณสามารถกำหนดการตั้งค่าได้
เพื่อให้แน่ใจว่าการตั้งค่าถูกหยิบขึ้นมาให้เพิ่มการตั้งค่าด้านบนไปยังหนึ่งในสคริปต์เริ่มต้นสำหรับ Tomcat:
yourtomcatfolder/bin/startup.sh
yourtomcatfolder/bin/catalina.sh
หมายเหตุ: startup.sh เรียกใช้ catalina.sh คุณควรเพิ่มการตั้งค่าเมื่อเริ่มต้นหนึ่งในไฟล์เหล่านี้ (หลังจากความคิดเห็นเริ่มต้น)
วิธีมาตรฐานสำหรับตัวแปรสภาพแวดล้อมโกลบอลคือการเพิ่มรายการใน/etc/environment
(คุณไม่ได้ใช้คำสั่งส่งออกในไฟล์นี้เนื่องจากไม่ใช่สคริปต์ทุบตีปกติ)
CATALINA_HOME=/path/to/the/root/folder/of/tomcat
ไม่แนะนำ
คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมในไฟล์กำหนดค่า bash (command line shell) แต่สิ่งเหล่านี้ไม่แนะนำเนื่องจากไม่ได้รับเสมอ (เช่นหากคุณใช้เซิร์ฟเวอร์ที่คุณไม่ต้องล็อกอินเพื่อเรียกใช้ tomcat): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / etc / รายละเอียด
startup
หรือcatalina
สคริปต์ แต่เป็นสคริปต์setenv.sh
หรือsetenv.bat
สร้างหากจำเป็น: "นอกเหนือจาก CATALINA_HOME และ CATALINA_BASE ตัวแปรสภาพแวดล้อมทั้งหมดสามารถระบุได้ในสคริปต์" setenv "สคริปต์ถูกวางไว้ใน CATALINA_BASE / bin หรือลงใน CATALINA_HOME ไดเร็กทอรี / bin และชื่อ setenv.bat (บน Windows) หรือ setenv.sh (บน * nix) ไฟล์ต้องอ่านได้ " ( เรียกใช้ Apache Tomcat 7.0 Servlet / JSP Container , ส่วน 3.4)
ในการตั้งค่าตัวแปรสภาพแวดล้อมถาวรในรุ่นล่าสุดอูบุนตู (จาก 14.04 ขึ้นไป) /etc/environment
เพิ่มตัวแปรที่จะ สำหรับการปฏิบัติตามคำแนะนำด้านล่าง
เปิดเทอร์มินัลแล้วเรียกใช้
sudo -H gedit /etc/environment
ให้รหัสผ่านของคุณจากนั้นในไฟล์ข้อความที่ได้รับแจ้ง
จากนั้นเพิ่มตัวแปรเช่น
ANT_HOME="/opt/ANT/"
ตัวอย่างของการ/etc/environment
ได้รับด้านล่าง
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"
อย่าลืมออกจากระบบและลงชื่อเข้าใช้อีกครั้งเพื่อเปิดใช้งานตัวแปรสภาพแวดล้อม
สถานที่ที่ดีที่สุดสำหรับสิ่งนี้ขึ้นอยู่กับว่าคุณติดตั้ง Tomcat อย่างไรและแอพพลิเคชั่นใดที่คุณต้องการรับการตั้งค่านี้และวิธีที่คุณต้องการใช้ขอบเขตทั่วโลก
เอกสาร Ubuntu บนตัวแปรสภาพแวดล้อมกล่าวถึงข้อดีและข้อเสียของตัวเลือกต่างๆ
nano ~/.bashrc
สิ่งนี้น่าจะมีข้อมูลอยู่บ้าง คำจำกัดความส่วนใหญ่ที่นี่มีไว้สำหรับการตั้งค่าตัวเลือก bash ซึ่งไม่เกี่ยวข้องกับตัวแปรสภาพแวดล้อม คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมเช่นเดียวกับที่คุณทำจากบรรทัดคำสั่ง:
export VARNAME=value
ฉันทดสอบบน Ubuntu 16.04 ใช้งานได้ดี
หลังจากอ่านเอกสารเกี่ยวกับตัวแปรสภาพแวดล้อมของอูบุนตูฉันก็พบกับวิธีแก้ปัญหาต่อไปนี้:
##Save & run the following in a shell script,
export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash
บรรทัดสุดท้ายสร้าง child shell ซึ่งสืบทอดค่าตัวแปรสภาพแวดล้อมจาก parent shell (ซึ่งเพิ่งตั้งค่าไว้)
~/.profile
ว่าน่าจะเป็นไฟล์ที่ดีที่สุดสำหรับการวางการกำหนดค่าตัวแปรสภาพแวดล้อมเนื่องจาก DisplayManager จะถูกดำเนินการโดยอัตโนมัติในระหว่างกระบวนการเดสก์ท็อปกระบวนการเริ่มต้นและเชลล์ล็อกอินเมื่อเข้าสู่ระบบครั้งเดียว จากคอนโซลต้นฉบับเดิม