用户
需要一个有sudo权限的用户或者是root用户
#若没有可执行下面的操作
#赋予一个用户(如learn)拥有sudo权限(centos7),需要root权限
id learn #查看已加入的用户组
#下面是我的结果,还加入了nobody用户组
#uid=1000(learn) gid=1000(learn) group=1000(learn),99(nobody)
我们把它加入wheel组.为啥是这个组?因为在/etc/sudoers文件中是这样描述的
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
#所以执行,别忘了加上之前的已经附加的组.因为-G 参数 会替换除了gid指定的其他组.
#这里我不在需要nobody用户组了,所有不写.
usermod -G 1000,wheel learn #or usermod -G 99,wheel learn
#如果需要sudo 不要密码验证的话,请删除/etc/sudoers中 %wheel ALL=(ALL) NOPASSWD: ALL 列之前的#号符
#然后重启一下系统或者source /etc/sudoers
CentOS 版本
#首先你需要一个能获得sudo权限的用户或者root用户
#确认你版本不要与下面相差太大
sudo rpm -q centos-release
#centos-release-7-5.1804.el7.centos.x86_64
执行安装
#安装依赖
sudo yum install gcc g++ gcc-c++ make
#安装redis,wget命令执行当前目录,只要拥有权限即可
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
cd redis-5.0.3 #后续所有操作都基于此目录完成,若变换目录,请注意路径
#如果上次make失败,解决好依赖之后,先执行 make distclean 或者删除整个解压后文件再解压一次
make distclean
make #会需要一下时间,可以去喝个茶
#示例基于/opt目录进行,也可自己制定任意路径,但是需要注意权限问题.
#在/opt下创建redis软件包,
sudo mkdir -p /opt/redis/bin
sudo mkdir -p /opt/redis/conf
sudo mkdir -p /opt/redis/data/6379
sudo mkdir -p /opt/redis/log
#复制可执行文件值bin目录
find ./src -perm /+x -type f | xargs sudo cp -t /opt/redis/bin
若不需要单机环境,可直接跳转至 集群搭建部分
#复制配置文件值conf目录
sudo cp redis.conf /opt/redis/conf/6379.conf
#至此已经安装完成,可以使用绝对路径命令和指定配置文件运行
修改6379.conf必要要的配置信息(主要是为配置为服务做准备,可自由发挥)
sudo vim /opt/redis/conf/6379.conf
daemonize yes
logfile /opt/redis/log/6379.log
dir /opt/redis/data/6379
添加专门用户管理(可省略,用root用户代替)
#新增redis用户及用户组,没有登录权限
sudo groupadd redis
#-c 新账户描述信息
#-s 新账户的登录shell,只作为本地服务使用,redis用户是不需要远程登录,故使用/sbin/nologin
#-d 新账户home目录(主目录),此处无需在/home目录下创建redis子目录,可以使用/opt/redis目录
#-g 新账户主组的名称或ID
#-G 新账户的附加组列表,即表示此用户同时属于root用户组,(opt目录下默认需要root用户组的权限)
sudo useradd -c "Redis Server v5.0.3" -M -d /opt/redis -g redis -G root -s /sbin/nologin redis
#若用户已存在且没有其他什么作用,可以使用sudo userdel redis ; sudo rm -rf /var/spool/mail/redis,
#然后重复上述创建组合用户的操作,mail为useradd默认的创建的邮件目录
#赋予root用户组rwx权限,若是redis以root用户运行则不需要修改权限
sudo chmod -R 775 /opt/redis/data
sudo chmod -R 775 /opt/redis/log
#权限数字解释:读r为4,写w为2,执行x为1,无权限为0,所有组合:7(rwx),6(rw-),5(r-x),4(r--),3(-wx),2(-w-),1(--x),0(---)
#权限拥有者有三种,所属用户本身(所有者,可使用chown 用户名;修改),所属用户组(文件所在组,可使用chgrp 组名;修改),任何人.
#所以只有三位数,排列顺序固定,ls -l 命令只显示所属用户本身,所属用户组
#执行权限修改后如下所示
#$ ll /opt/redis
#总用量 0
#drwxr-xr-x. 2 root root 178 2月 27 15:55 bin
#drwxr-xr-x. 2 root root 23 2月 27 18:12 conf
#drwxrwxr-x. 3 root root 18 2月 27 18:13 data
#drwxrwxr-x. 2 root root 22 2月 28 09:52 log
#{chomd管辖}. 2 {chown} {chgrp} 22 2月 28 09:52 log
映射为系统服务
sudo vim /usr/lib/systemd/system/redis.service
并输入以下内容
[Unit]
Description=Redis server v5.0.3 daemon
After=network.target
[Service]
Type=forking
ExecStart=/opt/redis/bin/redis-server /opt/redis/conf/6379.conf --daemonize yes
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/opt/redis/bin/redis-cli -p 6379 shutdown
User=redis
Group=redis
PrivateTmp=true
[Install]
WantedBy=multi-user.target
若没有创建redis相关的用户和用户组,请设置
User=root
Group=