วิธีการเปิดใช้งาน Redis ผ่าน DirectAdmin Control Panel

ขั้นตอนการเปิดใช้งาน Redis

1. Login เข้าสู่ Hosting ของลูกค้า ด้วย DirectAdmin Control Panel และป้อน Username กับ Password ของลูกค้าที่ได้รับทางอีเมล

หรือ กด Login As จากหน้า Hosting ของลูกค้า ใน nest.bangmod.cloud

2. ในหัวข้อ Advanced Features เลือก Redis

3. หลังจากเข้ามาที่หน้าจัดการ Redis แล้ว ให้ตรวจสอบสถานะการเปิดใช้งานของ Redis โดยมีรายละเอียดดังนี้

ข้อความที่เห็นความหมายสิ่งที่ต้องทำ
This account has Redis disabled.ยังไม่เปิดใช้งาน Redisกดปุ่ม ENABLE
This account has Redis enabled.Redis เปิดใช้งานแล้วข้ามไปขั้นตอนที่ 5

4. ให้คลิก Enable เพื่อเป็นการเปิดใช้งาน Redis

5. เมื่อเปิดการใช้งาน Redis แล้วให้คัดลอก Path ของ socket สำหรับการใช้งาน Redis

โดยด้านล่างของหน้าจอจะมีหัวข้อ Path to redis socket file พร้อมช่องแสดง path ให้คัดลอกค่านั้นไว้

ตัวอย่างเช่น

/home/mywebsite/.redis/redis.sock

ขั้นตอนการตั้งค่าการใช้งาน Redis Object Cache สำหรับ WordPress

แก้ไขไฟล์ wp-config.php ของเว็บไซต์นั้น ผ่าน File Manager ของ DirectAdmin หรือ FTP ตำแหน่งไฟล์อยู่ที่

/domains/<domain>/public_html/wp-config.php

เพิ่มสองบรรทัดนี้ โดยต้องวางไว้ ก่อน บรรทัดสุดท้ายที่เรียก “wp-settings.php” โดยตัวอย่างตามภาพด้านล่าง

				
					define( 'WP_REDIS_SCHEME', 'unix' );
define( 'WP_REDIS_PATH', '/home/<user>/.redis/redis.sock' );

				
			

ความหมายของแต่ละบรรทัด

  • WP_REDIS_SCHEME บอกวิธีเชื่อมต่อ ค่าเริ่มต้นของปลั๊กอินคือ tcp ซึ่งจะพยายามต่อที่ 127.0.0.1 พอร์ต 6379 แล้วเชื่อมต่อไม่สำเร็จ จึงต้องเปลี่ยนเป็น unix
  • WP_REDIS_PATH บอกตำแหน่งไฟล์ socket ต้องใช้ path ที่ได้จากขั้นตอนที่ 5 และเปลี่ยน <user> เป็นชื่อ DirectAdmin user ของตัวเอง

เมื่อใช้ unix แล้ว ไม่ต้องประกาศ WP_REDIS_HOST และ WP_REDIS_PORT เพราะจะไม่ถูกใช้งาน

ขั้นตอนการติดตั้งและเปิดใช้งาน Plugin Redis Object Cache ใน WordPress

1. จากหน้า Dashboard ของ WordPress ให้กดเมนู Plugins

2. กดปุ่ม Add Plugin

3. พิมพ์ค้นหา Plugin “Redis Object Cache

4. กด Install Now และ Activate เพื่อติดตั้งและเปิดใช้งาน Plugin “Redis Object Cache

5. หลังติดตั้งเสร็จ ไปที่เมนู Settings

6. เลือกที่เมนู Redis

7. คลิกที่ Enable Object Cache เพื่อเปิดการใช้งาน Object Cache

หากเปิดใช้งาน Redis Object Cache สามารถทำงานได้ถูกต้องจะขึ้นสถานะดังแบบรูปตัวอย่างด้านล่าง

เรื่องสำคัญ: Database IDs

ในหน้า Redis ของ DirectAdmin จะมีข้อความแจ้งเตือนว่า

แปลว่า กรุณาระบุหมายเลข database ให้ต่างกันในแต่ละแอปพลิเคชัน เพื่อไม่ให้ key ชนกัน

ทำไมถึงต้องสนใจ

Redis หนึ่ง instance ไม่ได้มีพื้นที่เก็บข้อมูลก้อนเดียว แต่แบ่งเป็นหลายช่องตามหมายเลข เรียกว่า database ปกติมี 16 ช่อง นับจาก 0 ถึง 15 และค่าเริ่มต้นที่ทุกแอปเลือกใช้คือช่อง 0

