🎈 1 参考文档
Centos7 安装 redis 6 | 努力就是魅力-gitee
Redis的安装和部署 | __kelly _-博客园
🚀2 Redis的安装
- 首先上官网下载Redis,地址:http://redis.io/download,此处下载稳定版6.2.6。
🚀3 安装gcc
-
因为redis-5以上要使用gcc5.3以上版本进行编译,但是Centos7默认安装的gcc版本是4.8.5,所以需要升级gcc版本。
# 安装gcc yum -y install gcc tcl # 查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5 gcc -v
-
升级gcc的操作。
# 升级到gcc 9.3: yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash # 需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。 # 如果要长期使用gcc 9.3的话: echo -e "\nsource /opt/rh/devtoolset-9/enable" >>/etc/profile # 查看gcc版本 gcc -v
如果在安装或者升级gcc的过程中出现了
[Errno 256] No more mirrors to try
这样的问题,
极大可能是因为网络问题,先查看能不能上网,尝试ping
一下www.baidu.com
,
如果是网络问题可以查看另一篇文章《centOS 7无法上网和网卡配置出现错误》。
🚀4 安装redis
-
解压安装包。
# 解压安装包 tar -zxvf redis-6.2.5.tar.gz
部分截图:
-
编译和安装。
# 进入安装包 cd redis-6.2.5/ # 编译源程序 make cd src make install PREFIX=/usr/local/redis
部分截图:
-
出现错误"You need tcl 8.5 or newer in order to run the Redis test"。
# 直接执行 yum install tcl -y # 编译出错时,清出编译生成的文件 make distclean # 卸载 make uninstall
-
将 redis-server 和 redis-cli 移动到 bin 目录中 。
# 在安装目录下创建一个 bin 目录 mkdir bin cd src/ # 将 redis-server 和 redis-cli 移动到 bin 目录中 cp redis-server ../bin/ cp redis-cli ../bin/ # 查看目录 cd .. ls
-
将 redis 的配置文件 redis.conf 移动到 bin 目录下。
cp redis.conf bin/ cd bin/ ls
-
修改配置文件。
# 修改配置文件,以下是需要修改的内容 vim redis.conf # 1.设置可以访问redis服务的IP bind 0.0.0.0 # 2.设置redis的访问端口 port 6379 # 3.设置访问redis的密码 requirepass 123456 # 4.设置 redis-server 以守护线程方式启动 daemonize yes
/+关键字 ,回车。此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置;
?+关键字,回车。此为从文档挡圈位置向上查找关键字,按n键向上查找关键字。# 1.设置可以访问redis服务的IP bind 0.0.0.0
# 2.设置redis的访问端口 port 6379
# 3.设置访问redis的密码 requirepass 01023
# 4.设置 redis-server 以守护线程方式启动,就是把redis放在后台运行 daemonize yes
📋 5 测试redis
-
测试redis,需要先输入密码。
./redis-server redis.conf ./redis-cli
-
因为设置了以守护线程方式启动,没有了启动日志,所以直接用Linux命令查看 redis 进程是否启动。
ps -ef | grep redis
-
设置redis开机自启动。
# 编写脚本 vi /etc/init.d/redis
# 加入以下命令 #!/bin/sh # Configurations injected by install_server below.... # 改为自己的目录 EXEC=/home/heyicheng/redis-6.2.6/bin/redis-server CLIEXEC=/home/heyicheng/redis-6.2.6/bin/redis-cli PIDFILE=/var/run/redis_6379.pid CONF="/home/heyicheng/redis-6.2.6/bin/redis.conf" REDISPORT="6379" ############### # SysV Init Information # chkconfig: - 58 74 # description: redis_6379 is the redis daemon. ### BEGIN INIT INFO # Provides: redis_6379 # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Should-Start: $syslog $named # Should-Stop: $syslog $named # Short-Description: start and stop redis_6379 # Description: Redis daemon ### END INIT INFO case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." # 启动 Redis $EXEC $CONF fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." # $CLIEXEC -p $REDISPORT shutdown # 带有密码的redis关闭方式: redis-cli -a 011023 shutdown # 改为自己的密码 $CLIEXEC -a 011023 shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; status) if [ ! -f $PIDFILE ] then echo 'Redis is not running' else PID=$(cat $PIDFILE) if [ ! -x /proc/${PID} ] then echo 'Redis is not running' else echo "Redis is running ($PID)" fi fi ;; restart) $0 stop $0 start ;; *) echo "Please use start, stop, restart or status as first argument" ;; esac
-
为redis开机启动脚本赋予执行权限
# 为redis开机启动脚本赋予执行权限 chmod 777 /etc/init.d/redis # 开启redis服务 systemctl start redis # 查看redis的状态 systemctl status redis # 停止redis服务 systemctl stop redis # 查看redis服务的状态 systemctl status redis # 设置redis开机自启动 systemctl enable redis # 设置禁止redis开机自启动 systemctl disable redis
-
重启虚拟机,查看redis是否开机自动启动。