آموزش نصب و کانفیگ Redis در CentOS 8
Redis یک مخزن داده in-memory key-value منبع باز است که می تواند به عنوان بانک اطلاعاتی ، کش و پیام مورد استفاده قرار گیرد و از ساختارهای مختلف داده مانند Strings ، هش ، لیست ، مجموعه و سایر موارد پشتیبانی می کند. Redis دسترسی پذیری بالا از طریق Redis Sentinel و تقسیم اتوماتیک در چندین Redis nodes با کلاستر Redis را فراهم می کند. این مقاله نصب و پیکربندی Redis در CentOS 8 را آموزش می دهد.
نسخه Redis 5.0.x در مخازن پیش فرض CentOS 8 گنجانده شده است. برای نصب آن ، دستورات زیر را به عنوان کاربر root یا کاربر دارای امتیازات sudo اجرا کنید
sudo dnf install redis-server
پس از اتمام نصب ، سرویس Redis را فعال و شروع کنید
sudo systemctl enable --now redis
برای بررسی اینکه سرور Redis در حال اجرا است ، تایپ کنید:
sudo systemctl status redis
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Sat 2020-02-08 20:54:46 UTC; 7s ago
به طور پیش فرض ، Redis اجازه اتصال از راه دور را نمی دهد. شما فقط می توانید از 127.0.0.1 (localhost) به سرور Redis متصل شوید – دستگاهی که Redis در آن کار می کند. اگر از یک سرور استفاده می کنید که دیتابیس نیز در همان میزبان در حال اجراست و نیاز دیتابیس و سرویس ها و … در یک سرور قرار دارند ، نباید دسترسی از راه دور را فعال کنید. برای پیکربندی Redis برای پذیرش اتصالات از راه دور ، فایل تنظیمات Redis را با ویرایشگر متن خود باز کنید
sudo nano /etc/redis.conf
خطی را که با bind 127.0.0.1
شروع می شود پیدا کنید و آدرس IP Private سرور خود را بعد از 127.0.0.1
اضافه کنید.
bind 127.0.0.1 192.168.121.233
مطمئن بشید کنید که 192.168.121.233
را با آدرس IP خود جایگزین کنید. فایل را ذخیره کرده و ویرایشگر را ببندید. سرویس Redis را برای اعمال تغییرات ریستارت کنید
sudo systemctl restart redis
برای تأیید و بررسی اینکه Redis server در private interface شما به پورت 6379 گوش می کند از دستور ss زیر استفاده کنید
ss -an | grep 6379
خروجی به شکل زیر است
tcp LISTEN 0 128 192.168.121.233:6379 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
در مرحله بعد ، برای فعال کردن ترافیک از درگاه TCP 6379 ، باید فایروال خود را پیکربندی کنید. به طور معمول می خواهید فقط از یک آدرس خاص IP یا دامنه IP به Redis server دسترسی داشته باشید. به عنوان مثال ، برای اجازه اتصال فقط از 192.168.121.0/24 ، دستورات زیر را اجرا کنید
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
دستورات فوق یک zone جدید به نام redis ایجاد می کند ، پورت 6379 را باز می کند و دسترسی به شبکه خصوصی را امکان پذیر می کند. در این مرحله ، Redis server اتصالات راه دور را در پورت TCP 6379 قبول می کند. اطمینان حاصل کنید که فایروال شما پیکربندی شده است تا اتصال به سرور شما فقط از محدوده های IP معتبر و IP هایی که شما تنظیم کردین انجام بشه. برای تأیید صحت تنظیم همه چیز ، می توانید با استفاده از ابزار redis-cli
که یک رابط خط فرمان را برای یک Redis server فراهم می کند استفاده کنین و Redis server را از راه دور پینگ کنید.
redis-cli -h <REDIS_IP_ADDRESS> ping
خروجی باید عبارت PONG
رو نمایش بده.