DirectAdmin ให้ Redis หนึ่งตัวต่อหนึ่ง user ไม่ใช่หนึ่งตัวต่อหนึ่งเว็บไซต์ ดังนั้นถ้า user หนึ่งคนมีหลายเว็บ ทุกเว็บจะวิ่งมาที่ Redis ตัวเดียวกันผ่าน socket เดียวกัน

ถ้าทุกเว็บใช้ช่อง 0 เหมือนกันหมด ข้อมูลจะไปกองรวมกันในช่องเดียว ปัญหาที่ตามมาคือ

  • Key ชนกัน เว็บ A และเว็บ B ต่างเก็บ key ชื่อเดียวกัน เช่นข้อมูล option ของ WordPress ที่ใช้ชื่อมาตรฐานเหมือนกัน ค่าของเว็บหนึ่งจะไปทับอีกเว็บหนึ่ง
  • ข้อมูลข้ามเว็บ เว็บ A อาจอ่านค่าที่เว็บ B เขียนไว้ ทำให้แสดงเนื้อหาผิด เช่น เมนู ชื่อเว็บ หรือข้อมูลผู้ใช้ที่ cache ไว้
  • ล้าง cache ทีเดียวโดนหมด การสั่ง flush จากเว็บหนึ่ง จะล้าง cache ของทุกเว็บที่ใช้ช่องเดียวกัน
  • ไล่ปัญหายาก อาการจะโผล่แบบสุ่มและไม่สม่ำเสมอ เพราะขึ้นกับว่าเว็บไหนเขียนทับทีหลัง

วิธีแก้: แยกหมายเลข database

เพิ่มบรรทัดนี้ใน wp-config.php ของแต่ละเว็บ โดยใช้หมายเลขไม่ซ้ำกัน

define( 'WP_REDIS_DATABASE', 0 );


ตัวอย่างการวางแผนสำหรับ user ที่มี 3 เว็บ

เว็บไซต์ค่า WP_REDIS_DATABASE
example.com0
shop.example.com1
blog.example.com2

หากมีเว็บเดียว ไม่ต้องประกาศบรรทัดนี้ก็ได้ เพราะระบบใช้ 0 เป็นค่าเริ่มต้นอยู่แล้ว

วิธีเสริม: แยกด้วย prefix

หากมีเว็บมากกว่า 16 เว็บ หรือต้องการความปลอดภัยเพิ่มอีกชั้น ให้ตั้ง prefix ให้ต่างกันควบคู่ไปด้วย

define( 'WP_REDIS_PREFIX', 'example_' );

prefix จะถูกเติมไว้หน้าทุก key ทำให้ต่อให้อยู่ช่องเดียวกันก็ไม่ชนกัน

ขั้นตอนการเคลียร์ Cache ของ Plugin Redis Object Cache

สามารถเคลียร์ Object Cache ได้ 2 วิธี

วิธีที่ดำเนินการผ่านหน้า WP-admin

ในหน้าของ wp-admin ให้มองหา เมนูที่ชื่อว่า Object Cache และนำเมาส์ไปวางจะเห็นชื่อเมนูว่า “Flush Cache” เพื่อเคลียร์ Cache

วิธีที่ดำเนินการผ่านหน้าตั้งค่า Redis

  1. ไปที่เมนู Settings
  2. เลือกที่เมนู Redis
  3. คลิกที่ปุ่ม Flush Cache เพื่อเคลียร์ Cache ของ Redis Object Cache

ขั้นตอนการปิดใช้งาน Redis Object Cache

หากต้องการเลิกใช้ Redis Object ให้ทำตามลำดับนี้

1. ในหน้า Settings > Redis ของ WordPress กด Disable Object Cache

2. ลบบรรทัด WP_REDIS_* ทั้งหมดออกจาก wp-config.php

3. กลับไปที่หน้า Redis ใน DirectAdmin แล้วกดปุ่ม Disable

หากปิดที่ DirectAdmin ก่อนโดยที่ WordPress ยังตั้งค่าไว้อยู่ เว็บอาจขึ้น error เพราะหา socket ไม่เจอ

หากลูกค้ากำลังมองหา โฮสติ้งระดับพรีเมียม ที่แรงที่สุด! ใหม่ที่สุด! ทางบางมดขอแนะนำ Premium WordPress Hosting ครับ

Was this article helpful?

Related Articles