操作系统是centos7系统,redis版本6.24 包含原始安装和docker安装两种方式
1、原始安装
- 安装C语言需要的GCC环境
yum install -y gcc-c++ yum install -y wget
- 创建redis目录、并进入
mkdir redis cd redis
- 下载redis源码6.2.4版本
wget https://download.redis.io/releases/redis-6.2.4.tar.gz
- 解压redis文件
tar -zxvf redis-6.2.4.tar.gz
ls
- 进入新解压出来的文件目录的src目录 编译源码
cd redis-6.2.4/src
make && make install
命令执行完,表示安装成功
- 启动redis
redis-server
- 客户端连接redis
redis-cli -h 127.0.0.1 -p6379
注意:-h后面跟的是远程启动redis的服务器地址 -p后面跟的是redis的端口号,如果本地连接可以省略-h -p直接使用 redis-cli命令既可以连接,退出命令为exit
- redis前端启动时会打印相关日志(上述步骤6图片),且不能使用命令,后端启动(守护进程启动)的方式
- 修改redis.conf文件 daemonize no ---> daemonize yes 即开启守护进程
vim redis.conf
- 启动redis
cd src redis-server ../redis.conf
查看启动进程,如上图 表示启动成功
- 后台启动后关闭redis服务
redis-cli shutdown
- 修改redis.conf文件 daemonize no ---> daemonize yes 即开启守护进程
2、docker安装redis
前提时你的操作系统安装了docker环境,docker安装的教程
- 拉取redis镜像
docker pull redis:6.2
- 创建容器 设置端口
docker run -id --name=c_redis -p 6379:6397 redis:6.2
参数解释:
-i:表示运行容器
-t:表示容器启动后会进入命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name:为创建的容器命名
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会登录容器,如果只加-i-t两个参数,创建后会自动进入容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
- redis客户端访问测试
-
防火墙相关命令
systemctl status firewalld 查看防火墙状态
systemctl stop firewalld 关闭防火墙
systemctl start firewalld 开启防火墙
docker 相关命令
systemctl status docker 查看docker状态
systemctl start docker 启动docker
systemctl stop docker 停止docker
systemctl restart docker 重启docker
systemctl enable docker 开机启动docker3、可能遇到的问题
1、启动redis时报错 :docker: Error response from daemon: driver failed programming external connectivity on endpoint c_redis。。。。。。
解决方案:是防火墙的问题:docker 启动后,若是关闭防火墙,docker底层连接会变动,需要重启docker服务,重启docker命令 systemctl restart docker
2、连接远程时报错“Could not connect to Redis at 192.168.31.127:6379: 由于目标计算机积极拒绝,无法连接。 ”
修改redis.conf文件
bind 127.0.0.1 -::1 修改为 #bind 127.0.0.1 -::1
3、读写错误 “(error) DENIED Redis is running in protected mode because protected mode is enabled。。。”错误
解决方案:protected-mode yes 修改为 protected-mode no
重启redis,可以正常