1 ติดตั้ง Tomcat/apache
2 ดาวน์โหลด jk.so โปรดเลือกเวอร์ชันเฉพาะตามความต้องการของคุณ ไม่มีรายละเอียดเพิ่มเติม
3 สิ่งสำคัญคือการกำหนดค่า
httpd.conf ดูคัดลอกไปยังการพิมพ์คลิปบอร์ด
# ลบ # ข้างหน้านี้ออกแล้วเปิดใช้งาน
LoadModule โมดูล rewrite_module/mod_rewrite.so
# เปิดใช้งาน jk และกำหนดค่าพารามิเตอร์พร้อมกัน
LoadModule jk_module โมดูล/mod_jk.so
JkWorkersFile D:/Apache2.2/conf/workers.properties
JkLogFile d:/Apache2.2/logs/mod_jk.log
ข้อมูล JkLogLevel
ดีบัก #JkLogLevel
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /servlet/* myloadbalancer
JkMount /*.jsp myloadbalancer
# โฮสต์เสมือน ที่นี่จำลองการโทรของ a.test.com, b.test.com และ a.tst.com/blog
<VirtualHost_default_:80>
ผู้ดูแลระบบเซิร์ฟเวอร์ [email protected]
DocumentRoot D:Apache2.2htdocs
ServerName ทุกไซต์
บันทึก ErrorLog/ทุกไซต์-error.log
บันทึก CustomLog/all-sites-access.log ทั่วไป
เขียนใหม่EngineOn
# สามบรรทัดต่อไปนี้ใช้การแยกวิเคราะห์แบบไดนามิก
เขียนใหม่ %{HTTP_HOST} ^[a-z0-9-]+.test.com$
เขียนกฎใหม่ ^/(.*)$ /%{HTTP_HOST}/$1
กฎการเขียนใหม่ ^/([a-z0-9-]+).test.com/?$ /index.jsp?u=$1 [L,PT]
กฎการเขียนใหม่ ^/([a-z0-9-]+).test.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT]
<ไดเรกทอรี "D:Apache2.2htdocs">
ตัวเลือก FollowSymLinks
AllowOverride ไม่มี
คำสั่งอนุญาต, ปฏิเสธ
อนุญาตจากทั้งหมด
</ไดเร็กทอรี>
</โฮสต์เสมือน>
# ลบ # ข้างหน้านี้ออกแล้วเปิดใช้งาน
LoadModule rewrite_module modules/mod_rewrite.so
# เปิดใช้งาน jk และกำหนดค่าพารามิเตอร์ในเวลาเดียวกัน
LoadModule jk_module โมดูล/mod_jk.so
JkWorkersFile D:/Apache2.2/conf/workers.properties
JkLogFile d:/Apache2.2/logs/mod_jk.log
ข้อมูล JkLogLevel
ดีบัก #JkLogLevel
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /servlet/* myloadbalancer
JkMount /*.jsp myloadbalancer
# โฮสต์เสมือน ที่นี่จำลองการโทรของ a.test.com, b.test.com และ a.tst.com/blog
<VirtualHost _default_:80>
ผู้ดูแลระบบเซิร์ฟเวอร์ [email protected]
DocumentRoot D:Apache2.2htdocs
ServerName ทุกไซต์
บันทึก ErrorLog/ทุกไซต์-error.log
บันทึก CustomLog/all-sites-access.log ทั่วไป
เขียนใหม่EngineOn
# สามบรรทัดต่อไปนี้ใช้การแยกวิเคราะห์แบบไดนามิก
เขียนใหม่ %{HTTP_HOST} ^[a-z0-9-]+.test.com$
เขียนกฎใหม่ ^/(.*)$ /%{HTTP_HOST}/$1
กฎการเขียนใหม่ ^/([a-z0-9-]+).test.com/?$ /index.jsp?u=$1 [L,PT]
RewriteRule ^/([a-z0-9-]+).test.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT]
<ไดเรกทอรี " D:Apache2.2htdocs">
ตัวเลือก FollowSymLinks
AllowOverride ไม่มี
คำสั่งอนุญาต, ปฏิเสธ
อนุญาตจากทั้งหมด
</Directory>
</VirtualHost>workers.properties ดูสำเนาไปยังการพิมพ์คลิปบอร์ด
worker.list=myloadbalancer
ผู้ปฏิบัติงาน.tomcat1.type=ajp13
worker.tomcat1.host=localhost
ผู้ปฏิบัติงาน.tomcat1.port=8009
worker.tomcat1.lbfactor=1
worker.myloadbalancer.type=lb
worker.myloadbalancer.balance_workers=tomcat1
worker.status.type=สถานะ
worker.list=myloadbalancer
ผู้ปฏิบัติงาน.tomcat1.type=ajp13
worker.tomcat1.host=localhost
ผู้ปฏิบัติงาน.tomcat1.port=8009
worker.tomcat1.lbfactor=1
worker.myloadbalancer.type=lb
worker.myloadbalancer.balance_workers=tomcat1
worker.status.type=สถานะเซิร์ฟเวอร์.xml
ลบ <!-- และ --> ก่อนและหลัง และเปิดใช้งานพอร์ต 8009 เพื่อดูและคัดลอกไปยังคลิปบอร์ดเพื่อพิมพ์
<พอร์ตตัวเชื่อมต่อ = "8009"
..
<พอร์ตตัวเชื่อมต่อ = "8009"
...อธิบายว่า rewrite_module และ mod_jk เปิดใช้งานใน httpd.conf และกำหนดค่าการเชื่อมต่อกับ Tomcat แล้ว
การกำหนดค่าโฮสต์เสมือนเป็นสิ่งสำคัญ
ServerName ทุกไซต์
สามารถแก้ไขได้เป็น
ชื่อเซิร์ฟเวอร์ test.com
ServerAlias*.test.com
สิ่งนี้ทำให้คุณสามารถระบุชื่อโดเมนที่โฮสต์เสมือนนี้รับผิดชอบได้อย่างชัดเจน
ส่วนการกำหนดค่า urlRewrite
RewriteCond %{HTTP_HOST} ^[a-z0-9-]+.test.com$
กฎการเขียนใหม่ ^/(.*)$ /%{HTTP_HOST}/$1
กฎการเขียนใหม่ ^/([a-z0-9-]+).test.com/?$ /index.jsp?u=$1 [L, พ็อต]
กฎการเขียนใหม่ ^/([a-z0-9-]+).test.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT]
บรรทัดแรกประกาศว่าการเขียนใหม่นี้สนใจเฉพาะชื่อโฮสต์ (%{HTTP_HOST}) ที่คล้ายกับ XXXX.test.com นั่นคือบรรทัดที่สองของโค้ดปกติ ซึ่งจะเขียนคำขอทั้งหมดสำหรับชื่อโดเมนนี้ใหม่เป็นครั้งแรก เช่น
a.test.com เปลี่ยนเป็น
/a.test.com
มัด
b.test.com/blog เปลี่ยนเป็น
/b.test/com/blog
ในบรรทัดที่สาม ปรับการเข้าถึงแบบไม่มีพารามิเตอร์และเปลี่ยน /a.test.com เป็น
/index.jsp?u=a
บรรทัดที่สี่ ปรับเส้นทางพารามิเตอร์และเปลี่ยน /b.test.com/blog เป็น
/blog.jsp?u=b
หากมีพารามิเตอร์เช่น
ในที่สุด b.test.com/id=3 ก็ถูกเขียนใหม่เป็น
/b.test.com/id=3
/blog.jsp?u=b&id=3
ที่เหลือไม่พูดอะไรมาก!
http://www.laozizhu.com/view.jsp?articleId=553