一、安装环境:
1、CentOS 7.0 服务器一台。可用虚拟机代替。(虚拟机建议使用:VMware,自行百度,此处不再赘述)
2、yum源配置为阿里云。(配置阿里云yum源)
二、安装步骤:
1、安装依赖:(redis为c语言编写,非解压即使用。需额外安装gcc环境和tcl语言)
yum install gcc tcl -y
2、下载redis安装包:(预先切到自定义目录下)
mkdir /opt/redis
cd /opt/redis
wget http://download.redis.io/releases/redis-5.0.6.tar.gz
3、解压安装包,编译:
tar xf redis-5.0.6.tar.gz
cd redis-5.0.6
make
4、新建文件夹,用来装redis安装后的文件。此处建在与安装包、解压包的同级目录。安装redis。
mkdir ../redisInstall
make PREFIX=/opt/redis/redisInstall install
4、至此,redis安装已经结束,可通过 redis/redisInstall/bin/redis-server 启动redis。
三、将redis做成服务
1、 将redisInstall下面的bin写入环境变量中去【此处路径视自定义路径而定】
vim ~/.bash_profile
# 配置环境变量
REDIS_HOME=/opt/redis/redisInstall
PATH=$PATH:$REDIS_HOME/bin
export PATH REDIS_HOME
# 刷新
source ~/.bash_profile
2、此时可在任何目录下,执行bin下面的命令。
3、做成后台daemon
cd /opt/redis/redis-5.0.6/utils/ ./install_server.sh
4、以 mysqld 形式,重命名redis_6379。
cd /etc/init.d
mv redis_6379 redisd
5、测试启动服务
cd /
service redisd restart
6、若在执行第5步时,出现如下报错信息:
Unit redisd.service could not be found.
请执行如下命令:
chkconfig --add redisd
四、关于Python/Java 远程连接Redis失败的问题(此节原为单独文章,目前删除原文档,与本文合并。)
1、环境说明:虚拟机CentOS 7环境,安装redis-5.0版本。本机Java/Python连接redis。
2、逐步排查:
1)执行以下命令,查看linux上是否限制了ip的访问。
ps -ef |grep redis
2)如上图所示,目前仅限本机能够访问。继续执行如下步骤。若非此问题,请另行寻找解决方案。
先关闭redis服务【重要】
b. 找到refis配置文件 redis.conf:(参见三、3默认配置文件名称)
将其中的 bind 127.0.0.1 直接注释掉;
设置密码 requirepass test (将 test 替换成你要设置的密码即可)
PS:【若已将redis做成了服务,则需要修改 /etc目录下的配置文件】
c. 开启redis服务。
4)检验是否修改成功:
a)检验端口:此时的 *:6379 代表任何ip都可访问。
ps -ef |grep redis
b)检验密码:
redis-cli
auth test
config get requirepass
5)关闭防火墙或开放端口:
# 以下二选其一:
# 1. 关闭防火墙:
systemctl stop firewalld.service
# 2. 开放防火墙端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
6)使用Redis Desktop Manager 校验是否能够远程连接:
五、redis停服失败
1、错误代码:一直在shutdown
redis - error - Waiting for Redis to shutdown ...
2、原因:redis启用了安全认证,需要在脚本关闭的时候指定ip和密码。
-h ip -a password
3、操作:
vim /etc/init.d/redisd
# 将 $CLIEXEC -p $REDISPORT shutdown 修改为如下:
$CLIEXEC -h 192.168.6.120 -p $REDISPORT -a test shutdown