ค้นหาเว็บไซต์

ติดตั้ง Varnish Cache 5.2 สำหรับ Apache บน Debian และ Ubuntu


Varnish Cache (หรือที่เรียกว่า Varnish) เป็นตัวเร่ง HTTP แบบโอเพ่นซอร์สที่มีประสิทธิภาพสูงพร้อมการออกแบบที่ทันสมัย โดยจะเก็บแคชไว้ในหน่วยความจำเพื่อให้แน่ใจว่าทรัพยากรของเว็บเซิร์ฟเวอร์จะไม่สูญเปล่าในการสร้างหน้าเว็บเดียวกันซ้ำแล้วซ้ำเล่าเมื่อไคลเอนต์ร้องขอ

สามารถกำหนดค่าให้ทำงานหน้าเว็บเซิร์ฟเวอร์เพื่อให้บริการหน้าเว็บได้รวดเร็วยิ่งขึ้น ทำให้เว็บไซต์โหลดได้อย่างรวดเร็ว รองรับการปรับสมดุลโหลดด้วยการตรวจสอบสภาพของแบ็กเอนด์ การเขียน URL ใหม่ การจัดการแบ็กเอนด์ที่ "ใช้งานไม่ได้" อย่างสวยงาม และให้การสนับสนุนบางส่วนสำหรับ ESI (Edge Side Included)

ในบทความชุดของเราเกี่ยวกับ Varnish Cache เราได้แสดงวิธีการตั้งค่า Varnish สำหรับ Nginx และ Varnish สำหรับเว็บเซิร์ฟเวอร์ Apache บนระบบ CentOS 7

ในบทความนี้ เราจะอธิบายวิธีการติดตั้งและกำหนดค่า Varnish Cache 5.2 เป็นส่วนหน้าของเซิร์ฟเวอร์ Apache HTTP บนระบบ Debian และ Ubuntu

ความต้องการ:

  1. ระบบ Ubuntu ที่ติดตั้ง LAMP Stack
  2. ระบบ Debian ที่ติดตั้งด้วย LAMP Stack
  3. ระบบ Debian/Ubuntu พร้อมที่อยู่ IP แบบคงที่

ขั้นตอนที่ 1: ติดตั้ง Varnish Cache บน Debian และ Ubuntu

1. โชคดีที่มีแพ็คเกจที่คอมไพล์ไว้ล่วงหน้าสำหรับ Varnish Cache 5 เวอร์ชันล่าสุด (เช่น 5.2 ในขณะที่เขียน) ดังนั้นคุณ จำเป็นต้องเพิ่มพื้นที่เก็บข้อมูลวานิชอย่างเป็นทางการในระบบของคุณดังที่แสดงด้านล่าง

curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -

ข้อสำคัญ: หากคุณใช้ Debian ให้ติดตั้งแพ็คเกจ debian-archive-keyring เพื่อยืนยันที่เก็บ Debian อย่างเป็นทางการ .

sudo apt-get install debian-archive-keyring

2. หลังจากนั้น ให้สร้างไฟล์ชื่อ /etc/apt/sources.list.d/varnishcache_varnish5.list ซึ่งมีการกำหนดค่าที่เก็บด้านล่าง ตรวจสอบให้แน่ใจว่าได้แทนที่ ubuntu และ xenial ด้วยเวอร์ชันและเวอร์ชัน Linux ของคุณ

deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main  
deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial  main

3. ถัดไป อัปเดตที่เก็บแพ็คเกจซอฟต์แวร์และติดตั้งแคชวานิชโดยใช้คำสั่งต่อไปนี้

sudo apt update
sudo apt install varnish

4. หลังจากติดตั้ง Varnish Cache ไฟล์การกำหนดค่าหลักจะถูกติดตั้งภายใต้ไดเร็กทอรี /etc/varnish/

  • /etc/default/varnish – ไฟล์การกำหนดค่าสภาพแวดล้อมการเคลือบเงา
  • /etc/varnish/default.vcl – ไฟล์คอนฟิกูเรชันวานิชหลัก เขียนโดยใช้ vanish configuration language (VCL)
  • /etc/varnish/secret – ไฟล์ลับวานิช

เพื่อยืนยันว่าการติดตั้ง Varnish สำเร็จ ให้รันคำสั่งต่อไปนี้เพื่อดูเวอร์ชัน

