网站搜索

如何在基于 CentOS 和 Debian 的系统中安装 Redis 服务器


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 服务器(这是推荐的方法)的说明。我们还将展示如何配置、管理和保护 Redis。由于 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. 接下来,使用 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服务器

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

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

4.然后将提供的模板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 服务器

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

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

9.接下来,测试整个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 "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.然后使用exit命令关闭连接,并重新启动redis服务器。然后,检查 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 步:保护 Linux 中的 Redis 服务器安全

12. 本节适用于打算使用连接到外部网络(例如 Internet)的 Redis 服务器的用户。

重要:将 Redis 暴露在没有任何安全措施的情况下,使其极易被利用;因此,请按如下方式保护 Redis 服务器:

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

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

redis-cli -h

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

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