Linux系统(九):安装Redis(2021最新最详细)
Linux系统发行版ContOS7演示安装Redis
为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。
更多命令学习推荐:
Linux安装JDK分为两种:手动安装和yum安装。
1、下载Redis安装程序包
Redis官方网站手动下载,或命令下载:(也可以选择Redis中文网下载),或直接参考Redis官网下载安装说明
1 [xsge@localhost downfiles]$ wget http://download.redis.io/releases/redis-6.0.8.tar.gz
如果是手动下载,请使用XFTP将文件上传至Linux系统中。
Reids官网版本更新早与Redis中文网!!!
查看文件:ll
解压文件:tar -xvf redis-6.0.8.tar.gz
1 [xsge@localhost downfiles]$ ll ####查看文件 2 总用量 190616 3 -rw-rw-r--. 1 xsge xsge 11282879 10月 6 22:33 apache-tomcat-9.0.39.tar.gz 4 -rw-r--r--. 1 root root 1664 4月 8 2020 CentOS-Base.repo.backup 5 -rw-rw-r--. 1 xsge xsge 4131 10月 15 11:25 jdk-8u261-linux-x64.tar.gz 6 -rw-rw-r--. 1 xsge xsge 26024 4月 25 2019 mysql80-community-release-el7-3.noarch.rpm 7 -rw-rw-r--. 1 xsge xsge 181613808 6月 3 18:08 mysql-community-server-5.7.31-1.el7.x86_64.rpm 8 -rw-rw-r--. 1 xsge xsge 2247528 9月 10 19:11 redis-6.0.8.tar.gz 9 [xsge@localhost downfiles]$ tar -xvf redis-6.0.8.tar.gz ####解压Redis安装包
解压redis-6.0.8.tar.gz ,并把redis-6.0.8目录移动到/usr/local目录(或者opt目录:通常程序文件放置在/opt目录下)
1 [root@localhost downfiles]# mv redis-6.0.8 /usr/local/redis-6.x #推荐(如果redis-6.x目录不存在,请进入local目录新建:mkdir redis-6.x)
或者 2 [root@localhost downfiles]# mv redis-6.0.8 /opt
2、安装
1、环境安装
Redis是C语言开发,安装Redis需要先将Redis的源码进行编译,编译依赖gcc环境。因此需要安装GCC,安装过程中有提示时,输入Y即可。(make命令必须在Redis程序目录下执行)
####安装GCC环境 [root@localhost ~]# yum install gcc-c++ ####查看GCC版本(ContOS7默认安装4.8.5版本) [root@localhost ~]# gcc -v ####进入Redis程序目录 cd /usr/local/redis-6.x ####make命令,下载环境并编译Redis程序(CentOS7执行会报错) make
常见错误如下图:原因是因为gcc版本过低,yum安装的gcc是4.8.5的。因此需要升级gcc。升级gcc到5.3以上版本。(如果没有此错误忽略不计)
CentOS7安装有默认GCC环境,默认4.8.5版本!编译 redis-6.x,要求 C5.3以上 编译器,否则会遇到大量的错误。主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型 _Atomic 。但是注意 gcc 从 4.9 版本才开始正式和完整地支持 stdatomic(gcc-4.8.5 部分支持)。centos7默认的 gcc 版本为:4.8.5 < 5.3 无法编译
2、升级GCC环境
虽然此次编译出错,但是仍有一些文件已经编译生成,所以建议清除已经编译的文件。(如果没有编译出错,忽略不计)(make命令必须在Redis程序目录下执行)
1 # 当Redis编译出错时,使用命令清除已编译生成的文件(不执行也可以:不推荐) 2 make distclean 3 ####升级GCC环境为9版本 4 yum -y install centos-release-scl 5 yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 6 7 -------环境设置---------- 8 #临时有效,退出 shell 或重启会恢复原 gcc 版本 9 scl enable devtoolset-9 bash 10 11 #长期有效 12 echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
参考:GCC源码地址里面有GCC的各个版本,进入Redis中文网评论里也有网友说明GCC升级方式方法。
2、Redis安装
参考官网安装说明!
1、进入Redis程序目录:cd /usr/local/redis-6.x/
2、编译Redis程序:make
3、安装Redis:make install
1 ####进入Redis程序目录。 2 [root@localhost redis-6.0.8]# cd /usr/local/redis-6.x/redis-6.0.8 3 4 ####执行Redis程序编译 5 [root@localhost redis-6.0.8]# make 6 7 ####执行安装 8 [root@localhost redis-6.0.8]# make install ##将Redis安装在Linux默认位置:/usr/local/bin 9 或者(推荐) 10 [root@localhost redis-6.0.8]# make install PREFIX=/usr/local/redis-6.x ##将Redis安装在指定位置: /usr/local/redis-6.x/bin (bin是安装自动生成的) 11 12 ####进入redis-6.x目录 13 [root@localhost redis-6.0.8]# cd /usr/local/redis-6.x 14 ####查看所有文件 15 [root@localhost redis6.x]# ls 16 bin redis-6.0.8 17 ####进入bin目录:查看安装的Redis命令 18 [root@localhost redis6.x]# cd bin 19 [root@localhost bin]# ll 20 总用量 46088 21 -rwxr-xr-x. 1 root root 6399120 10月 20 14:50 redis-benchmark 22 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-aof 23 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-rdb 24 -rwxr-xr-x. 1 root root 6727200 10月 20 14:50 redis-cli 25 lrwxrwxrwx. 1 root root 12 10月 20 14:50 redis-sentinel -> redis-server 26 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-server
4、配置Redis。
复制redis核心配置文件在安装命令目录中(默认位置在/usr/local/bin)。我在安装时选择了安装在指定位置(/usr/local/redis-6.x/bin),redis配置文件需要放在名录目录下。
说明redis配置文件:在redis程序目录中
1 ####进入redis安装目录bin 2 [root@localhost bin]# cd /usr/local/redis6.x/bin/ 3 ####创建目录conf:用于存放配置文件 4 [root@localhost bin]# mkdir conf 5 ####查看创建结果 6 [root@localhost bin]# ll 7 总用量 46088 8 drwxr-xr-x. 2 root root 6 10月 20 15:10 conf 9 -rwxr-xr-x. 1 root root 6399120 10月 20 14:50 redis-benchmark 10 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-aof 11 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-rdb 12 -rwxr-xr-x. 1 root root 6727200 10月 20 14:50 redis-cli 13 lrwxrwxrwx. 1 root root 12 10月 20 14:50 redis-sentinel -> redis-server 14 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-server 15 ####复制Redis程序目录中的配置文件放入到redis命令所在conf目录中 16 [root@localhost bin]# cp /usr/local/redis6.x/redis-6.0.8/redis.conf /usr/local/redis6.x/bin/conf/ 17 ####进入redis命令conf目录 18 [root@localhost bin]# cd conf/ 19 ####查看配置文件 20 [root@localhost conf]# ll 21 22 -rw-r--r--. 1 root root 84642 10月 20 15:10 redis.conf
3、Redis启动测试
1、进入Redis安装目录bin
2、使用命令启动Redis服务(测试Redis服务会占用一个窗口)
1 ####进入redis命令目录 2 [root@localhost ~]# cd /usr/local/redis6.x/bin/ 3 ####启动reidis服务:并指定使用的配置文件 4 [root@localhost bin]# ./redis-server conf/redis.conf 5 2414:C 20 Oct 2020 15:53:10.901 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 6 2414:C 20 Oct 2020 15:53:10.901 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=2414, just started 7 2414:C 20 Oct 2020 15:53:10.901 # Configuration loaded 8 2414:M 20 Oct 2020 15:53:10.902 * Increased maximum number of open files to 10032 (it was originally set to 1024). 9 _._ 10 _.-``__ ''-._ 11 _.-`` `. `_. ''-._ Redis 6.0.8 (00000000/0) 64 bit 12 .-`` .-```. ```\/ _.,_ ''-._ 13 ( ' , .-` | `, ) Running in standalone mode 14 |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 15 | `-._ `._ / _.-' | PID: 2414 16 `-._ `-._ `-./ _.-' _.-' 17 |`-._`-._ `-.__.-' _.-'_.-'| 18 | `-._`-._ _.-'_.-' | http://redis.io 19 `-._ `-._`-.__.-'_.-' _.-' 20 |`-._`-._ `-.__.-' _.-'_.-'| 21 | `-._`-._ _.-'_.-' | 22 `-._ `-._`-.__.-'_.-' _.-' 23 `-._ `-.__.-' _.-' 24 `-._ _.-' 25 `-.__.-'
3、新开连接窗口,启动客户端连接redis服务器
1 ####进入reids命令目录 2 [root@localhost ~]# cd /usr/local/redis6.x/bin/ 3 ####启动客户端连接服务器:并指定端口 4 [root@localhost bin]# ./redis-cli -p 6379 5 ####测试连接 6 127.0.0.1:6379> ping 7 PONG 8 ####停止Redis服务,并断开连接 9 127.0.0.1:6379> shutdown 10 not connected> exit #### 退出redis
11 [root@localhost bin]#
4、配置Redis为后台启动
以上的Redis安装和启动可以算是临时服务,当开启服务后,Redis服务窗口是无法在使用的,可以将Redis服务设置为后台启动服务,避免Linux窗口连接的浪费。
1、VIM编译Redis配置文件redis.conf
2、开启Redis后台服务(默认是关闭的)
步骤1:vim /usr/local/redis6.x/bin/conf/redis.conf #打开编辑
(键入命令 :set nu 显示行号)
步骤2:输入i、I、a等进入插入模式
步骤3:将daemonize no 改成daemonize yes(表示开启redis后台服务:约225行)
步骤4:按ESC退出插入模式,输入:wq 保存退出
3、测试
1 ####启动redis服务 2 [root@localhost bin]# ./redis-server conf/redis.conf 3 ####此时redis服务已经作为后台服务启动,不再占用窗口,直接在本窗口启用客户端测试连接 4 [root@localhost bin]# ./redis-cli -p 6379 5 127.0.0.1:6379> ping 6 PONG 7 127.0.0.1:6379>
4、查看Redis服务进程
1 ####查看进程服务,过滤获取redis的 2 [root@localhost bin]# ps -ef | grep redis 3 root 2811 1 0 16:23 ? 00:00:00 ./redis-server 127.0.0.1:6379 4 root 2824 2352 0 16:23 pts/1 00:00:00 ./redis-cli -p 6379 5 root 2854 1769 0 16:27 pts/0 00:00:00 grep --color=auto redis 6 [root@localhost bin]#
5、Redis的关闭
Redis客户端关闭或进程关闭(pkill redis)
1 [root@localhost bin]# ./redis-cli -p 6379 ##启动客户端连接Redis服务 2 127.0.0.1:6379> ping 3 PONG 4 127.0.0.1:6379> shutdown ##关闭服务端连接 5 not connected> exit ##退出
或者
6 [root@localhost bin]# pkill redis ##结束Redis进程
5、卸载
删除Redis安装和Redis解压的文件即可
1 #删除安装目录 2 rm -rf /usr/local/redis-6.x/redis-6.0.8 3 #删除所有redis相关命令脚本 4 rm -rf /usr/local/redis-6.x/bin/redis-*