Linux 安装Redis以及碰到的问题

本文详细记录了在CentOS系统中安装Redis的过程,包括下载安装包、解压、编译安装、配置守护进程及开机启动,并解决了Redis远程管理时遇到的防火墙和端口未开放的问题,确保了可以通过Redis Desktop Manager成功连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做一个记录。

首先介绍的是安装redis,遇到的问题在后面介绍。

本文主要参考:https://blog.youkuaiyun.com/J080624/article/details/78281840

登录之后,首先先下载gcc编译器

yum install gcc-c++
redis-server /etc/redis.conf                         //启动服务端
redis-cli -p 6379                                    //客户端连接
ps -ef|grep redis                                    //管道命令查看进程

 

1、下载redis安装包

wget http://download.redis.io/releases/redis-4.0.1.tar.gz

2、解压

tar -zxvf redis-4.0.1.tar.gz

 我是解压在/home/apk下的,apk是我自己创建的目录

3、安装

进入解压后的目录redis-4.0.1

cd redis-4.0.1

 make安装

make

安装之后  make test   命令测试,会提示 需要安装tcl

安装tcl:

wget https://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xvzf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install

进入redis-4.0.1目录下 

cd /home/apk/redis-4.0.1

make install

 4、配置redis

在当前目录下复制redis.conf到/etc下

cp redis.conf /etc/

 对复制后的文件进星更改:

vi /etc/redis.conf

 Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程:

daemonize no ->daemonize yes
esc :x(进入vim命令模式,退出保存)

 启动redis服务端

redis-server /etc/redis.conf

 启动客户端,使用ping命令测试

redis-cli -p 6379

 

 4、配置服务开机启动

将redis-4.0.1/utils目录下的 redis_init_script 脚本拷贝到 /etc/init.d 下 修改名字为 redis

cp redis_init_script /etc/init.d/redis

 编辑该redis文件,头部添加注释如下:

#chkconfig:2345 90 10
# description:Redis is a persistent key-value database

 拷贝修改后的/etc/redis.conf 到/etc/redis/6379.conf

-- 在etc目录下

mkdir ./redis
cp /etc/redis.conf /etc/redis/6379.conf

 为/etc/init.d/redis文件赋予权限并添加到开机启动服务列表

chmod +x /etc/init.d/redis
chkconfig redis on

启动/关闭服务

service redis start

service redis stop

reboot 重启测试开机启动

reboot
ps -ef|grep redis

为redis设置密码以及注释ip

修改6379.conf

注释掉绑定ip

停止redis服务

修改redis服务脚本,加入如下

vim /etc/init.d/redis

$CLIEXEC -a "password" -p $REDISPORT shutdown

使用service redis stop命令,正常停止服务..

5、Redis远程管理

可以使用redis远程管理工具(Redis Desktop Manager)进行连接、操作。

软件下载地址:https://download.youkuaiyun.com/download/j080624/10508349

 

连接不了redis:

在使用Redis Desktop Manager时发现以上配置不能连接到redis。

1、首先我们在上面已经设置好了密码以及注释了127.0.0.1,但还是连接不上,这时我们先使用命令获取到ip

ip addr

 

2、当然如果你们使用这个命令没有获取到ip并且报错的话,

可以参考https://blog.youkuaiyun.com/wxx729418277/article/details/79130649

3、我们拿到ip之后,返回Windows,开启cmd,通过telnet命令,测试端口是否畅通。

telnet 192.168.1.145 6379                //telnet ip 6379

发现返回的是“telnet不是内部或外部命令”

原因:Windows7系统环境下,Telnet客户端默认是关闭状态。

参考这里:http://jingyan.baidu.com/article/6525d4b1377913ac7d2e94eb.html

设置完之后,再次测试

通过这里可以看出CentOS的6379端口没有开启;

在centos中输入:

输入firewall-cmd --query-port=6379/tcp,如果返回结果为no,那么证明6379端口确实没有开启。

输入firewall-cmd --add-port=6379/tcp,将6379端口开启,返回success。

然后再执行上一条命令,返回yes,证明端口已经成功开启。

由于linux防火墙默认开启,redis的服务端口6379并不在开放规则之内,所有需要将此端口开放访问或者关闭防火墙。

关闭防火墙命令:

sevice iptables stop


这时又出现了一个问题:iptables not loaded

centos从7开始默认用的是firewalld,这个是基于iptables的,
虽然有iptables的核心,但是iptables的服务是没安装的。
所以你只要停止firewalld服务即可:
 
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service

再用Telnet 测.返回的结果一片纯黑

之后在Redis Desktop Manager连接:

 

好啦搞定了!

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值