varnishd -V

ขั้นตอนที่ 2: กำหนดค่า Apache ให้ทำงานกับ Varnish Cache

5. ตอนนี้คุณต้องกำหนดค่า Apache ให้ทำงานกับ Varnish Cache ตามค่าเริ่มต้น Apache ฟังบนพอร์ต 80 คุณต้องเปลี่ยนพอร์ต Apache เริ่มต้นเป็น 8080 เพื่อเปิดใช้งานให้ทำงานอยู่เบื้องหลังแคชวานิช

ดังนั้นให้เปิดไฟล์การกำหนดค่าพอร์ต Apache /etc/apache2/ports.conf และค้นหาบรรทัด listen 80 จากนั้นเปลี่ยนเป็น listen 8080

หรือเพียงรันคำสั่ง sed เพื่อเปลี่ยนพอร์ต 80 เป็น 8080 ดังต่อไปนี้

sudo sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf

6. คุณยังจำเป็นต้องเปลี่ยนแปลงไฟล์โฮสต์เสมือนของคุณที่อยู่ใน /etc/apache2/sites-available/

sudo vi /etc/apache2/sites-available/000-default.conf

เปลี่ยนหมายเลขพอร์ตเป็น 8080

<VirtualHost *:8080>
	#virtual host configs here
</VirtualHost>

7. ในระบบที่ใช้ systemd ไฟล์การกำหนดค่าสภาพแวดล้อม /etc/default/varnish เลิกใช้แล้วและไม่ได้รับการพิจารณาอีกต่อไป

คุณต้องคัดลอกไฟล์ /lib/systemd/system/varnish.service ไปที่ /etc/systemd/system/ และทำการเปลี่ยนแปลงเล็กน้อย

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
sudo vi /etc/systemd/system/varnish.service

คุณต้องแก้ไขคำสั่งบริการ ExecStart ซึ่งจะกำหนดตัวเลือกรันไทม์ varnish daemon ตั้งค่าของแฟล็ก -a ซึ่งกำหนดวานิชพอร์ตที่รับข้อมูลจาก 6081 ถึง 80

8. เพื่อให้การเปลี่ยนแปลงข้างต้นมีผลกับไฟล์หน่วยบริการวานิช ให้รันคำสั่ง systemctl ต่อไปนี้:

sudo systemctl daemon-reload

9. จากนั้น กำหนดค่า Apache เป็นเซิร์ฟเวอร์แบ็กเอนด์สำหรับพร็อกซี Varnish ในไฟล์การกำหนดค่า /etc/varnish/default.vcl

sudo vi /etc/varnish/default.vcl 

เมื่อใช้ส่วน แบ็กเอนด์ คุณสามารถกำหนด IP ของโฮสต์และพอร์ตสำหรับเซิร์ฟเวอร์เนื้อหาของคุณได้ ต่อไปนี้เป็นการกำหนดค่าแบ็กเอนด์เริ่มต้นซึ่งใช้ localhost (ตั้งค่าให้ชี้ไปที่เซิร์ฟเวอร์เนื้อหาจริงของคุณ)

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

10. เมื่อคุณดำเนินการกำหนดค่าข้างต้นทั้งหมดแล้ว ให้รีสตาร์ท Apache และ Varnish daemon โดยพิมพ์คำสั่งต่อไปนี้

sudo systemctl restart apache
sudo systemctl start varnish
sudo systemctl enable varnish
sudo systemctl status varnish

ขั้นตอนที่ 3: ทดสอบ Varnish Cache บน Apache

11. สุดท้าย ทดสอบว่าเปิดใช้งานแคช Varnish และทำงานร่วมกับเซิร์ฟเวอร์ Apache HTTP โดยใช้ คำสั่ง cURL ด้านล่างเพื่อดูส่วนหัว HTTP หรือไม่

curl -I http://localhost

แค่นั้นแหละ! สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Varnish Cache โปรดไปที่ – https://github.com/varnishcache/varnish-cache

ในบทช่วยสอนนี้ เราได้อธิบายวิธีการตั้งค่า Varnish Cache 5.2 สำหรับเซิร์ฟเวอร์ Apache HTTP บนระบบ Debian และ Ubuntu คุณสามารถแบ่งปันความคิดหรือข้อสงสัยใด ๆ กับเราผ่านทางข้อเสนอแนะด้านล่าง