CentOS7安装Redis 5.0.12_非root用户安装Redis并运行
文章目录
本文介绍了在CentOS7下安装并配置redis的流程,供大家学习参考
1、基本环境信息
1.1、环境信息
序号 | ID | 版本 |
---|---|---|
1 | 操作系统 | CentOS7 |
2 | redis | 5.0.12 |
1.2、redis下载地址
redis下载地址:
可以在如下的地址下载到你想要的所有版本,我们这里使用的是5.0.12
https://download.redis.io/releases/
2、安装
2.1、新建redis普通用户
1)、使用root登录我们的系统
2)、新建组:groupadd redisgroup
3)、新建用户:useradd -g redisgroup redis
4)、设置密码:passwd redis 自己输入密码即可
groupadd redisgroup
useradd -g redisgroup redis
passwd redis
2.2、上传安装包并解压
1)、使用root用户,新建目录:mkdir -p /usr/local/src/redis
2)、解压压缩包:tar -zxvf redis-5.0.12.tar.gz
如下:
mkdir -p /usr/local/src/redis
tar -zxvf redis-5.0.12.tar.gz
2.3、新建目录
切换到redis用户,在用户目录下新建文件夹:redis
mkdir redis
cd redis
mkdir data
mkdir etc
2.4、编译并安装
使用root用户操作
1)、编译:cd redis-5.0.12
make
2)、安装:
make install PREFIX=/home/redis/redis
3、配置
3.1、将配置文件复制到redis用户下面
1)、将
/usr/local/src/redis/redis-5.0.12
下的redis.conf
文件复制到/home/redis/redis/etc
目录下2)、如果复制不了就用root赋权限,chmod 777 redis.conf
3)、复制过来之后,改一下文件的所属组和用户
chown redis redis.conf
chgrp redisgroup redis.conf
3.2、配置Redis的配置文件
修改配置文件我们主要修改三个地方:
1)、修改为后台运行
2)、修改支持其他机器连接
下面的三个键值,直接在配置文件中修改即可
# yes-后台模式运行,no-前台模式运行,默认
daemonize yes
# 下面的这里给注释掉,默认是放开的
#bind 127.0.0.1
# 下面的这个值改为no,默认是yes
protected-mode no
4、编写启动脚本,并启动
4.1、编写管理脚本
1)、使用
redis
用户登录,我们在用户目录下新建一个目录bin
2)、在
bin
目录下新建一个redctl
脚本,并授予可执行的权限,chmod a+x redisctl
3)、将
~/bin
目录加到用户的环境变量中去修改用户目录下的
.bash_profile
文件,在倒数第二行增加
PATH=$PATH:~/bin
完整内容如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
PATH=$PATH:~/bin
export PATH
编写的redctl脚本,支持redis启动,停止,重启以及状态查看,详细内容如下:
- redctl
#!/bin/bash
#check param
if [ $# -lt 1 ]; then
echo "USAGE: redctl start|stop|restart|status"
exit 8
fi
pid=0
ACTION=$1
REDIS_HOME=$HOME/redis
# Here define some function
getpid(){
pid=`ps -ef | grep redis-server | grep -v grep |awk '{print $2}'`
}
start(){
getpid
if [ ! -n "$pid" ]; then
cd $REDIS_HOME/bin
./redis-server ../etc/redis.conf
getpid
if [ ! -n "$pid" ]; then
echo "redis-server start failed, please check your commond"
else
echo "redis-server start success, PID: $pid"
fi
else
echo "redis-server is running PID: $pid"
fi
}
stop(){
getpid
if [ ! -n "$pid" ]; then
echo "redis-server is not running"
else
kill -9 $pid
echo "redis-server has been stopped"
fi
}
restart(){
stop
sleep 1s
start
}
status(){
getpid
if [ ! -n "$pid" ]; then
echo "redis-server is not running"
else
echo "redis-server is running PID: $pid"
fi
}
case $ACTION in
start) start;;
stop) stop;;
restart) restart;;
status) status;;
*) echo "require start|stop|restart|status" ;;
esac
4.2、启动服务并验证
依次执行,启动,查看状态,重启,停止,命令如下:
redctl start
redctl status
redctl restart
redctl stop
我们再次执行一下启动命令,将redis服务启动起来,
使用
redis-cli
连接上,尝试设置一些值,并查看所设置的值,如下:表示成功
5、可能遇到的问题
5.1、未安装gcc g++包
未安装gcc g++包的话,请自行安装
yum install -y gcc g++