一、下载Redis版本
1.1 下载压缩包
登录 Redis官网 找到最新版本,如下图:
- 可以直接点击超链接下载最新版本的压缩包到本地,然后使用
scp
命令推送到服务端,scp
命令拷贝命令如下:
scp ~/Downloads/redis-6.2.6.tar.gz [用户名]@[服务器地址]:~/
- 也可以右键点击超级链接,在弹出的菜单中选择
复制链接地址
,然后登录服务器使用wget
命令下载压缩包,示例命令如下:
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
二、编译安装Redis
2.1 解压Redis
使用tar
命令解压压缩文件,并移动到/usr/local
目录下:
tar zxvf redis-6.2.6.tar.gz
mv redis-6.2.6 /usr/local/redis
2.2 编译&安装
在/usr/local/redis
目录下执行编译和安装的命令
cd /usr/local/redis
make PREFIX=/usr/local/redis install
这里多了一个关键字 PREFIX=
这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录,假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录。如果编译成功将输出类似下面的信息:
......
Hint: It's a good idea to run 'make test' ;)
INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
make[1]: Leaving directory '/usr/local/redis/src'
2.3 配置Redis
使用 vim
命令打开 redis.conf
文件修改配置
- 修改
daemonize
改为yes
开启守护线程(建议):
daemonize:yes
: 代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。daemonize:no
: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
################################# GENERAL #####################################
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
# When Redis is supervised by upstart or systemd, this parameter has no impact.
daemonize yes
- 修改
maxmemory
设置内存最大使用限制(可选):
# In short... if you have replicas attached it is suggested that you set a lower
# limit for maxmemory so that there is some free RAM on the system for replica
# output buffers (but this is not needed if the policy is 'noeviction').
#
# maxmemory
maxmemory 1024MB
- 修改配置允许外网访问(可选):
- 使用注释符号
#
注释bind 127.0.0.1
这一行 :
tips:bind
这一行配置使redis绑定127.0.0.1
本地回环地址,因此redis服务只能通过本机的客户端连接。而将bind
选项设置为空的话,将允许接受所有来自于可用网络接口的连接。# bind 127.0.0.1
- 设置
protected-mode
为yes
:
protected-mode
即保护模式,默认是开启状态,只允许本地客户端连接。这里将其改成no,就可以设置密码或添加bind来连接。protected-mode yes
- 设置永久密码(可选),需重启才能生效:
requirepass password #连接Redis密码是:password
三、设置systemd方式启动及管理
3.1 执行以下命令创建打开redis.service
sudo vim /etc/systemd/system/redis.service
3.2 将以下内容复制到文件中,并执行:wq
保存脚本
[Unit]
Description=Redis
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3.3 重载服务列表
执行以下命令重载服务列表
systemctl daemon-reload
四、启动Redis 6版本
4.1 启动Redis
- 启动redis命令:
systemctl start redis
- 停止redis命令:
systemctl stop redis
- 设置redis开机启动:
systemctl enable redis
- 查看redis状态:
systemctl status redis
4.2 检查Redis
检查Redis是否运行常用的三个命令:
- 使用
ss
命令查看端口:
ss -an | grep 6379
如果Redis已启动则会看到类似的输出:
tcp LISTEN 0 511 127.0.0.1:6379 *:*
- 使用
netstat
命令查看端口:
netstat -lanp | grep 6379
如果Redis已启动则会看到类似的输出:
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 2934/redis-server 1
- 使用
ps
和grep
命令组合查看
ps -ef | grep redis
如果Redis已启动则会看到类似的输出:
root 2934 1 0 01:45 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6379
root 3014 2804 0 01:46 pts/0 00:00:00 grep --color=auto redis
4.3 开启防火墙
如果以上命令都无法查看到运行的Redis端口,使用 systemctl status redis
看到Redis处于运行状态,那么大概率是被防火墙拦截了。以CentOS 8系统为例,为Redis开启 6379
端口的命令如下:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
上面的命令创建一个名为redis的 zone,打开了端口 6379
并且允许从局域网访问。
此时,Redis 服务器将会接受从6379
TCP 端口来的远程连接。
确保你的防火墙被配置好,仅仅接受来自可信 IP 范围的访问。
想要验证所有设置都设置好了,你可以尝试使用redis-cli
从你的远程机器上 ping 一下 Redis 服务器。
五、连接Redis
4.1 使用redis-cli连接
redis-cli
的连接命令格式 redis-cli -h [您的主机] -p [端口号]
,示例如下:
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379
如果连接成功将看到类似以下的输出:
127.0.0.1:6379>
在后面输入ping
命令后,将收到一个 PONG
的回复,示例如下:
127.0.0.1:6379> ping
PONG
到此为止,我们已经完全了Redis的安装和配置,如果您还有其他问题欢迎在评论区留言。
六、参考链接:
1)https://blog.csdn.net/zhizungege/article/details/110876232
2)https://www.jianshu.com/p/8e13ff832dfb
3)https://juejin.cn/post/7037005709317259272
4)https://blog.csdn.net/lcyaiym/article/details/76863802
5)https://www.cnblogs.com/pqchao/p/6558688.html