มูลนิธิสื่อเพื่อเยาวชน
ว่าที่ร้อยตรี จิรศักดิ์ กรรเจียกพงษ์

httpd-accelerator สำหรับเว็บที่คนเข้าเยอะๆ


FreeBSD
« เมื่อ: 4 มิถุนายน 2549, 06:46:50 »
 

มีน้อง ๆ ถามผมเรื่องการใช้ httpd-accelerator สำหรับเว็บที่คนเข้าเยอะๆ ผมเข้าไปดูที่คนอื่นๆ เขาทำกัน ไหง มันต้องใช้
IPFW สำหรับ redirect มันยุ่งยาก เรื่องลักษณะนี้ เท่าที่เคยทดลอง ถ้าทำเพื่อเรียกเว็บที่เป็น apache ไม่ต้องใช้ IPFW ได้
ยิ่งใส่ option ในการ config มากยิ่งเป็นภาระให้กับ CPU ผมว่าเอามันตรงๆ ลงตัวง่ายกว่ามั้ง ไม่มากพิธีด้วย

ผมใช้การเพิ่มความเร็วด้วย squid บน Linux เมื่อนานมากแล้ว และปีที่แล้ว post ใน http://board.dserver.org/T/Thaifreebsd/00004014.html
ไม่แน่ใจว่าทำเสนอไว้ถูกต้องหรือไม่ วันนี้มีน้องๆ ถามมาอีกเลย ทดลองกับ
 squid-2.5.STABLE-12 (วิ่งที่ port 80) + Apache port ( วิ่งที่ port 8080) บน  OpenBSD-3.9  ซึ่งใช้ได้กับทุกระบบปฏิบัติการ หลายคนมักกังวลเรื่องการใช้โปรแกรมเหล่านี้ ต่างระบบปฏิบัติการ มันต่างกันบ้างในเรื่องที่เก็บ คอนฟิกไฟล์ แต่ หลักการเดียวกันทั้งนั้น

เริ่มต้น
ติดคั้ง squid ด้วยวิธี port ให้เรียบร้อย ไม่ต้องกล่าวถึงก็ได้มั้ง
เปลี่ยนค่าต่างๆ ใน squid.conf ในบรรทัดต่างๆ ที่มีตามตัวอย่าง บรรทัดไหนไม่มีก็เพิ่มเข้าไปเอง ตามลำดับที่บอกไว้
บางบรรทัด (ฉายซ้ำ) ดังนี้  (หยุดโปรแกรม squid ก่อน)
http_port 80
icp_port 0
emulate_httpd_log on
redirect_rewrites_host_header off
http_access allow all
httpd_accel_host viriya.sru.ac.th (หรือไอพีแดดเดรตของเว็บเซิร์ฟเวอร์ เช่น 192.168.111.182 หากต้องการเปิดเว็บของ www.cnn.com ก็ยังได้เลย) (ถ้าจำไม่ผิดบรรทัดนี้ ต้องเพิ่มลงไป)
httpd_accel_port 8080 (อย่า ลืม ถ้าลง squid ไว้ในเครื่องเดียวกับเว็บเซิร์ฟเวอร์ต้องเปลี่ยนเป็นพอร์ตที่ใช้วิ่ง httpd ต้องแก้ httpd.conf ให้วิ่งที่ พอร์ตอื่นเสมอ อย่าให้มันชนกัน)
log_icp_queries off

ต่อไปก็ หยุด apache แก้ไข httpd.conf
เปลี่ยนบรรทัด Port 80 เป็น  Port 8080 หากใช้  port อื่นก็ได้ต้องปรับให้สอดคล้องกับใน squid.conf
บันทึก
 แล้ว reboot เครื่องใหม่

เดิม เปิด เว็บบราว์เซอร์ ไปที่ http://192.168.111.182:8080 จะมี port 8080 ตามหลัง
เมื่อแก้ไขปรับปรุงดังข้างต้นแล้ว จะเป็น http://192.168.111.182

ดูใน squid/logs
access.log จะเป็น
----- 304 205 TCP_IMS_HIT:NONE
192.168.111.1 - - [04/Jun/2006:13:17:56 +0700] "GET http://192.168.111.182:8080/

ดูใน httpd/logs/access_log  ของ apache จะเป็น
mplate.title-gloss.gif HTTP/1.0" 200 1445
192.168.111.182 - - [04/Jun/2006:13:17:51 +0700] "GET /manual/mod/mod_ssl/index.html HTTP/1.0" 200 6331

เท่า ที่ทดลองกับหน้าเว็บจึง ผ่านโดยไม่ต้องไปยุ่งกะไฟร์วอลล์ หรือเพิ่มกฏ redirect แต่การใช้ในสภาพแวดล้อมอื่นๆ ไม่ทราบ คงต้องเอาไปทดลองกันเอง ละน้องเอ๋ย

ว ณ สุราษฎร์ธานี

ที่มา : http://www.thaifreebsd.org/forums/index.php?topic=267.msg3296;topicseen#lastPost

หมายเลขบันทึก: 39216เขียนเมื่อ 17 กรกฎาคม 2006 13:45 น. ()แก้ไขเมื่อ 21 มิถุนายน 2012 16:43 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท