Redis، یک پایگاه داده منبع باز با حافظه داخلی به صورت key-value است که می‌تواند به عنوان یک پایگاه داده، حافظه نهان و واسطه پیام استفاده شود و از ساختارهای مختلف داده مانند Stringها، Hasheها، Listها، Setها و غیره پشتیبانی می‌کند. Redis از طریق Redis Sentinel و پارتیشن بندی خودکار در چندین گره Redis با کلاستر Redis دسترسی بالا را فراهم می‌نماید.

 

در این آموزش، نحوه نصب و پیکربندی Redis در اوبونتو 20.04 توضیح داده شده است.

 

نصب Redis در اوبونتو 20.04

نصب Redis در اوبونتو، یک فرآیند ساده‌ای است.

Redis نسخه 5.0.x در مخازن پیش فرض اوبونتو 20.04 موجود است. بنابراین، برای نصب آن کافیست دستورات زیر را به عنوان root یا user با امتیاز sudo اجرا کنید:

sudo apt update
sudo apt install redis-server

پس از اتمام نصب، سرویس Redis به طور خودکار راه‌اندازی می‌شود. برای بررسی وضعیت سرویس، دستور زیر را وارد نمایید:

sudo systemctl status redis-server

پس از آن، شما باید چیزی شبیه به این را ببینید:

Output:
● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-06-06 20:03:08 UTC; 10s ago
...

دقت کنید که اگر IPv6 در سرور شما غیرفعال باشد، سرویس Redis به درستی راه‌اندازی نمی‌شود.

تا این مرحله، شما Redis را روی سرور اوبونتو 20.04 خود نصب و اجرا کرده‌اید.

 

این مطلب نیز ممکن است برای شما مفید باشد: پایگاه داده چیست؟ SQL چیست؟

 

پیکربندی Redis Remote Access

به طور پیش فرض، سرور Redis اتصالات ریموت را قبول نمی‌کند و شما تنها از طریق 127.0.0.1 ( یا localhost که Redis برروی آن اجرا است) می‌توانید به Redis متصل شوید.

چنانچه از یک سرور استفاده می‌کنید که در آن، کلاینت متصل به پایگاه داده نیز اجرا می‌شود، نباید دسترسی از راه دور را فعال نمایید.

به منظور پیکربندی Redis برای پذیرش اتصالات ریموت، فایل پیکربندی Redis را با ویرایشگر متن خود باز کنید:

sudo nano /etc/redis/redis.conf

خطی را که با bind 127.0.0.1 :: 1 شروع می‌شود، پیدا کرده و آن را کامنت نمایید.

               /etc/redis/redis.conf

# bind 0.0.0.0 ::1

به منظور اعمال تغییرات، فایل را ذخیره کرده و سرویس Redis را مجدداً راه اندازی نمایید:

sudo systemctl restart redis-server

 

برای اطمینان از اینکه redis در حال شنود به تمام رابط‌های موجود برروی پورت 6379 است، از دستور زیر استفاده کنید:

ss -an | grep 6379

اکنون باید خروجی مشابه زیر را ببینید. 0.0.0.0 به معنای تمام آدرس‌های IPv4 موجود در دستگاه است.

Output:
tcp  LISTEN 0   511   0.0.0.0:6379   0.0.0.0:*
tcp  LISTEN 0   511      [::]:6379      [::]:*  

در مرحله بعدی، باید فایروال خود را پیکربندی نمایید تا ترافیک برروی پورت 6379 مربوط به TCP فعال شود.

 

اغلب نیاز است که تنها از طریق یک آدرس IP خاص یا یک محدوده از آدرس‌های IP به سرور Redis دسترسی داشته باشید. به عنوان مثال، برای اجازه اتصال تنها از طریق زیر شبکه 192.168.121.0/24، دستور زیر را اجرا کنید:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

اطمینان حاصل کنید که فایروال شما به گونه‌ای پیکربندی شده است که اتصالات را تنها از محدوده IP معتبر بپذیرد.

در این مرحله، باید بتوانید از مکان‌های ریموت به Redis، برروی پورت6379 مربوط به TCP متصل شوید.

برای تأیید اینکه همه چیز به درستی تنظیم شده است، شما می‌توانید با استفاده از ابزار redis-cli، سرور Redis را از دستگاه ریموت خود ping کنید:

redis-cli -h <REDIS_IP_ADDRESS> ping

این دستور باید پاسخ PONG را بازگرداند:

PONG

 

 

 

منبع:

linuxize