安装redis 最新版 redis-6.2.6
系统:CentOS Linux release 7.9.2009 (Core)
1.安装GCC
由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
教程:https://www.cnblogs.com/huangshuqiang/p/15477407.html
2.下载并解压安装包
[root@mesnosql ~]# wget http://download.redis.io/releases/redis-6.2.6.tar.gz [root@mesnosql ~]# tar -zxvf redis-6.2.6.tar.gz
3.cd切换到redis解压目录下,执行编译
[root@mesnosql ~]# cd redis-6.2.6 [root@mesnosql redis-6.2.6]# make
4.安装并指定安装目录
[root@mesnosql redis-6.2.6]# make install PREFIX=/usr/local/redis
5.启动服务--后台启动
[root@mesnosql redis-6.2.6]# cd /usr/local/redis/bin/
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录。PS:推到~ 目录。
[root@mesnosql ~]# cp redis-6.2.6/redis.conf /usr/local/redis/bin/
6.修改redis.conf配置文件。PS:重新进入bin
[root@mesnosql bin]# vim redis.conf
主要修改3个地方:
1). bind 前面加# 注释掉 ;不限定ip访问。默认只能本机访问
2).
默认是yes 改为no 。关闭protected-mode模式,此时外部网络可以直接访问
3).
daemonize是用来指定redis是否要用守护线程的方式启动。默认是no
7. 启动redis
[root@mesnosql bin]# ./redis-server redis.conf
8.设置开机启动
root@mesnosql 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配置成自己的路径
9.设置开机启动
[root@mesnosql bin]# systemctl daemon-reload [root@mesnosql bin]# systemctl start redis.service [root@mesnosql bin]# systemctl enable redis.service
10.创建 redis 命令软链接
[root@mesnosql ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
测试 redis
到此,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到最新版本之后,redis make时报错。 解决方案:
make的时候报错:/bin/sh: cc: command not found
解决:
1.回到根目录(~)
sudo yum -y install gcc gcc-c++ libstdc++-devel
2. 回到redis make时的目录执行:
make MALLOC=libc
补充2:防火墙开启,导致外网无法访问
查看已开启的端口
firewall-cmd --list-ports
查看防火墙状态
firewall-cmd --state
开启防火墙
systemctl start firewalld
开启端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
重启防火墙
firewall-cmd --reload
设置了开启端口后一定要重启防火墙,否则端口开启会不起作用。
总结:自己之前从没接触过linux,安装redis时,碰到了许多问题,安装了好几天,才成功。 网上各种安装教程大部分都不行。
最后每安装一步,虽然有时一大串命令,一定要注意看里面是否有error,不然到最后redis没法使用会一脸懵逼。
参考:
https://www.cnblogs.com/heqiuyong/p/10463334.html
https://redis.io/download 官方教程
https://www.cnblogs.com/Crazy-Liu/p/14313017.html
https://blog.csdn.net/liyanhui1001/article/details/106589682
https://www.cnblogs.com/xuliangxing/p/7151685.html