Multiple Domain Names on Tomcat Server

การตั้งชื่อโดเมนหลายชื่อบน Tomcat Server เพื่อเพิ่มความสามารถในการใช้งาน ประสิทธิภาพ และความสามารถในการปรับขนาดแอปพลิเคชันของคุณรวมถึงช่วยประหยัดค่าใช้จ่ายโดยไม่จำเป็นต้องกำหนดค่าอินแสตนซ์แยกต่างหาก เพียงทำการปรับเปลี่ยน Tomcat configuration files เล็กน้อยตามคำอธิบายด้านล่างนี้

1. เข้าสู่ระบบ Ruk-Com Cloud dashboard และคลิกปุ่ม New Environment

2. ภายใน environment topology ให้เลือกแอปพลิเคชันเซิร์ฟเวอร์ (เช่น Tomcat 10) และตั้งชื่อ environment ของคุณ เช่น multibinding

3. คุณสามารถซื้อและตั้งค่าชื่อโดเมนของคุณเองได้ แทนชื่อเริ่มต้นโดยการเพิ่ม CNAME Records หรือโดยการตั้งค่า A Records อ่านเอกสารการเชื่อมโยงโดเมนภายนอกแบบกำหนดเองโดยคลิกที่ลิงก์นี้

4. กลับไปที่ Ruk-Com Cloud คลิกปุ่ม Settings ของ environment ที่ต้องการเพื่อผูกโดเมน

ยกตังอย่างเช่น โดเมนแรกเราใช้ชื่อ tomcatfirst.tk และสำหรับโดเมนที่สองชื่อ tomcatsecond.tk

5. การ deploy โปรเจกต์

  • อัปโหลดไฟล์แอปพลิเคชันของคุณที่ Deployment Manager แล้วกดปุ่ม Deploy to

ในตัวอย่างเราใช้ Hello World ซึ่งมีอยู่ใน Deployment Manager เป็นค่าเริ่มต้น

เมื่อหน้าต่าง Deploy ปรากฏให้เลือก environment ของคุณและกำหนด context (ในกรณีของเรา tomcatfirst) จากนั้นกดปุ่ม Deploy

  • อัปโหลดไฟล์ถาวรสำหรับแอปพลิเคชันที่สองโดยเราจะใช้ Hello World ที่แก้ไขแล้ว (คำว่า “You did it!” จะเปลี่ยนสีเป็นสีแดง) เพื่อดูความแตกต่างในขั้นตอนสุดท้าย จากนั้น deploy แอปพลิเคชันนี้ใน environment เดียวกันแต่มี context ที่ต่างกัน (เช่น tomcatsecond)

เมื่อ deploy เสร็จสิ้นจะมีสองแอปพลิเคชันที่ปรับใช้ใน environment ของคุณ

6. คลิกปุ่ม Config สำหรับ Tomcat และไปที่ไฟล์ server.xml (ไดเร็กทอรี /opt/tomcat/conf)

เพิ่มแท็กโฮสต์สำหรับแต่ละโดเมนที่คุณต้องการผูก:

<Host name="external.domain.tld" appBase="webapps/context_name" autoDeploy="true">
    <Alias>external.domain.tld</Alias>
    <Context path="" docBase="${catalina.base}/webapps/context_name"/>
</Host>

ในตัวอย่างเราเพิ่มโค้ดต่อไปนี้ลงในไฟล์ server.xml:

<Host name="tomcatfirst.tk" appBase="webapps/tomcatfirst" autoDeploy="true">
<Alias>tomcatfirst.tk</Alias>
<Context path="" docBase="${catalina.base}/webapps/tomcatfirst"/>
</Host>
<Host name="tomcatsecond.tk" appBase="webapps/tomcatsecond" autoDeploy="true">
<Alias>tomcatsecond.tk</Alias>
<Context path="" docBase="${catalina.base}/webapps/tomcatsecond"/>
</Host>

7. บันทึกการเปลี่ยนแปลงและรีสตาร์ท Tomcat

8. คุณสามารถตรวจสอบผลลัพธ์ของทั้งสองแอปพลิเคชันได้โดยการ Open in browser ที่พร้อมใช้งานผ่านชื่อโดเมนที่ระบุไว้ซึ่งทำงานบน Tomcat เซิร์ฟเวอร์เดียว

หมายเหตุ: หากคุณต้องการปรับใช้แอปพลิเคชันอีกครั้งกับ Tomcat อินสแตนซ์ server.xml ที่กำหนดค่าไว้แล้วคุณต้องคอมเมนต์บล็อก < Host > ก่อนที่จะ deploy ใหม่และยกเลิกคอมเมนต์ในภายหลัง