做一个记录。
首先介绍的是安装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连接:
好啦搞定了!