如何在基于 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 事务等等。
要求:
- 具有最小安装的 CentOS 7 服务器和 RHEL 7 服务器
- 具有最小安装的 Ubuntu 服务器或 Debian 服务器
- 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-aof 和 redis-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。要分享任何想法,请使用下面的评论表。