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

วิธีการติดตั้งเซิร์ฟเวอร์ Redis ในระบบที่ใช้ CentOS และ Debian


Redis คือที่จัดเก็บโครงสร้างข้อมูลในหน่วยความจำแบบโอเพ่นซอร์ส ประสิทธิภาพสูง และยืดหยุ่น (รูปแบบคีย์-ค่า) ซึ่งใช้เป็นฐานข้อมูล แคช และนายหน้าข้อความ เขียนด้วยภาษา ANSI C และทำงานบนระบบปฏิบัติการที่คล้ายกับ Unix ส่วนใหญ่ รวมถึง Linux (แนะนำสำหรับการปรับใช้) โดยไม่มีการพึ่งพาจากภายนอก

มีฟีเจอร์หลากหลาย รองรับภาษาการเขียนโปรแกรมและโครงสร้างข้อมูลหลายภาษา รวมถึงสตริง แฮช รายการ ชุด ชุดที่เรียงลำดับด้วยแบบสอบถามช่วง บิตแมป และอื่นๆ

คุณสมบัติ Redis:

  • รองรับภาษาการเขียนโปรแกรมส่วนใหญ่ รวมถึง C, Bash, Python, PHP, Node.js, Perl, Ruby และอื่นๆ อีกมากมาย
  • มีการจำลองแบบโดยธรรมชาติ, การเขียนสคริปต์ Lua, การกำจัด LRU, ธุรกรรม รวมถึงการคงอยู่ของดิสก์ในระดับที่แตกต่างกัน
  • ให้ความพร้อมใช้งานสูงผ่าน Redis Sentinel และการแบ่งพาร์ติชันอัตโนมัติผ่าน Redis Cluster
  • รองรับการทำงานของอะตอมมิก
  • โดยทำงานร่วมกับชุดข้อมูลในหน่วยความจำเพื่อให้ได้ประสิทธิภาพที่โดดเด่น
  • รองรับการจำลองแบบอะซิงโครนัสแบบอะซิงโครนัสหลักและรองเพียงเล็กน้อยในการตั้งค่า
  • รองรับการเฟลโอเวอร์อัตโนมัติ
  • ช่วยให้คุณสามารถบันทึกชุดข้อมูลลงในดิสก์ไม่บ่อยนักในช่วงเวลาที่กำหนด หรือโดยการผนวกแต่ละคำสั่งเข้ากับบันทึก
  • อนุญาตให้ปิดการใช้งานทางเลือกของการคงอยู่
  • รองรับการเผยแพร่/สมัครสมาชิกข้อความ
  • นอกจากนี้ยังรองรับธุรกรรม MULTI, EXEC, DISCARD และ WATCH และอีกมากมาย

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

  1. เซิร์ฟเวอร์ CentOS 7 และเซิร์ฟเวอร์ RHEL 7 พร้อมการติดตั้งขั้นต่ำ
  2. เซิร์ฟเวอร์ Ubuntu หรือเซิร์ฟเวอร์ Debian ที่มีการติดตั้งน้อยที่สุด
  3. คอมไพเลอร์ GCC และ libc

ในบทช่วยสอนนี้ เราจะให้คำแนะนำเกี่ยวกับวิธีการติดตั้ง Redis Server จากแหล่งที่มา (ซึ่งเป็นวิธีที่แนะนำ) ใน Linux นอกจากนี้ เรายังจะแสดงวิธีกำหนดค่า จัดการ และรักษาความปลอดภัย Redis อีกด้วย เนื่องจาก Redis ให้บริการข้อมูลทั้งหมดจากหน่วยความจำ เราขอแนะนำอย่างยิ่งให้ใช้เซิร์ฟเวอร์ VPS ที่มีหน่วยความจำสูงพร้อมกับคำแนะนำนี้

ขั้นตอนที่ 1: ติดตั้งเซิร์ฟเวอร์ Redis จากแหล่งที่มา

1. ขั้นแรก ให้ติดตั้งการขึ้นต่อกันของบิลด์ที่จำเป็น

--------------- On CentOS / RHEL / Fedora --------------- 
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
sudo apt install build-essential

2. จากนั้น ให้ดาวน์โหลดและคอมไพล์ Redis เวอร์ชันเสถียรล่าสุดโดยใช้ URL พิเศษที่จะชี้ไปยัง Redis เวอร์ชันเสถียรล่าสุดเสมอโดยใช้คำสั่ง wget

wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make 
make test
sudo make install

3. หลังจากการคอมไพล์ Redis ไดเร็กทอรี src ภายในการกระจาย Redis จะถูกเติมด้วยไฟล์ปฏิบัติการที่แตกต่างกันต่อไปนี้ซึ่งเป็นส่วนหนึ่งของ Redis:

  • เซิร์ฟเวอร์ Redis – เซิร์ฟเวอร์ Redis
  • redis-sentinel – Redis Sentinel ปฏิบัติการได้ (การตรวจสอบและเฟลโอเวอร์)
  • redis-cli – ยูทิลิตี้ CLI เพื่อโต้ตอบกับ Redis
  • redis-benchmark – ใช้เพื่อตรวจสอบประสิทธิภาพของ Redis
  • redis-check-aof และ redis-check-dump – มีประโยชน์ในกรณีที่ไฟล์ข้อมูลเสียหายซึ่งเกิดขึ้นไม่บ่อยนัก

