1、环境
系统:
[root@redis ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
redis版本:redis-6.0.0.tar.gz
2、安装gcc依赖
由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境
[root@redis ~]# gcc -v
如果没有安装,执行以下命令进行安装
[root@redis ~]#yum -y install gcc
3、下载并解压安装包
下载安装包
[root@redis redis.tar]# wget http://download.redis.io/releases/redis-6.0.0.tar.gz
解压安装包
[root@redis redis.tar]# tar -zxvf redis-6.0.0.tar.gz
[root@redis redis.tar]# ls
redis-6.0.0 redis-6.0.0.tar.gz
4、cd切换到redis的目录下,执行编译进行安装
[root@redis redis.tar]# cd redis-6.0.0 #进入redis目录
[root@redis redis-6.0.0]# make #对redis安装包进行编译
[root@redis redis-6.0.0]# make install PREFIX=/usr/local/redis #安装并指定其安装目录
注意: 在安装结束之后可能会报出
make[1]: *** [server.o] Error 1
的错误。
原因是因为gcc版本过低,yum安装的gcc是4.8.5的。因此需要升级gcc,升级过程如下:
[root@redis redis-6.0.0]# yum -y install centos-release-scl
[root@redis redis-6.0.0]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#这句是临时的
[root@redis redis-6.0.0]# scl enable devtoolset-9 bash
#修改环境变量
[root@redis redis-6.0.0]# echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
[root@redis redis-6.0.0]# gcc -v #查看gcc版本
gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
注意: scl命令启用只是临时的,退出shell或重新打开一个shell就会恢复原系统gcc版本。执行 echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile 命令永久使用gcc 9。
5、启动服务
前台启动:
[root@redis redis-6.0.0]# cd /usr/local/redis/bin/ #进入redis的安装目录
[root@redis bin]# ./redis-server
后台启动:
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
[root@redis bin]# cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
[root@redis bin]# vi redis.conf
################################# 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.
daemonize yes
后台启动
[root@redis bin]# ./redis-server redis.conf
[root@redis bin]# ps -ef|grep redis
root 12155 7878 0 10:03 pts/1 00:00:00 ./redis-server *:6379
root 12190 12162 0 10:07 pts/2 00:00:00 grep --color=auto redis
6、设置开机启动
添加开机启动服务
[root@redis bin]# vi /etc/systemd/system/redis.service
复制粘贴以下内容:
[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
注意: ExecStart配置成自己的路径
[root@redis bin]# systemctl daemon-reload #重新加载一下redis.service文件
创建 redis 命令软链接
[root@redis ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
测试一下redis
[root@localhost bin]# redis
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set k1 hello
OK
127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379>
设置开机启动
[root@redis bin]# systemctl start redis.service #启动
[root@redis bin]# systemctl enable redis.service #设置开机自启
如果要使用远程连接,那就开放端口6379。
firewall-cmd --zone = public --add-port = 6379 / tcp --permanent