เริ่มแรกก็ copy files squid.2.2stable
(version) จาก cd redhat มาก่อน จะอยู่ที่ /RedHat/RPMS
มาไว้ที่ไหนสักแห่งก็ได้สมมุดิว่าเอามาไว้ที่ /root แล้วกัน
ก็ใช้ คำสั่งตามนี้ครับ
cp
squid.2.2.STABLE1-1.i386.rpm /root (ขึ้นอยู่กับแผ่นที่ซื้อมานะครับตอนนี้ของผมเป็น
squid 2.3 STABLE 4 แล้ว)
เสร็จแล้วก็ทำการ Install เลยครับ
(ผมใช้คำนี้เพราะไม่รู้จะอธิบายว่า ยังไง)โดยใช้คำสั่งนี้ครับ
rpm
-ivh squid.2.2.STABLE1-1.i386.rpm
รอสักพักมันจะมีตัว # ขึ้น
ถ้ามันกลับมาอยู่ที่ shell เดิมเป็นอันว่าเสร็จ ในที่นี้ผมจะอ้างถึง
เวอร์ชั้นที่ผมใช้นะครับเพราะแต่ละเวอร์ชั่นจะไม่เหมือนกันเพราะเวลาเรา
Install แล้วมันจะไปอยู่คนละที่ละทางกันต้องค้นหาเอาครับ หรือเข้าไปดูที่
squid.conf มันจะบอก Path ไว้ว่าตัวนี้ไว้ที่ ไหน ตัวนั้นอยู่ที่ใด
เอ่อ! เวอร์ชั้นที่ผมใช้ก็คือ Squid 2.2 STABLE1 ครับ เริ่มแรกสุดหลังจาก
Install เสร็จแล้วก็คือ
แก้ไข Files squid.conf อยู่ที่
/etc/squid/ ครับเริ่มจาก(ผมใช้ vi ครับ>>)
ใช้คำสั่งนี้ครับ vi /etc/squid/squid.conf
แก้บรรทัดที่ http_port 3128
เป็น http_port 8080 แก้บรรทัดที่ icq_port 3130 เป็น icp_port 3130
แก้บรรทัดที่ cache_peer hostname type 3128 3130 แก้เป็น cache_peer
ชื่อserverที่เราใช้ไม่ใช่ชื่อ เครื่องLinux ของเรานะครับ ตามด้วย
parent 8080 3130 อย่างนี้ครับ cache_peer server parent 8080 3130
แก้บรรทัดที่ http_access allow all เอา # ออก (ถ้าไม่มีให้เพิ่มเข้าไป)
แก้บรรทัดที่ http_access deny all เอา # ออก (ถ้าไม่มีให้เพิ่มเข้าไป)
แก้บรรทัดที่ cache_dir /var/spool/squid 100 24 256 (อันนีสำหรับ
Harddisk ที่มีความจุเยอะครับแต่ถ้ามี ความจุน้อยก็ไม่ต้องเอา # ออกครับปล่อยมันไปเลย
แต่ถ้ามีมากก็เอา # ออกครับ แล้วแก้ไขตัวเลขข้างหลังได้เลย อธิบายอย่าง
ง่าย ๆ นะครับ 100 แรกคือขนาดของ cache , 24 คือ directory ที่ ๆ จะเก็บ
cache , 256 คือ Directory ของตัว 24 อีกทีนึง
หมดแล้วครับการ setting squid
จากนั้นก็ save ออกมาที่ shell ให้คำสั่งต่อไปนี้ครับ squid -z เพื่อที่
squid จะได้สร้าง swap files ให้ เสร็จแล้วก็ run squid ได้เลย (เมื่อเรา
Run squid จะไม่ขึ้น shell นะครับให้กด Enter ได้เลย) แล้วลองเล่นที่ตัวลูกดูครับ
ไป set ที่ proxy ของ Browser ดู Work หรือเปล่า
คำสั่งที่ควรทราบ
squid -z = ทำการสร้าง swap files ใช้ก่อน
run squid ในกรณีที่เราทำการแก้ไขไฟล์ squid.conf เสร็จแล้ว
squid = ทำการ run squid ให้ทำงาน
squid -k shutdown = หยุดการทำงาน squid
เพื่อที่เราจะได้ทำการแก้ไขไฟล์ squid.conf (อย่าแก้ไขไฟล์ squid.conf
โดยไม่ได้ shutdown squid เพราะ squid จะไม่ทำงานเลย)
คราวนี้ลองมา ปรับปรุง cache
ดูบ้าง (ในกรณีที่เรามี Harddisk ขนาดความจุใหญ่ ๆ ครับ)
- เริ่มจากเอา # บรรทัดที่
คำสั่ง no_cache ออก (รวมทั้งคำสั่ง acl ที่อยู่บรรทัดก่อนหน้านี้ด้วย)
ทั้งนี้เพื่อให้ Squid ไม่ cache ข้อมูลที่มีตัว ? หรือมีคำว่า cgi-bin
อยู่ใน URL เพราะข้อมูลเหล่านี้จะมีการเปลี่ยนแปลงบ่อยมาก ดังนั้น
การ cache ข้อมูลเหล่านี้ อาจจะทำให้ผู้ใช้ได้รับข้อมูลเก่าไป
- ตัวถัดไปก็คือ maximum_object_size
ซึ่งกำหนดขนาดของข้อมูลที่ใหญ่ที่สุดที่จะเก็บ โดยปกติแล้วจะกำหนดเป็น
4mb หากใครมี cache เหลือเยอะ ๆ และอยากให้ Hit Rate เพิ่มขึ้นอีกเหล็กน้อย
ก็เพิ่มค่านี้ได้ครับ(ไม่ควรลดนะครับ) - ไล่ต่อมาเลยครับ มีคำสั่ง
request_size ซึ่งใช้จำกัดความยาวสูงสุดของ request จาก Browser โดยปกติแล้ว
request ก็จะสั้น ๆ ครับ เช่น URL ต่าง ๆ นั่นแหละครับ บวกกับ header
อีกนิดหน่อย ก็ไม่มากนัก แต่จะมียกเว้นกรณี Upload Files ผ่านทาง Http
เช่น Geocities เป็นต้น ซึ่งความยาของ request จะรวมเอาขนาดของไฟล์ไปด้วย
ค่าปกติของ squid คือ 100 kb ซี่งหากไม่พอก็เพิ่มได้ครับ
- พารามิเตอร์อีกชุดหนึ่งที่ผู้ใช้
Squid ผ่าน Modem อาจจะอยากปรับ นั่นคือ quick_abort_xxx ซึ่งใช้สำหรับควบคุม
การทำงานของ squid เมื่อผู้ใช้กดปุ่ม stop เพื่อหยุด Load ข้อมูลในขณะที่ข้อมูลของ
Web นั้น ๆ ยังมาไม่หมด คำสั่ง ชุดนี้ก็คือ quick_abort_min หมายความว่า
เมื่อผู้ใช้สั่งหยุด Load แล้ว หากข้อมูลในส่วนที่ยังโหลดมาไม่ครบนั้นมีขนาด
น้อยกว่าที่กำหนดในคำสั่งนี้ squid จะ Load ข้อมูลมาจนเสร็จ คำสั่งต่อมาคือ
quick_abort_max หมายความว่า เมื่อผู้ใช้สั่งหยุด Load แล้ว และข้อมูลที่ยังไม่ได้
Load มา มีขนาดใหญ่กว่ากำหนดในคำสั่งนี้ ก็ให้ squid ไป Load มาจนเสร็จ
ส่วนคำสั่ง quick_abort_pct ก็ดูว่าหากข้อมูลที่ยัง Load มาไม่ครบนั้น
Load มาแล้วเกินเปอร์เซ็นต์ตามคำ สั่งนี้ ก็ให้ squid Load มาจนครบ
สำหรับผู้ใช้ Modem และใจร้อนกดปุ่ม stop บ่อย ๆ ลองลด quick_abort_min
ลงเหลือ 8 mb และ เพิ่ม quick_abort_max ไปเป็น 98 ก็อาจจะช่วยเพิ่มประสิทธิภาพได้อีกหน่อยครับ
- การเคลียร์ Cache อัตโนมัติ
พิมพ์ vi squid.conf แล้วหาบรรทัด reference_age 1 month ท่านก็เปลี่ยนเป็น
สัปดาห์ , วัน , หรือแม้แต่ ชั่วโมงยังไง ถ้าหากต้องการเคลียร์ Cache
สำหรับ Harddisk น้อย ๆ อย่างผม ตั้งเป็น 2 ชั่วโมงครับ
|