前言
本文在 linux+ CentOS7环境下, 搭建 redis单机版; 本文记载的所有操作以笔者电脑为准, 有和读者出入的地方, 需要自行修改
准备工作和安装
安装依赖, yum -y install gcc-c++ autoconf automake
下载安装包 http://download.redis.io/releases/, 选择大版本为5的 tar.gz安装包 , 然后通过 WinSCP工具或其他类似工具, 把tar包复制到虚拟机中(下图只是示范, 熟悉的话在linux中使用wget下载也可以, 看个人习惯了)
进入压缩包所在目录, 解压: tar -zxvf redis-5.0.3.tar.gz
, cd redis-5.0.3
创建redis 安装目录: mkdir -p /usr/local/redis
指定安装目录并安装: make PREFIX=/usr/local/redis/ install
, 成功如图:
cd /usr/local/redis/bin
进入redis 安装路径下bin目录, 可以看到客户端和服务端的可执行程序
启动: ./redis-server
, 这个是默认的前台启动, 提示正等待客户端连接:
ctrl+c 退出等待, 然后配置服务端后台启动, 这样就不会阻塞当前会话了
cd /root/download/redis-5.0.3
切换到 tar.gz包解压后的目录
cp redis.conf /usr/local/redis/bin/
将conf配置文件复制一份到安装路径下
接下来使用 vim编辑器编辑 conf文件, 由于linux默认的vim 编辑器注释颜色非常刺眼, 这里 vim /etc/vimrc
, 然后在最后一行添加 hi comment ctermfg=6
就可以解决了, 这里仅供vim注释颜色不舒服的读者参考
vim /usr/local/redis/bin/redis.conf
, 进入conf文件
/daemonize
+enter 定位关键词, 这里改为 daemonize yes
/bind 定位, 一直按n到图示地方 , 给 bind 127.0.0.1
前加注释, 表示允许任意客户端连接服务端, 否则本机客户端会连接失败:
/protected-mode 定位, 修改为 protected-mode yes
并放开注释
/requirepass 按n, 定位到如下标红位置:
可以选择放开这行注释, 并设置客户端连接服务的密码 (即 requirepass 密码), 不放开注释代表无需密码
防火墙设置
防火墙会阻止客户端远程连接到 redis 服务, 需要修改, 笔者按下面步骤可以成功使得本机客户端连接到虚拟机服务端
yum install 在线安装防火墙依赖 yum install iptables-services
通过 systemctl status firewalld
查看firewalld状态,发现当前是dead状态,即防火墙未开启:
通过systemctl start firewalld
开启防火墙,没有任何提示即开启成功。
再次通过systemctl status firewalld
查看firewalld状态,显示running即已开启了。
开放redis 默认的6379接口, firewall-cmd --permanent --add-port=6379/tcp
编辑防火墙规则 vim /etc/sysconfig/iptables
允许 redis的6379接口 -A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
效果如下:
关闭防火墙 systemctl stop firewalld
然后安装redis windows的客户端 Redis Desktop Manager, 连接服务端, 下图的Auth 是之前redis.conf 中设置的requirepass 的值, 可缺省
客户端连接成功
配置Redis开机自启动
在redis源码包的 utils目录下, 有个redis自启动脚本 cd /root/download/redis-5.0.3/utils
把脚本复制到 /etc/init.d 目录下 cp redis_init_script /etc/init.d/
, 在 /etc/init.d 下, 打开此文件
其中conf 代表主配置文件路径, 需要与实际匹配
再添加如下内容:
#chkconfig: 22345 10 90
#description: Start and Stop redis
为自启动脚本授权
chmod 777 redis_init_script
设置为开机自启动
chkconfig redis_init_script on
这时候执行reboot 命令, 重启虚拟机, 再次打开后执行 ps -ef|grep redis
, 可看见有 redis进程在运行, 说明redis 开机自启动配置成功