如何在Ubuntu 18.04上安装和配置Redis
Redis是一个开源的内存中数据结构存储。
它可以用作数据库,缓存和消息代理,并支持各种数据结构,例如字符串,哈希,列表,集合等。
Redis通过Redis Sentinel提供高可用性,包括监视,通知,自动故障转移。
它还使用Redis Cluster在多个Redis节点之间提供自动分区。
本教程介绍了如何在Ubuntu 18.04服务器上安装和配置Redis。
相同的说明适用于Ubuntu 16.04和任何基于Ubuntu的发行版。
准备工作
在开始本教程之前,请确保我们以具有sudo特权的用户身份登录。
在Ubuntu上安装Redis
Redis软件包包含在默认的Ubuntu 18.04存储库中。
安装非常简单,只需执行以下步骤:
- 首先通过在SSH终端中运行以下命令来更新apt软件包列表:
sudo apt update
- 通过键入以下命令安装Redis:
sudo apt install redis-server
- 安装完成后,Redis服务将自动启动。要检查服务的状态,请输入以下命令:
sudo systemctl status redis-server
我们应该会看到类似以下内容的内容:
● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2016-10-28 05:10:45 PDT; 2h ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Main PID: 2226 (redis-server) Tasks: 4 (limit: 2319) CGroup: /system.slice/redis-server.service `-2226 /usr/bin/redis-server 0.0.0.0:6379
如果服务器上禁用了IPv6,则Redis服务将无法启动。
恭喜,这时我们已在Ubuntu 18.04服务器上安装并运行Redis。
配置Redis远程访问
默认情况下,Redis不允许远程连接。
我们只能从运行Redis的计算机127.0.0.1(localhost)连接到Redis服务器。
仅当我们要从远程主机连接到Redis服务器时,才执行以下步骤。
如果使用单个服务器设置,并且应用程序和Redis在同一台计算机上运行,则不应启用远程访问。
要将Redis配置为接受远程连接,请使用文本编辑器打开Redis配置文件:
sudo nano /etc/redis/redis.conf
找到以'bind 127.0.0.1 :: 1'开头的行,并将'127.0.0.1'替换为'0.0.0.0'。
/etc/redis/redis.conf
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES # JUST COMMENT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 ::1
保存文件并关闭编辑器。
重新启动Redis服务以使更改生效:
sudo systemctl restart redis-server
使用以下命令来验证redis正在侦听端口“ 6379”上的所有接口:
ss -an | grep 6379
我们应该看到类似下面的内容。
“ 0.0.0.0”表示计算机上的所有IPv4地址。
tcp LISTEN 0 128 0.0.0.0:6379 0.0.0.0:* tcp LISTEN 0 128 [::]:6379 [::]:*
接下来,我们需要添加一个防火墙规则,以启用来自远程计算机的TCP端口“ 6379”上的流量。
假设我们正在使用“ UFW”来管理防火墙,并且要允许从“ 192.168.121.0/24”子网进行访问,则可以运行以下命令:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
此时,Redis服务器将接受TCP端口6379上的远程连接。
确保将防火墙配置为仅接受来自受信任IP范围的连接。
要验证所有设置是否正确,我们可以尝试使用“ redis-cli”实用程序从远程计算机ping Redis服务器:
redis-cli -h <REDIS_IP_ADDRESS> ping
该命令应返回“ PONG”的响应:
PONG