一、安装gcc依赖
由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
[root@localhost ~]# yum install -y gcc
二、下载并解压安装包
下载地址:http://download.redis.io/releases/(此处我选择的是redis-5.0.8.tar.gz)
[root@localhost ~]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
[root@localhost ~]# tar -zxvf redis-5.0.8.tar.gz
三、cd切换到redis解压目录下,执行编译
编译
[root@localhost redis]#make
(这里可能会报 cc 命令找不到,需要安装gcc: yum
-y
install gcc automake autoconf libtool make)
[root@localhost redis]
make install PREFIX=/usr/local/redis
安装完成
四、启动
先切换到redis src目录下
cd /usr/local/redis/bin/
1、直接启动redis
./redis-server
如上图:redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。
按 ctrl + c可以关闭窗口。
2、以后台进程方式启动redis
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp ~/tmp/redis-5.0.8/redis.conf /usr/local/redis/bin
第一步:修改redis.conf文件
将daemonize no 修改为:daemonize yes
第二步:指定redis.conf文件,后台启动
./redis-server redis.conf
第三步:关闭redis进程
首先使用ps -aux | grep redis查看redis进程
ps -aux | grep redis
使用kill命令杀死进程
kill 18714
3、设置开机自启动
#vi /etc/systemd/system/redis.service
复制以下内容(ExecStart配置成自己的路径)
[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target
设置开机启动
[root@localhost bin]# systemctl daemon-reload
[root@localhost bin]# systemctl start redis.service
[root@localhost bin]# systemctl enable redis.service
创建 redis 命令软链接
[root@localhost ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
服务操作命令
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
* 可能出现的错误
1、没有安装gcc
yum install gcc
2、gcc版本不支持
CentOS7默认安装的是4.8.5,而redis6.0只支持5.3以上版本,这里将gcc升级到9。
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
切换是用新版本
临时切换:scl enable devtoolset-9 bash
永久切换:echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
[root@localhost redis]