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

วิธีการติดตั้ง Memcached (เซิร์ฟเวอร์แคช) บน CentOS 7


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

Memcached ยังใช้เพื่อแคชตารางฐานข้อมูลทั้งหมดและการสืบค้นเพื่อปรับปรุงประสิทธิภาพของฐานข้อมูล มันเป็นระบบแคชเดียวที่ใช้งานได้ฟรีและใช้งานโดยไซต์ใหญ่ๆ มากมาย เช่น YouTube, Facebook, Twitter, Reddit , Drupal, Zynga ฯลฯ

อ่านเพิ่มเติม: วิธีติดตั้งและกำหนดค่า Memcached บน CentOS 8

Memcached สามารถกระทำการปฏิเสธการโจมตีบริการได้หากกำหนดค่าไม่ถูกต้อง ในบทความนี้ เราจะอธิบายวิธีการติดตั้งและรักษาความปลอดภัยเซิร์ฟเวอร์ Memcached ของคุณบนการกระจาย CentOS 7 Linux คำแนะนำที่ให้มาเหล่านี้ใช้ได้กับ RHEL และ Fedora Linux ด้วยเช่นกัน

การติดตั้ง Memcached ใน CentOS 7

ขั้นแรก อัปเดตดัชนีแพ็คเกจซอฟต์แวร์ในเครื่องของคุณ จากนั้นติดตั้ง Memcached จากที่เก็บอย่างเป็นทางการของ CentOS โดยใช้คำสั่ง yum ต่อไปนี้

yum update
yum install memcached

ต่อไป เราจะติดตั้ง libmemcached ซึ่งเป็นไลบรารีไคลเอ็นต์ที่มีเครื่องมือสองสามอย่างในการจัดการเซิร์ฟเวอร์ Memcached ของคุณ

yum install libmemcached

ขณะนี้ควรติดตั้ง Memcached บนระบบ CentOS ของคุณเป็นบริการ พร้อมด้วยเครื่องมือที่ต้องใช้ในการทดสอบการเชื่อมต่อ ตอนนี้เราสามารถดำเนินการเพิ่มเติมเพื่อรักษาความปลอดภัยการตั้งค่าการกำหนดค่าได้

การรักษาความปลอดภัยการตั้งค่าการกำหนดค่า Memcached

เพื่อให้แน่ใจว่าบริการ Memcached ที่ติดตั้งไว้กำลังรับฟังบนอินเทอร์เฟซภายใน 127.0.0.1 เราจะแก้ไขตัวแปร OPTIONS ใน / ฯลฯ/sysconfig/memcached ไฟล์การกำหนดค่า

vi /etc/sysconfig/memcached

ค้นหาตัวแปร OPTIONS และเพิ่ม -l 127.0.0.1 -U 0 ลงในตัวแปร OPTIONS การตั้งค่าเหล่านี้จะปกป้องเซิร์ฟเวอร์ของเราจากการโจมตีแบบปฏิเสธบริการ

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0" 

เราจะมาหารือเกี่ยวกับพารามิเตอร์แต่ละข้อข้างต้นโดยละเอียด

  1. PORT : พอร์ตที่ Memcached ใช้เพื่อเรียกใช้
  2. USER : daemon เริ่มต้นสำหรับบริการ Memcached
  3. MAXCONN : ค่าที่ใช้ในการตั้งค่าการเชื่อมต่อพร้อมกันสูงสุดเป็น 1024 สำหรับเว็บเซิร์ฟเวอร์ที่ไม่ว่าง คุณสามารถเพิ่มเป็นจำนวนเท่าใดก็ได้ตามความต้องการของคุณ
  4. CACHESIZE : ตั้งค่าหน่วยความจำขนาดแคชเป็น 2048 สำหรับเซิร์ฟเวอร์ที่ไม่ว่าง คุณสามารถเพิ่มได้สูงสุด 4GB
  5. ตัวเลือก : ตั้งค่าที่อยู่ IP ของเซิร์ฟเวอร์ เพื่อให้เว็บเซิร์ฟเวอร์ Apache หรือ Nginx สามารถเชื่อมต่อได้

รีสตาร์ทและเปิดใช้งานบริการ Memcached เพื่อใช้การเปลี่ยนแปลงการกำหนดค่าของคุณ

systemctl restart memcached
systemctl enable memcached

เมื่อเริ่มต้นแล้ว คุณสามารถยืนยันได้ว่าบริการ Memcached ของคุณเชื่อมโยงกับอินเทอร์เฟซภายในเครื่องและรับฟังเฉพาะการเชื่อมต่อ TCP โดยใช้คำสั่ง netstat ต่อไปนี้

netstat -plunt

คุณยังตรวจสอบสถิติของเซิร์ฟเวอร์ได้โดยใช้ memcached-tool ดังที่แสดง

memcached-tool 127.0.0.1 stats

ตอนนี้ตรวจสอบให้แน่ใจว่าได้อนุญาตการเข้าถึงเซิร์ฟเวอร์ Memcached โดยเปิดพอร์ต 11211 บนไฟร์วอลล์ของคุณดังที่แสดง

firewall-cmd --permanent --zone=public --add-port=11211/tcp

ติดตั้งส่วนขยาย Memcached PHP

ตอนนี้ ให้ติดตั้งส่วนขยาย PHP เพื่อทำงานกับ Memcached daemon

yum install php-pecl-memcache

ติดตั้งไลบรารี Memcached Perl

ติดตั้งไลบรารี Perl สำหรับ Memcached

yum install perl-Cache-Memcached

ติดตั้งไลบรารี Memcached Python

ติดตั้งไลบรารีหลามสำหรับ Memcached

yum install python-memcached

รีสตาร์ทเว็บเซิร์ฟเวอร์

เริ่มบริการ Apache หรือ Nginx ใหม่เพื่อให้สอดคล้องกับการเปลี่ยนแปลง

systemctl restart httpd
systemctl restart nginx

แคช MySQL แบบสอบถามด้วย Memcached

ไม่ใช่เรื่องง่ายสำหรับทุกคน คุณต้องใช้ API เพื่อแก้ไขโค้ด PHP ของคุณเพื่อเปิดใช้งานการแคช MySQL คุณสามารถค้นหาโค้ดตัวอย่างได้ที่ Memcache พร้อม MySQL และ PHP

แค่นั้นแหละ! ในบทความนี้ เราได้ขยายวิธีการติดตั้งและรักษาความปลอดภัยเซิร์ฟเวอร์ Memcached ของคุณไปยังอินเทอร์เฟซเครือข่ายท้องถิ่น หากคุณประสบปัญหาใด ๆ ระหว่างการติดตั้ง โปรดขอความช่วยเหลือในส่วนความคิดเห็นด้านล่าง