跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

CentOS7下怎么用非root用户安装Redis并运行

1、基本环境信息 1.1、环境信息 序号ID版本1操作系统CentOS72redis5.0.12 1.2、 redis 下载地址 redis下载地址: 我们这里使用的是5.0.12 2、安装 2.1、新建redis普通用户 1)、使用root登录我们的系统 2)、新建组:groupadd redisgroup 3)、新建用户:useradd -g redisgroup redis 4)、设置密码:passwd redis 自己输入密码即可
groupadd redisgroupuseradd -g redisgroup redispasswd 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/redistar -zxvf redis-5.0.12.tar.gz
2.3、新建目录 切换到redis用户并在其目录下创建一个名为redis的文件夹
mkdir rediscd redismkdir datamkdir 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.confchgrp redisgroup redis.conf
3.2、配置Redis的配置文件 修改配置文件我们主要修改三个地方: 1)、修改为后台运行 Redis 8.2.3 Redis 8.2.3 是一款安全优先的高性能键值存储系统。该版本紧急修复了可能引发远程代码执行(RCE)的高危漏洞(CVE-2025-62507),并解决了 HyperLogLog 及 Cuckoo Filter 等数据结构在特定场景下的崩溃问题。建议所有用户立即升级,以保障生产环境的系统稳定与数据安全。 下载 2)、修改支持其他机器连接 下面的三个键值,直接在配置文件中修改即可
# yes-后台模式运行,no-前台模式运行,默认daemonize yes# 下面的这里给注释掉,默认是放开的#bind 127.0.0.1# 下面的这个值改为no,默认是yesprotected-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 functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/bin PATH=$PATH:~/binexport PATH
编写的redctl脚本,支持redis启动,停止,重启以及状态查看,详细内容如下: redctl
#!/bin/bash#check paramif [ $# -lt 1 ]; thenecho "USAGE: redctl start|stop|restart|status"exit 8fipid=0 ACTION=$1REDIS_HOME=$HOME/redis# Here define some functiongetpid(){pid=`ps -ef | grep redis-server | grep -v grep |awk '{print $2}'`}start(){getpidif [ ! -n "$pid" ]; thencd $REDIS_HOME/bin ./redis-server ../etc/redis.conf getpidif [ ! -n "$pid" ]; thenecho "redis-server start failed, please check your commond"elseecho "redis-server start success, PID: $pid"fielseecho "redis-server is running PID: $pid"fi}stop(){getpidif [ ! -n "$pid" ]; thenecho "redis-server is not running"elsekill -9 $pidecho "redis-server has been stopped"fi}restart(){stopsleep 1s start}status(){getpidif [ ! -n "$pid" ]; thenecho "redis-server is not running"elseecho "redis-server is running PID: $pid"fi}case $ACTION instart) 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++

相关文章