Redis 6.x 基础安装
大约 3 分钟约 991 字
Redis 6.x 基础安装
1.1、下载Redis6.x的安装包
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
1.2、安装Redis6的依赖环境
Redis6 跟之前有些不同,先要升级gcc的版本,输入以下命令
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
1.3、安装Redis
1.3.1 解压
tar -zxvf redis-6.2.6.tar.gz
1.3.2 进入解压目录进行编译和安装
cd redis-6.2.6
make 编译源码
#########################
make && make install (安装到默认目录)
#########################
make PREFIX=/usr/local/redis6 install 安装到指定目录
1.4、启动Redis
1.4.1 复制redis.conf文件到安装目录
##在解压目录内执行
cp redis.conf /usr/local/redis6
1.4.2 修改redis.conf配置文件
##进入文件夹
cd /usr/local/redis6
## 编辑redis.conf
vi redis.conf
#将里面的daemonize no 改成yes,以后台进程方式启动redis
#修改daemonize为yes,即默认以后台程序方式运行(还记得前面手动使用&号强制后台运行吗)。
daemonize yes
--------------设置外网访问-----------------------------
#bind 127.0.0.1前面加上# 注释掉这一行,127.0.0.1限制只能本机访问
#将protected-mode yes改为no
bind 0.0.0.0
#给redis设置密码,尽可能的复杂写,不要出现root 123 等简单的密码
protected-mode yes
requirepass ****** ##,密码自己设置
提示
如果上述参数不好找到,请使用vim 编辑文件,使用查找命令 如:/requirepass foobared
1.4.3 基于配置文件启动Redis
cd /usr/local/redis6/bin
redis-server ../redis.conf
1.4.4 防火墙放行Redis的端口6379
#查看防火墙目前的放行端口列表
firewall-cmd --list-ports
#添加防火墙放行端口(permanent代表永久生效)
firewall-cmd --add-port=6379/tcp --permanent
#重新加载防火墙(添加完放行端口一定要重新加载防火墙)
firewall-cmd --reload
1.4.5 测试是否支持远程
提示
自行使用相关工具
1.4.6 Redis的关闭
## 通用kill
lsof -i:6379 #根据端口查找相关pid
kill -9 16931 #16931为对应的pid,请参照修改
1.4.7 Redis开机启动
## 在/etc目录下新建redis目录
cd /etc/
mkdir redis
# 将redis.conf文件复制到/etc/redis目录下,并重命名为6379.conf
cp /usr/local/redis6/redis.conf /etc/redis/6379.conf
#复制启动脚本 (启动脚本在当初解压的安装位置)
cp /root/redis-6.2.6/utils/redis_init_script /etc/init.d/redis
vi /etc/init.d/redis
## REDISPORT=6379
## EXEC=/usr/local/redis6/bin/redis-server #修改EXEC为你自己的路径
## CLIEXEC=/usr/local/redis6/bin/redis-cli #修改CLIEXEC为你自己的路径
## 执行自启命令
cd /etc/init.d/
chkconfig redis on
提示
如果运行结果提示:service redisd does not support chkconfig,
解决方法: 使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出,再次执行自启命令即可
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
1.4.8 启动Redis
# 打开redis命令:
service redis start
# 关闭redis命令:
service redis stop
运行如果出错
service redis start 运行如果出错
错误信息/var/run/redis_6379.pid exists, process is already running or crashed
请删除/var/run/redis_6379.pid文件
停止出错
service redis stop
停止服务是报错 NOAUTH Authentication required
编辑/etc/init.d/redis
vim /etc/init.d/redis
增加密码参数
REDISPORT=6379
EXEC=/usr/local/redis6/bin/redis-server
REDIS_CLI=/usr/local/redis6/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/etc/redis.conf"
RedisPwd=newpassword ##增加密码
case "$1" in
start)
if [ -f "$PIDFILE" ]; then
echo "$PIDFILE exists, process is already running or crashed"
else
echo -n "Starting Redis server..."
$EXEC $CONF
if [ "$?"="0" ]; then
echo " done"
else
echo " failed"
fi
fi
;;
stop)
if [ ! -f "$PIDFILE" ]; then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping Redis server..."
$REDIS_CLI -a $RedisPwd -p $REDISPORT shutdown ##增加密码参数
if [ "$?"="0" ]; then
echo " done"
else
echo " failed"
fi
fi
;;
restart)
${0} stop
${0} start
;;
kill)
echo "force kill redis server..."
killall redis-server
if [ "$?"="0" ]; then
echo " done"
else
echo " failed"
fi
;;
status)
if [ -f "$PIDFILE" ]; then
echo "Redis server is running."
else
echo "Redis server is stopped."
fi
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|status|kill}" >&2
exit 1
esac