Redis ,全称 REmote DIctionary Server ,是一个由 Salvatore Sanfilippo 编写的开源高性能 key-value 存储系统。Redis 是基于内存的 Key-Value 数据库,比 Memcache 更先进,支持多种数据结构,高效,快速。用 Redis 可以很轻松解决高并发的数据访问问题,做为时时监控信号处理也非常不错。本文详细介绍如何在 Ubuntu 18.04 上手动安装最新版 Redis 。以下操作是在 root 账号下进行的,非 root 账号需提升到 root 权限。
Ubuntu 18.04 默认源中的 Redis 版本不是最新版,要想通过 apt-get install 的方式安装最新版,首先添加 Redis 源。
首先安装依赖:
apt-get install software-properties-common -y
使用如下命令添加 Redis 源:
add-apt-repository ppa:chris-lea/redis-server -y
使用如下命令安装 Redis:
apt-get update && apt-get install redis-server -y
通过以上命令便可安装最新版 Redis ,终端中输入以下命令查询 Redis 版本:
redis-server -v
命令执行后返回 Redis 版本如下,已经是最新版本:
Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=45d60903d31a0894
Redis 安装完成后服务已经自动启动,通过以下命令查看 Redis 服务状态:
systemctl status redis
命令执行后会返回类似下面的信息,可以看到 Redis 服务已经启动,而且重启系统服务也会自动运行:
redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-01-19 10:48:52 UTC; 12s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Process: 2421 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 2424 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
Main PID: 2445 (redis-server)
Tasks: 4 (limit: 4704)
CGroup: /system.slice/redis-server.service
└─2445 /usr/bin/redis-server 127.0.0.1:6379
配置 Redis 密码将启用 auth
命令,该命令需要客户端进行身份验证才能访问数据库,大大提高安全性。配置 Redis 密码是通过修改 Redis 配置文件完成的。Redis 配置文件为 /etc/redis/redis.conf
。在 redis.conf 文件中有一条对 requirepass 的注释警告:
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
因此,指定一个非常强大和非常长的值作为密码很重要,可以使用 openssl 命令生成一个随机密码:
printf "$(openssl rand 60 | openssl base64 -A) \n"
命令执行后终端返回一串随机字符串,例如:
EDyHgJqw1maAYr+bbjmIKF+1lm9EnGegFrzdy2zNfAdgvCCi1Wz+Xezs1YzVpHPpDZqyl2uNSwRIKSFn
将该随机字符串做为 Redis 密码(注意,以下命令执行时请将随机字符串修改为自己获取的真实随机字符串):
sed -i 's/# requirepass foobared/requirepass EDyHgJqw1maAYr+bbjmIKF+1lm9EnGegFrzdy2zNfAdgvCCi1Wz+Xezs1YzVpHPpDZqyl2uNSwRIKSFn/' /etc/redis/redis.conf
重启 Redis 服务,使密码生效:
systemctl restart redis.service
终端中输入执行以下命令进入 Redis 客户端:
redis-cli
终端中返回结果如下:
root@timelate:~# redis-cli
127.0.0.1:6379>
输入 ping 并回车,终端中返回结果如下:
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
提示需要认证,说明密码已经生效。继续在终端中输入以下命令,进行密码认证:
auth EDyHgJqw1maAYr+bbjmIKF+1lm9EnGegFrzdy2zNfAdgvCCi1Wz+Xezs1YzVpHPpDZqyl2uNSwRIKSFn
命令执行后终端返回结果如下,提示认证成功:
127.0.0.1:6379> auth EDyHgJqw1maAYr+bbjmIKF+1lm9EnGegFrzdy2zNfAdgvCCi1Wz+Xezs1YzVpHPpDZqyl2uNSwRIKSFn
OK
终端中输入 exit 并回车,退出 Redis 客户端。
通过以上步骤便可在 Ubuntu 18.04 上手动安装最新版 Redis ,本文结束。