CentOS ve Debian Tabanlı Sistemlere Redis Sunucusu Nasıl Kurulur


Redis, veritabanı, önbellek ve mesaj aracısı olarak kullanılan, açık kaynaklı, yüksek performanslı ve esnek bir bellek içi veri yapısı deposudur (anahtar/değer biçimi). ANSI C ile yazılmıştır ve Linux (dağıtım için önerilir) dahil olmak üzere tüm Unix benzeri işletim sistemlerinde olmasa da çoğunda harici bağımlılıklar olmadan çalışır.

Zengin özelliklere sahiptir, dizeler, karmalar, listeler, kümeler, aralık sorgularıyla sıralanmış kümeler, bitmapler ve diğerleri dahil olmak üzere birçok programlama dilini ve veri yapısını destekler.

Redis'in Özellikleri:

  • Sadece birkaçını saymak gerekirse C, Bash, Python, PHP, Node.js, Perl, Ruby dahil çoğu programlama dilini destekler.
  • İçsel çoğaltma, Lua komut dosyası oluşturma, LRU tahliyesi, işlemlerin yanı sıra çeşitli düzeylerde disk üzerinde kalıcılığa sahiptir.
  • Redis Sentinel aracılığıyla yüksek kullanılabilirlik ve Redis Cluster aracılığıyla otomatik bölümleme sağlar.
  • Atomik operasyonların yürütülmesini destekler.
  • Olağanüstü performans elde etmek için bellek içi veri kümesiyle çalışır.
  • Kurulumu basit olan ana-bağımlı eşzamansız çoğaltmayı destekler.
  • Otomatik yük devretmeyi destekler.
  • Belirli bir süre boyunca veri kümesini seyrek aralıklarla veya her komutu bir günlüğe ekleyerek diske kaydetmenize olanak tanır.
  • Kalıcılığın isteğe bağlı olarak devre dışı bırakılmasına izin verir.
  • Yayınlama/abone olma mesajlarını destekler.
  • Ayrıca MULTI, EXEC, DISCARD ve WATCH işlemlerini ve çok daha fazlasını destekler.

Gereksinimler:

  1. Minimum Kurulumla CentOS 7 Sunucusu ve RHEL 7 Sunucusu
  2. Minimal Kurulumlu bir Ubuntu Sunucusu veya Debian Sunucusu
  3. GCC derleyicisi ve libc

Bu eğitimde, Redis Sunucusunun Linux'ta kaynaktan nasıl kurulacağına (önerilen yöntem budur) ilişkin talimatlar sunacağız. Redis'in nasıl yapılandırılacağını, yönetileceğini ve güvenliğinin nasıl sağlanacağını da göstereceğiz. Redis tüm verileri bellekten sunduğundan, bu kılavuzla birlikte yüksek bellekli bir VPS Sunucusu kullanmanızı önemle öneririz.

Adım 1: Redis Sunucusunu Kaynaktan Kurun

1. Öncelikle gerekli derleme bağımlılıklarını yükleyin.

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

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

2. Ardından, wget komutunu kullanarak her zaman en son kararlı Redis'e işaret eden özel URL'yi kullanarak en son kararlı Redis sürümünü indirin ve derleyin.

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 derlemesinden sonra Redis dağıtımı içindeki src dizini, Redis'in parçası olan aşağıdaki farklı yürütülebilir dosyalar ile doldurulur:

  • redis-server – redis sunucusu.
  • redis-sentinel – redis sentinel yürütülebilir dosyası (izleme ve yük devretme).
  • redis-cli – redis ile etkileşimde bulunmak için kullanılan bir CLI yardımcı programı.
  • redis-benchmark – redis performanslarını kontrol etmek için kullanılır.
  • redis-check-aof ve redis-check-dump – nadiren de olsa veri dosyalarının bozulması durumunda kullanışlıdır.

Adım 2: Linux'ta Redis Sunucusunu Yapılandırma

4. Ardından, init sistemi (bu eğitimin amacına uygun olarak systemd) tarafından yönetilecek bir geliştirme ortamı için Redis'i yapılandırmanız gerekir. . Redis yapılandırma dosyalarını ve verilerinizi depolamak için gerekli dizinleri oluşturarak başlayın:

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

4. Ardından, sağlanan şablon Redis yapılandırma dosyasını yukarıda oluşturduğunuz dizine kopyalayın.

sudo cp redis.conf /etc/redis/

5. Şimdi yapılandırma dosyasını açın ve birkaç ayarı aşağıdaki gibi güncelleyin.

sudo vi /etc/redis/redis.conf

6. Daha sonra aşağıdaki seçenekleri arayın ve yerel ortam ihtiyaçlarınıza göre bunların varsayılan değerlerini değiştirin (veya kullanın).

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

Adım 3: Redis Systemd Birim Dosyası Oluşturun

7. Şimdi aşağıdaki komutu çalıştırarak arka plan programını kontrol etmek amacıyla redis için bir systemd birim dosyası oluşturmanız gerekir.

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

Ve aşağıdaki yapılandırmayı ekleyin:

[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

Dosyayı kaydedip kapatın.

Adım 4: Linux'ta Redis Sunucusunu Yönetin ve Test Edin

8. Gerekli tüm yapılandırmaları gerçekleştirdikten sonra, artık Redis sunucusunu başlatabilirsiniz; şimdilik sistem önyüklemesinde otomatik olarak başlatılmasını etkinleştirin; daha sonra durumunu aşağıdaki gibi görüntüleyin.

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

9. Ardından tüm redis kurulumunun düzgün çalışıp çalışmadığını test edin. Redis sunucusuyla etkileşim kurmak için redis-cli komutunu kullanın. Sunucuya bağlandıktan sonra birkaç komut çalıştırmayı deneyin.

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. Daha sonra exit komutuyla bağlantıyı kapatın ve redis sunucusunu yeniden başlatın. Daha sonra, aşağıda gösterildiği gibi mykey'in hala sunucuda saklanıp saklanmadığını kontrol edin:

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

11. Bir anahtarı silmek için silme komutunu aşağıdaki şekilde kullanın:

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

Adım 5: Linux'ta Redis Sunucusunun Güvenliğini Sağlama

12. Bu bölüm, İnternet gibi harici bir ağa bağlı bir redis sunucusu kullanmayı düşünen kullanıcılara yöneliktir.

Önemli: Redis'in herhangi bir güvenlik olmadan İnternet'te kullanıma sunulması, bundan yararlanmayı son derece kolaylaştırır; bu nedenle redis sunucusunu aşağıdaki şekilde güvence altına alın:

  • güvenlik duvarı ile korunan sistemdeki redis bağlantı noktasına olan bağlantıları engelle
  • bağlama yönergesini geri döngü arayüzüne ayarlayın: 127.0.0.1
  • istemcilerin AUTH komutunu kullanarak kimlik doğrulaması yapmalarının gerekmesi için requirepass seçeneğini ayarlayın.
  • Redis sunucuları ve Redis istemcileri arasındaki trafiği şifrelemek için SSL tüneli kurun.

Daha fazla kullanım bilgisi için aşağıdaki komutu çalıştırın:

redis-cli -h

Redis Ana Sayfasından daha fazla sunucu komutu bulabilir ve uygulamanızda redis'i nasıl kullanacağınızı öğrenebilirsiniz: https://redis.io/

Bu eğitimde Redis'in Linux'ta nasıl kurulacağını, yapılandırılacağını, yönetileceğini ve güvenliğinin nasıl sağlanacağını gösterdik. Herhangi bir düşüncenizi paylaşmak için aşağıdaki yorum formunu kullanın.