سرور مجازی لهستان با ترافیک نامحدود

آموزش نصب Redis بر روی سرور Centos 8 / RHEL 8

آموزش نصب Redis بر روی Centos 8

با عرض سلام خدمت شما دوستان عزیز;

در این مقاله میخواهیم آموزش نصب Redis 4 را بر روی Centos 8/RHEL 8 را برای شما عزیزان قرار دهیم. با مطالعه این مقاله شما میتوانید Redis را بر روی سرور با سیستم عامل Centos 8 / RHEL 8 نصب و کانفیگ نمایید.

اموزش نصب redisRedis یک ابزار مدیریت اطلاعات در حافظه میباشد. از این ابزار میتوانید برای سرور های دیتابیس، Message Broker ها و یا به عنوان یک Cache برای افزایش سرعت سرور خود استفاده نمایید.

Redis از ساختار های اطلاعاتی زیر پشتیبانی میکند:

  • Hashes
  • sets with range queries
  • Strings
  • sorted lists
  • Hyperloglogs
  • Bitmaps
  • Geospatial indexes e.t.c

آموزش نصب Redis بر روی Centos 8 / RHEL 8

Redis برای نصب در سیستم Repository نصب نرم افزار Centos 8 / RHEL 8 موجود میباشد. برای مشاهده پکیج های موجود میتوانید از دستور yum module list redis استفاده نمایید:

$ yum module list redis
 Updating Subscription Management repositories.
 Updating Subscription Management repositories.
 Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
 Name                         Stream                         Profiles                          Summary                                                  
 redis                        4.0 [d]                        default [d]                       Redis persistent key-value database                      
 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

همانطور که از خروجی نیز مشخص است نسخه 4.0 برای نصب از طریق Package manager فعال میباشد. برای نصب میتوانید از دستور زیر استفاده نمایید.

sudo yum install -y @redis

پس از نصب Redis را فعال میکنیم تا در زمان بوت سیستم عامل شروع به کار نماید:

sudo systemctl enable --now redis

پس از انجام دستور بالا سرویس Redis باید شروع به کار کرده باشد و وضعیت ان نیز فعال باشد. با استفاده از دستور sudo systemctl status 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 2018-12-29 10:00:40 EAT; 5s ago
  Main PID: 30348 (redis-server)
     Tasks: 4 (limit: 11510)
    Memory: 6.4M
    CGroup: /system.slice/redis.service
            └─30348 /usr/bin/redis-server 127.0.0.1:6379
 Dec 29 10:00:40 rhel8.local systemd[1]: Starting Redis persistent key-value database…
 Dec 29 10:00:40 rhel8.local systemd[1]: Started Redis persistent key-value database.

تنظیم Redis بر روی سرور Centos 8 / RHEL 8

حال که Redis را بر روی سرور نصب کرده ایم میتوانیم تنظیمات ان را انجام دهیم. در حالت پیشفرض Redis بر روی ای پی 127.0.0.1 در حالت Listen قرار دارد. در صورتی که مایلید سرویس Redis به صورت ریموت هم در دسترس باشد میتوانید Redis برای همه Interface های سرور بر روی حالت Listen قرار دهید.

$ ss -tunelp | grep 6379
tcp   LISTEN  0    128   127.0.0.1:6379    0.0.0.0:*  users:(("redis-server",pid=30348,fd=6)) uid:986 ino:71091 sk:4 <->

برای این کار فایل تنظیمات Redis که redis.conf نام دارد را با استفاده از ادیتور متن ویرایش نمایید:

sudo vim /etc/redis.conf

سپس خط 69 که bind 127.0.0.1 را به صورت زیر تغییر دهید:

bind 0.0.0.0

پس از تغییرات باید سرویس Redis را Restart کنید تا تغییرات اعمال شود:

sudo systemctl  restart redis

میتوانید با دستور زیر اعمال تغییرات را برسی نمایید:

$ ss -tunelp | grep 6379
 tcp   LISTEN  0    128   0.0.0.0:6379    0.0.0.0:*  users:(("redis-server",pid=30348,fd=6)) uid:986 ino:71091 sk:4 <->

تنظیم Redis برای اعتبار سنجی اتصال Client ها

قبل از انجام هر دستور توسط Client ها میتوانید Authentication یا اعتبار سنجی را برای Client ها ضروری کنید. برای این منظور مانند مرحله قبل وارد فایل کانفیگ Redis شده و requirepass را از حالت کامت خارج نمایید.

requirepass YourStrongPassword

تنظیم Persistent Store بر روی حالت ریکاوری

برای این منظور متغییر appendonly را در فایل تنظیمات Redis بر روی yes قرار داده و تنظیمات را مانند متن زیر انجام دهید:

appendonly yes
appendfilename "appendonly.aof"

سپس برای اعمال تغییرات Redis را ریستارت نمایید.

sudo systemctl  restart redis

تنظیمات فایروال برای Redis

