CentOS और डेबियन आधारित सिस्टम में Redis Server को कैसे स्थापित करें


Redis एक खुला स्रोत, उच्च-प्रदर्शन और लचीला इन-मेमोरी डेटा संरचना स्टोर (कुंजी मूल्य प्रारूप) - एक डेटाबेस, कैश और संदेश ब्रोकर के रूप में उपयोग किया जाता है। यह ANSI C में लिखा गया है और यह सबसे ज्यादा चलता है अगर बाहरी निर्भरता के बिना लिनक्स सहित सभी यूनिक्स जैसे ऑपरेटिंग सिस्टम (तैनाती के लिए अनुशंसित) नहीं हैं।

यह फीचर-समृद्ध है, कई प्रोग्रामिंग भाषाओं और डेटा संरचनाओं का समर्थन करता है, जिसमें स्ट्रिंग्स, हैश, सूचियां, सेट, श्रेणी प्रश्नों के साथ सॉर्ट किए गए सेट, दूसरों के बीच बिटमैप्स शामिल हैं।

  • Supports most programming languages including C, Bash, Python, PHP, Node.js, Perl, Ruby just to mention but a few.
  • Has inherent replication, Lua scripting, LRU eviction, transactions as well as varying levels of on-disk persistence.
  • Provides high availability through Redis Sentinel and automatic partitioning via Redis Cluster.
  • Supports running atomic operations.
  • It works with an in-memory dataset to attain remarkable performance.
  • Supports trivial-to-setup master-slave asynchronous replication.
  • Supports automatic failover.
  • Enables you to save the dataset to disk infrequently for a given period of time, or by appending each command to a log.
  • Allows optional disabling of persistence.
  • Supports publish/subscribe messaging.
  • Also supports MULTI, EXEC, DISCARD and WATCH transactions and many more.
  1. A CentOS 7 Server and RHEL 7 Server with Minimal Install
  2. A Ubuntu Server or Debian Server with Minimal Install
  3. GCC compiler and libc

इस ट्यूटोरियल में, हम लिनक्स में स्रोत से रेडिस सर्वर (जो अनुशंसित विधि है) स्थापित करने के बारे में निर्देश देंगे। हम यह भी दिखाएंगे कि रेडिस को कैसे कॉन्फ़िगर करें, प्रबंधित करें और सुरक्षित करें। चूंकि 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। अगला, विशेष URL का उपयोग करके नवीनतम स्थिर Redis संस्करण को डाउनलोड और संकलित करें जो हमेशा wget कमांड का उपयोग करके नवीनतम स्थिर Redis को इंगित करता है।

$ 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-server – redis server.
  • redis-sentinel – redis sentinel executable (monitoring and failover).
  • redis-cli – a CLI utility to interact with redis.
  • redis-benchmark – used to check redis performances.
  • redis-check-aof and redis-check-dump – useful in the rare event of corrupted data files.

चरण 2: लिनक्स में रेडिस सर्वर को कॉन्फ़िगर करें

4। अगला, आपको इस ट्यूटोरियल के उद्देश्य के लिए init सिस्टम ( systemd ) द्वारा प्रबंधित किए जाने वाले विकास परिवेश के लिए रेडिस को कॉन्फ़िगर करने की आवश्यकता है । Redis config फ़ाइलों और आपके डेटा को संग्रहीत करने के लिए आवश्यक निर्देशिकाएँ बनाकर प्रारंभ करें:

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

4। फिर आपके द्वारा ऊपर दी गई निर्देशिका में प्रदान की गई टेम्पलेट रेडिस कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाएँ।

$ 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। अब आपको रेडीम के लिए एक सिस्टमड यूनिट फ़ाइल बनाने की आवश्यकता है ताकि निम्नलिखित कमांड को चलाकर डेमन को नियंत्रित किया जा सके।

$ 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 Server का प्रबंधन और परीक्षण करें

8। एक बार जब आप सभी आवश्यक कॉन्फ़िगरेशन कर लेते हैं, तो आप अब Redis सर्वर को अभी के लिए शुरू कर सकते हैं, इसे सिस्टम बूट पर ऑटो-स्टार्ट करने के लिए सक्षम कर सकते हैं; फिर निम्नानुसार इसकी स्थिति देखें।

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

9। अगला, परीक्षण करें कि क्या पूरा रेडिस सेटअप ठीक काम कर रहा है या नहीं। रेडिस सर्वर के साथ बातचीत करने के लिए, 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। फिर <कोड> निकास कमांड के साथ कनेक्शन बंद करें और रेडिस सर्वर को पुनरारंभ करें। बाद में जांचें कि क्या 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: लिनक्स में रेडिस सर्वर को सुरक्षित करना

12। यह खंड उन उपयोगकर्ताओं के लिए है जो इंटरनेट जैसे बाहरी नेटवर्क से जुड़े एक रेडिस सर्वर का उपयोग करने का इरादा रखते हैं।

लाल

  • block connections to the redis port in the system firewalled
  • set bind directive to loopback interface: 127.0.0.1
  • set requirepass option so that clients will be required to authenticate using the AUTH command.
  • setup SSL tunneling to encrypt traffic between Redis servers and Redis clients.

अधिक उपयोग जानकारी के लिए, नीचे दी गई कमांड चलाएँ:

$ redis-cli -h

आप अधिक सर्वर कमांड पा सकते हैं और Redis होमपेज से अपने एप्लिकेशन के भीतर रेडिस का उपयोग करना सीख सकते हैं: https://redis.io/

इस ट्यूटोरियल में, हमने दिखाया कि लिनक्स में कैसे स्थापित करें, कॉन्फ़िगर करें, साथ ही सुरक्षित रेडिस का प्रबंधन करें। किसी भी विचार को साझा करने के लिए, नीचे दिए गए टिप्पणी फ़ॉर्म का उपयोग करें।