1. การจัดการระบบการกำหนดค่า (แอปพลิเคชันเว็บผู้ดูแลระบบ)
เซิร์ฟเวอร์ J2EE เชิงพาณิชย์ส่วนใหญ่มีอินเทอร์เฟซการจัดการที่มีประสิทธิภาพ และส่วนใหญ่ใช้อินเทอร์เฟซเว็บแอปพลิเคชันที่เข้าใจง่าย ในทางของตัวเอง Tomcat ยังมีเครื่องมือการจัดการที่ครบกำหนดซึ่งไม่น้อยไปกว่าคู่แข่งทางการค้า Admin Web Application ของ Tomcat ปรากฏตัวครั้งแรกในเวอร์ชัน 4.1 ฟังก์ชั่นในขณะนั้นรวมถึงการจัดการบริบท แหล่งข้อมูล ผู้ใช้และกลุ่ม ฯลฯ แน่นอนว่า คุณยังสามารถจัดการการจัดการฐานข้อมูลต่างๆ ได้ เช่น พารามิเตอร์การเริ่มต้น ผู้ใช้ กลุ่ม บทบาท ฯลฯ ในเวอร์ชันต่อๆ ไป ฟังก์ชันเหล่านี้จะได้รับการขยายอย่างมาก แต่ฟังก์ชันที่มีอยู่กลับมีประโยชน์มากอยู่แล้ว Admin Web Application ถูกกำหนดไว้ในไฟล์การปรับใช้อัตโนมัติ: CATALINA_BASE/webapps/admin.xml (หมายเหตุผู้แปล: CATALINA_BASE เป็นไดเร็กทอรีเซิร์ฟเวอร์ภายใต้ไดเร็กทอรีการติดตั้ง Tomcat)
คุณต้องแก้ไขไฟล์นี้เพื่อให้แน่ใจว่าพารามิเตอร์ docBase ในบริบทเป็นเส้นทางที่แน่นอน กล่าวอีกนัยหนึ่ง เส้นทางของ CATALINA
_BASE/webapps/admin.xml เป็นเส้นทางที่แน่นอน คุณยังสามารถลบไฟล์การปรับใช้อัตโนมัตินี้และสร้างบริบท Admin Web Application ในไฟล์ server.xml ได้ คุณไม่สามารถจัดการ Admin Web Application ได้ กล่าวคือ คุณอาจไม่สามารถทำอะไรได้นอกจากลบ CATALINA_BASE/webapps/admin.xml
หากคุณใช้ UserDatabaseRealm (ค่าเริ่มต้น) คุณจะต้องเพิ่มผู้ใช้และบทบาทในไฟล์ CATALINA_BASE/conf/tomcat-users.xml คุณแก้ไขไฟล์นี้และเพิ่มบทบาทชื่อ "admin" ลงในไฟล์ดังนี้:
จำเป็นต้องมีผู้ใช้ด้วย และบทบาทของผู้ใช้รายนี้คือ "admin" เพิ่มผู้ใช้เหมือนผู้ใช้ที่มีอยู่ (เปลี่ยนรหัสผ่านเพื่อให้ปลอดภัยยิ่งขึ้น):
บทบาท = "ผู้ดูแลระบบ"/>
หลังจากที่คุณทำตามขั้นตอนเหล่านี้แล้ว โปรดรีสตาร์ท Tomcat และไปที่ http://localhost:8080/admin คุณจะเห็นอินเทอร์เฟซการเข้าสู่ระบบ Admin Web Application ใช้กลไกการรักษาความปลอดภัยตามการจัดการคอนเทนเนอร์และใช้กรอบงาน Jakarta Struts เมื่อคุณเข้าสู่ระบบอินเทอร์เฟซการจัดการในฐานะผู้ใช้ที่มีบทบาท "ผู้ดูแลระบบ" คุณจะสามารถกำหนดค่า Tomcat โดยใช้อินเทอร์เฟซการจัดการนี้ได้
2. กำหนดค่าการจัดการแอปพลิเคชัน (Manager Web Application)
Manager Web Application ช่วยให้คุณสามารถดำเนินการงานแอปพลิเคชันเว็บแบบง่ายๆ ผ่านอินเทอร์เฟซผู้ใช้ที่ง่ายกว่า Admin Web Application Manager Web Application ถูกกำหนดไว้ในไฟล์การปรับใช้อัตโนมัติ:
?CATALINA_BASE/webapps/manager.xml
คุณต้องแก้ไขไฟล์นี้เพื่อให้แน่ใจว่าพารามิเตอร์ docBase ของบริบทเป็นพาธสัมบูรณ์ นั่นคือพาธสัมบูรณ์ของ CATALINA_HOME/server/ เว็บแอป/ผู้จัดการ (หมายเหตุผู้แปล: CATALINA_HOME คือไดเร็กทอรีการติดตั้ง Tomcat)
หากคุณใช้ UserDatabaseRealm คุณจะต้องเพิ่มบทบาทและผู้ใช้ลงในไฟล์ CATALINA_BASE/conf/tomcat-users.xml ถัดไป แก้ไขไฟล์และเพิ่มบทบาทชื่อ "ผู้จัดการ" ลงในไฟล์:
ต้องมีผู้ใช้ที่มีบทบาท "ผู้จัดการ" ด้วย เพิ่มผู้ใช้ใหม่เหมือนกับผู้ใช้ที่มีอยู่ (เปลี่ยนรหัสผ่านเพื่อให้มีความปลอดภัยมากขึ้น):
Roles="manager"/>
จากนั้นรีสตาร์ท Tomcat ไปที่ http://localhost/manager/list คุณจะเห็นอินเทอร์เฟซการจัดการข้อความที่เรียบง่ายมาก หรือไปที่ http://localhost/manager/html/list คุณจะเห็น อินเทอร์เฟซการจัดการ HMTL ไม่ว่าจะด้วยวิธีใดก็ตาม หมายความว่า Manager Web Application ของคุณได้เริ่มต้นแล้ว
แอปพลิเคชันตัวจัดการช่วยให้คุณติดตั้งแอปพลิเคชันเว็บใหม่สำหรับการทดสอบโดยไม่มีสิทธิ์ผู้ดูแลระบบ หากเรามีเว็บแอปพลิเคชันใหม่อยู่ที่ /home/user/hello และต้องการติดตั้งภายใต้ /hello เพื่อทดสอบแอปพลิเคชัน เราสามารถทำได้และป้อน "/hello" ลงในกล่องไฟล์แรก (เป็นเส้นทาง เมื่อเข้าถึง) ให้ป้อน "file:/home/user/hello" (เป็น URL การกำหนดค่า) ในกล่องข้อความที่สอง
แอปพลิเคชันตัวจัดการยังช่วยให้คุณหยุด รีสตาร์ท ลบ และปรับใช้แอปพลิเคชันเว็บอีกครั้งได้ หยุดแอปพลิเคชันเพื่อไม่ให้สามารถเข้าถึงได้ เมื่อผู้ใช้พยายามเข้าถึงแอปพลิเคชันที่หยุดทำงาน เขาหรือเธอจะเห็นข้อผิดพลาด 503 - "503 - แอปพลิเคชันนี้ไม่พร้อมใช้งานในขณะนี้"
การลบแอปพลิเคชันเว็บนั้นหมายถึงการลบแอปพลิเคชันออกจากสำเนา Tomcat ที่กำลังทำงานอยู่ หากคุณรีสตาร์ท Tomcat แอปพลิเคชันที่ถูกลบจะปรากฏขึ้นอีกครั้ง (นั่นคือการลบออกไม่ได้หมายความว่าการลบออกจากฮาร์ดไดรฟ์) ?
3. ปรับใช้เว็บแอปพลิเคชัน
มีสองวิธีในการปรับใช้บริการเว็บในระบบ
1. คัดลอกไฟล์ WAR หรือโฟลเดอร์เว็บแอปพลิเคชันของคุณ (รวมถึงเนื้อหาทั้งหมดของเว็บ) ไปยังไดเร็กทอรี $CATALINA_BASE/webapps
2. สร้างไฟล์ส่วนย่อย XML สำหรับบริการเว็บของคุณที่มีเฉพาะเนื้อหาบริบท และวางไฟล์ในไดเรกทอรี $CATALINA_BASE/webapps เว็บแอปพลิเคชันสามารถจัดเก็บไว้ที่ใดก็ได้บนฮาร์ดไดรฟ์ของคุณ
หากคุณมีไฟล์ WAR และต้องการปรับใช้ คุณเพียงแค่คัดลอกไฟล์ไปยังไดเร็กทอรี CATALINA_BASE/webapps เท่านั้น ไฟล์ดังกล่าวจะต้องมี ".war" เป็นนามสกุล เมื่อ Tomcat ฟังไฟล์นี้ มันจะ (ตามค่าเริ่มต้น) แตกไฟล์เป็นไดเร็กทอรีย่อยและตั้งชื่อไดเร็กทอรีย่อยเป็นชื่อของไฟล์ WAR
ถัดไป Tomcat จะสร้างบริบทในหน่วยความจำ เช่นเดียวกับที่คุณสร้างในไฟล์ server.xml แน่นอนว่าเนื้อหาที่จำเป็นอื่นๆ จะได้รับจาก DefaultContext ใน server.xml
อีกวิธีในการปรับใช้เว็บแอปพลิเคชันคือการเขียนไฟล์ข้อมูลโค้ด Context XML จากนั้นคัดลอกไฟล์ไปยังไดเร็กทอรี CATALINA_BASE/webapps ส่วนบริบทไม่ใช่ไฟล์ XML ที่สมบูรณ์ แต่เป็นเพียงองค์ประกอบบริบทและคำอธิบายที่เกี่ยวข้องของแอปพลิเคชัน
ไฟล์แฟรกเมนต์ประเภทนี้เหมือนกับองค์ประกอบบริบทที่ถูกตัดออกจาก server.xml ดังนั้นแฟรกเมนต์ประเภทนี้จึงมีชื่อว่า "ส่วนบริบท"
ตัวอย่างเช่น หากเราต้องการปรับใช้แอปพลิเคชันชื่อ MyWebApp.war ที่ใช้ realm เป็นวิธีการควบคุมการเข้าถึง เราสามารถใช้ส่วนย่อยต่อไปนี้:
<ชื่อโฮสต์ = "localhost"
แก้ปัญหา = "0" appBase = "webapps"
unpackWARs="true" autoDeploy="true">
<เส้นทางบริบท = "" docBase = "ROOT" debug = "0"/>
<เส้นทางบริบท = "/ สั่งซื้อ"
docBase="/home/ian/orders" debug="0"
โหลดใหม่ได้ = "true" crossContext = "true">
บริบท>
<ชื่อโฮสต์=" www.example.com "
appBase="/home/example/webapp">
<เส้นทางบริบท = "" docBase = ""/>
โฮสต์>
เครื่องยนต์>
บริการ>
ไฟล์ server.xml ของ Tomcat ในสถานะเริ่มต้น มีเพียงโฮสต์เสมือนเดียวเท่านั้น แต่สามารถขยายได้อย่างง่ายดายเพื่อรองรับโฮสต์เสมือนหลายรายการ ตัวอย่างก่อนหน้านี้แสดง server.xml เวอร์ชันธรรมดา ซึ่งใช้ส่วนที่เป็นตัวหนาเพื่อเพิ่มโฮสต์เสมือน องค์ประกอบโฮสต์แต่ละรายการต้องมีองค์ประกอบบริบทตั้งแต่หนึ่งรายการขึ้นไป และองค์ประกอบบริบทที่รวมไว้ต้องเป็นบริบทเริ่มต้น เส้นทางที่แสดงของบริบทเริ่มต้นนี้ควรว่างเปล่า (เช่น path="")