ขั้นตอนที่ 2: กำหนดค่าเซิร์ฟเวอร์ Redis ใน Linux

4. ถัดไป คุณต้องกำหนดค่า Redis สำหรับสภาพแวดล้อมการพัฒนาที่จะจัดการโดยระบบ init (systemd สำหรับวัตถุประสงค์ของบทช่วยสอนนี้) . เริ่มต้นด้วยการสร้างไดเรกทอรีที่จำเป็นสำหรับการจัดเก็บไฟล์การกำหนดค่า Redis และข้อมูลของคุณ:

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/

4. จากนั้นคัดลอกไฟล์การกำหนดค่าเทมเพลต Redis ที่ให้มา ลงในไดเร็กทอรีที่คุณสร้างไว้ด้านบน

sudo cp redis.conf /etc/redis/

5. ตอนนี้ให้เปิดไฟล์การกำหนดค่าและอัปเดตการตั้งค่าบางอย่างดังต่อไปนี้

sudo vi /etc/redis/redis.conf

6. ค้นหาตัวเลือกต่อไปนี้ จากนั้นเปลี่ยน (หรือใช้) ค่าเริ่มต้นตามความต้องการสภาพแวดล้อมในพื้นที่ของคุณ

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

ขั้นตอนที่ 3: สร้างไฟล์ Redis Systemd Unit

7. ตอนนี้คุณต้องสร้างไฟล์ systemd unit สำหรับ redis เพื่อควบคุม daemon โดยการรันคำสั่งต่อไปนี้

sudo vi /etc/systemd/system/redis.service

และเพิ่มการกำหนดค่าด้านล่าง:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

บันทึกและปิดไฟล์

ขั้นตอนที่ 4: จัดการและทดสอบเซิร์ฟเวอร์ Redis ใน Linux

8. เมื่อคุณดำเนินการกำหนดค่าที่จำเป็นทั้งหมดแล้ว ตอนนี้คุณสามารถเริ่มต้นเซิร์ฟเวอร์ Redis ในตอนนี้ เปิดใช้งานให้เริ่มต้นอัตโนมัติเมื่อบูตระบบ แล้วดูสถานะดังต่อไปนี้

sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

9. ต่อไป ทดสอบว่าการตั้งค่า Redis ทั้งหมดทำงานได้ดีหรือไม่ หากต้องการโต้ตอบกับเซิร์ฟเวอร์ Redis ให้ใช้คำสั่ง redis-cli หลังจากเชื่อมต่อกับเซิร์ฟเวอร์แล้ว ให้ลองรันคำสั่งสองสามคำสั่ง

redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. จากนั้นปิดการเชื่อมต่อด้วยคำสั่ง exit และรีสตาร์ทเซิร์ฟเวอร์ Redis หลังจากนั้นให้ตรวจสอบว่า mykey ยังคงเก็บไว้บนเซิร์ฟเวอร์ตามที่แสดงด้านล่าง:

127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey

11. หากต้องการลบคีย์ ให้ใช้คำสั่งลบดังต่อไปนี้:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

ขั้นตอนที่ 5: การรักษาความปลอดภัยเซิร์ฟเวอร์ Redis ใน Linux

12. ส่วนนี้มีไว้สำหรับผู้ใช้ที่ต้องการใช้เซิร์ฟเวอร์ Redis ที่เชื่อมต่อกับเครือข่ายภายนอก เช่น อินเทอร์เน็ต

ข้อสำคัญ: การเปิดเผย Redis บนอินเทอร์เน็ตโดยไม่มีการรักษาความปลอดภัยใดๆ จะทำให้ง่ายต่อการใช้ประโยชน์ ดังนั้นรักษาความปลอดภัยเซิร์ฟเวอร์ Redis ดังนี้:

  • บล็อกการเชื่อมต่อกับพอร์ต Redis ในระบบไฟร์วอลล์
  • ตั้งค่าคำสั่งการผูกกับอินเตอร์เฟสย้อนกลับ: 127.0.0.1
  • ตั้งค่าตัวเลือก needpass เพื่อให้ไคลเอนต์จะต้องตรวจสอบสิทธิ์โดยใช้คำสั่ง AUTH
  • ตั้งค่า SSL tunneling เพื่อเข้ารหัสการรับส่งข้อมูลระหว่างเซิร์ฟเวอร์ Redis และไคลเอนต์ Redis

หากต้องการข้อมูลการใช้งานเพิ่มเติม ให้รันคำสั่งด้านล่าง:

redis-cli -h

คุณสามารถค้นหาคำสั่งเซิร์ฟเวอร์เพิ่มเติมและเรียนรู้วิธีใช้ Redis ภายในแอปพลิเคชันของคุณได้จากหน้าแรกของ Redis: https://redis.io/

ในบทช่วยสอนนี้ เราได้แสดงวิธีการติดตั้ง กำหนดค่า จัดการ ตลอดจนรักษาความปลอดภัย Redis ใน Linux หากต้องการแบ่งปันความคิดใด ๆ ให้ใช้แบบฟอร์มความคิดเห็นด้านล่าง