如何在CentOS和基于Debian的系统中安装Redis Server

在本教程中,我们将提供有关如何从CentOS和基于Debian的Linux中的源安装,配置,管理和保护Redis Server的说明

Redis是一个开源,高性能和灵活的内存数据结构存储(键值格式) - 用作数据库,缓存和消息代理。 它是用ANSI C编写的,并且在绝大多数Unix类操作系统(包括Linux(推荐用于部署))上运行,而无需外部依赖。

它是功能丰富的,支持多种编程语言和数据结构,包括字符串,散列,列表,集合,排序集与范围查询,位图等。

Redis特点:

  • 支持大多数编程语言,包括C,Bash,Python,PHP,Node.js,Perl,Ruby等等。
  • 具有固有的复制,Lua脚本,LRU驱逐,事务以及不同级别的磁盘持久性。
  • 通过Redis Sentinel提供高可用性,并通过Redis Cluster进行自动分区。
  • 支持运行原子操作。
  • 它与内存中的数据集一起工作,以获得卓越的性能。
  • 支持简单的设置主从异步复制。
  • 支持自动故障切换。
  • 使您能够在一段给定的时间内不经常地将数据集保存到磁盘,或通过将每个命令附加到日志中。
  • 允许选择性禁用持久性。
  • 支持发布/订阅消息。
  • 还支持MULTI,EXEC,DISCARD和WATCH交易等等。

要求:

  1. CentOS 7服务器RHEL 7服务器 ,安装最少
  2. 一个Ubuntu服务器Debian服务器与最小的安装
  3. GCC编译器和libc

在本教程中,我们将介绍如何在Linux中从源安装Redis Server(这是推荐的方法)。 我们还将展示如何配置,管理和保护Redis。 由于Redis服务于内存中的所有数据,我们强烈建议您使用本指南使用高内存VPS服务器

第1步:从源安装Redis Server

1.首先安装所需的构建依赖项。

--------------- On CentOS / RHEL / Fedora --------------- 
# yum groupinstall "Development Tools"
# dnf groupinstall "Development Tools"
--------------- On Debian / Ubuntu --------------- 
$ sudo apt install build-essential

接下来,使用wget命令使用始终指向最新的稳定的Redis的特殊URL下载并编译最新的稳定的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编译之后,Redis发行版中的src目录填充有与Redis不同的以下可执行文件:

  • redis-server -redis服务器。
  • redis-sentinel - redis sentinel可执行文件(监控和故障切换)。
  • redis-cli - 与redis交互的CLI实用程序。
  • redis-benchmark - 用来检查redis的表现。
  • redis-check-aofredis-check-dump - 在极少数据损坏的数据文件中很有用。

第2步:在Linux中配置Redis Server

4.接下来,您需要为由init系统管理的开发环境配置redis(系统为本教程的目的)。 首先创建用于存储redis配置文件和数据的必需目录:

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

然后将所提供的模板redis配置文件复制到上面创建的目录中。

$ 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单元文件

7.现在,您需要为redis创建一个systemd单元文件,以便通过运行以下命令来控制守护程序。

$ 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步:在Linux中管理和测试Redis Server

8.执行所有必要的配置后,现在可以启动Redis服务器,使其在系统启动时自动启动; 然后查看其状态如下。

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

接下来,测试整个redis设置是否正常工作。 要与redis服务器交互,请使用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 "Howtoing is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Howtoing is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10.然后使用exit命令关闭连接,然后重新启动redis服务器。 然后检查mykey是否仍然存储在服务器上,如下所示:

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

11.要删除密钥,请使用delete命令,如下所示:

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

第5步:在Linux中保护Redis Server

12.本节适用于打算使用连接到Internet等外部网络的redis服务器的用户。

重要提示 :在没有任何安全性的情况下将重新安装到互联网上,非常容易利用; 因此可以如下安装redis服务器:

  • 阻止与系统中redis端口的连接防火墙
  • 将bind指令设置为loopback接口:127.0.0.1
  • 设置requirepass选项,以便客户端需要使用AUTH命令进行身份验证。
  • 设置SSL隧道以加密Redis服务器和Redis客户端之间的流量。

有关更多使用信息,请运行以下命令:

$ redis-cli -h

您可以在Redis Homepage中找到更多服务器命令,并了解如何在应用程序中使用redis: https : //redis.io/

在本教程中,我们展示了如何在Linux中安装,配置,管理以及安全的Redis。 要分享任何想法,请使用下面的注释表单。