Linux安装Redis并解决主机连接不到Redis服务的BUG

转载:Linux Centos7安装Redis_安装目录77777_IC77777的博客-CSDN博客

安装 Redis 5
一、安装gcc依赖

由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装

[root@localhost local]# yum install -y gcc

二、下载并解压安装包

[root@localhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz

[root@localhost local]# tar -zxvf redis-5.0.3.tar.gz

三、cd切换到redis解压目录下,执行编译

[root@localhost local]# cd redis-5.0.3

[root@localhost redis-5.0.3]# make

四、安装并指定安装目录

[root@localhost redis-5.0.3]# make install PREFIX=/usr/local/redis

五、启动服务

5.1前台启动

[root@localhost redis-5.0.3]# cd /usr/local/redis/bin/

[root@localhost bin]# ./redis-server

5.2后台启动

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

[root@localhost bin]# cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes

[root@localhost bin]# vi redis.conf

后台启动

[root@localhost bin]# ./redis-server redis.conf

六、设置开机启动

添加开机启动服务

[root@localhost 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@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

测试 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 #停止开机自启动

安装 Redis 6
Redis6 跟之前有些不同,先要升级gcc的版本,(6.0的坑,gcc版本 9.0 以上),输入以下命令

[root@localhost local]# yum -y install centos-release-scl
[root@localhost local]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

下载 redis-6.0.6

[root@localhost local]# wget http://download.redis.io/releases/redis-6.0.6.tar.gz

临时启用 gcc 9.1

[root@localhost local]# scl enable devtoolset-9 bash

长期使用gcc 9.1

[root@localhost local]# echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile

完成后 重启服务器,接下来就能进行Redis的安装了,先解压

[root@localhost local]# tar -zxvf redis-6.0.6.tar.gz

进入到该目录中输入make ,进行编译

[root@localhost local]# cd redis-6.0.6
[root@localhost redis-6.0.6]# make

安装到指定目录

[root@localhost redis-6.0.6]# make install PREFIX=/usr/local/redis

Redis 的配置和启动

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

[root@localhost bin]# cp /usr/local/redis-6.0.6/redis.conf /usr/local/redis/bin/

编辑 redis.conf ,输入i 才可以更改内容

[root@localhost bin]# vim redis.conf

将 daemonize 属性改为 yes (这样启动时就在后台启动)

将 protected-mode 属性改为 no (关闭保护模式,不然会阻止远程访问)


在 bind 127.0.0.1 前面加上 # 号

添加密码 requirepass 123456


修改完按Esc 然后输入:wq (注意有个冒号)
最后 enter 保存退出

后台启动命令

[root@localhost bin]# ./redis-server redis.conf

查看防火墙

sudo systemctl status firewalld

关闭防火墙

sudo systemctl disable firewalld
 


Redis端口连接失败

1,关闭防火墙,或者将端口号加入防火墙开放

  • 1、命令行界面输入命令“systemctl status firewalld.service”并按下回车键。
  • 2、然后在下方可度以查看得到“active(running)”,此时说明防火墙已经被打开了。
  • 3、在命令行中输入systemctl stop firewalld.service命令,进行关闭防火墙。
  • 4、然后再使用命令systemctl status firewalld.service,在下方出现disavtive(dead),这权样就说明防火墙已经关闭。
  • 5、再在命令行中输入命令“systemctl disable firewalld.service”命令,即可永久关闭防火墙

2,查看reids进程和端口,都是存在的。只是ip地址是127.0.0.1而不是0.0.0.0,只是本机能使用

查找redis的配置文件redis.conf

  •  把bind 127.0.0.1修改为bind 0.0.0.0
  • 修改protected-mode,值改为no
  • 线程运行模式设为可后台运行
  • daemonize no => daemonize yes
  • 添加登录密码
  • 在这里插入图片描述
  •  
  • 重启redis服务


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值