اگر از یک فایروال بر روی سرور فعال است پورت 6379 را باز کنید. ما این عمل را بر روی فایروال firewalld انجام میدهیم. برای باز کردن پورت 6379 کافیست دستورات زیر را در فایروال وارد نمایید:

sudo firewall-cmd --add-port=6379/tcp --permanenent
sudo firewall-cmd --reload

پس از اعمال تغییرات وضعیت 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 2018-12-29 10:11:56 EAT; 9s ago
   Process: 30485 ExecStop=/usr/libexec/redis-shutdown (code=exited, status=0/SUCCESS)
  Main PID: 30500 (redis-server)
     Tasks: 4 (limit: 11510)
    Memory: 6.4M
    CGroup: /system.slice/redis.service
            └─30500 /usr/bin/redis-server 0.0.0.0:6379
 Dec 29 10:11:56 rhel8.local systemd[1]: Stopped Redis persistent key-value database.
 Dec 29 10:11:56 rhel8.local systemd[1]: Starting Redis persistent key-value database…
 Dec 29 10:11:56 rhel8.local systemd[1]: Started Redis persistent key-value database.

اتصال به محیط CLI سرویس Redis

برای اتصال به Redis در حالت لوکال از دستور redis-cli استفاده نمایید:

$ redis-cli
127.0.0.1:6379> INFO
 NOAUTH Authentication required.

خروجی ممکن است مشابه زیر باشد:

127.0.0.1:6379> AUTH 
OK

در صورت لاگین صحیح باید OK را مشاهده نمایید. در صورت ورود کلمه عبور اشتباه ممکن است با ارور زیر مواجه شوید:

127.0.0.1:6379> AUTH WrongPassword
(error) ERR invalid password

پس از ورود میتوانید با دستور INFO اطلاعات Redis را برسی نمایید:

127.0.0.1:6379>  INFO

با استفاده از دستور بالا ممکن است اطلاعات متنوعی برای شما نمایش داده شود. برای کاهش اطلاعات نمایش داده شده میتوانید در کنار دستور از توابع دیگری استفاده نمایید(در اینجا از server استفاده شده است):

127.0.0.1:6379> INFO Server
 Server
 redis_version:4.0.10
 redis_git_sha1:00000000
 redis_git_dirty:0
 redis_build_id:fdf31b4ab3504500
 redis_mode:standalone
 os:Linux 4.18.0-32.el8.x86_64 x86_64
 arch_bits:64
 multiplexing_api:epoll
 atomicvar_api:atomic-builtin
 gcc_version:8.2.1
 process_id:30500
 run_id:d8c5ba56a0735a6831a0b3467c3efa95ac174cdd
 tcp_port:6379
 uptime_in_seconds:222
 uptime_in_days:0
 hz:10
 lru_clock:2563866
 executable:/usr/bin/redis-server
 config_file:/etc/redis.conf

انجام عملیات تست بازدهی یا بنچمارک (Benchmark) گرفتن در Redis

برای تست سرور خود میتوانید با اعمال بار بر روی Redis بازدهی ان را برسی نمایید. برای تست با استفاده از 10 کانکشن همزمان () و ارسال 100,000 درخواست بازدهی Redis را برسی میکنیم.

# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 10
..................................................
100.00% <= 0 milliseconds
 85470.09 requests per second
 ====== LRANGE_500 (first 450 elements) ======
   100000 requests completed in 1.17 seconds
   10 parallel clients
   3 bytes payload
   keep alive: 1
 100.00% <= 0 milliseconds
 85397.09 requests per second
 ====== LRANGE_600 (first 600 elements) ======
   100000 requests completed in 1.18 seconds
   10 parallel clients
   3 bytes payload
   keep alive: 1
 100.00% <= 0 milliseconds
 84530.86 requests per second
 ====== MSET (10 keys) ======
   100000 requests completed in 1.18 seconds
   10 parallel clients
   3 bytes payload
   keep alive: 1
 100.00% <= 0 milliseconds
 84961.77 requests per second

برای استفاده از امکانات بیشتر تست بازدهی میتوانید از راهنمای ان استفاده نمایید:

redis-benchmark --help

برای نمایش های client های لوکال از دستور client list استفاده نمایید:

127.0.0.1:6379> client list 
 id=185 addr=127.0.0.1:54300 fd=8 name= age=75 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client

استفاده از Redis با Python

برای استفاده از Redis و Python باید کتابخانه python مربوط به Redis را نصب نمایید. برای نصب دستور زیر را وارد نمایید:

sudo yum -y install  python-redis

استفاده از Redis و PHP

برای اتصال Redis به PHP میتوانید ماژول های PHP مربوط به ان را نصب نمایید. برای نصب دستور زیر را وارد نمایید:

sudo yum -y install php-pecl-redis


امیدواریم این مقاله آموزشی برای شما مفید بوده باشد.

واحد متحوا

منبع: Redis.io

 

 

نوشته آموزش نصب Redis بر روی سرور Centos 8 / RHEL 8 اولین بار در ویکـی کانـفیـگ پدیدار شد.