redis相关操作命令

226 阅读4分钟
1、启动redis
systemctl start redis 
2、重启redis
systemctl restart redis 
3、停止redis
systemctl stop redis 
4、以指定配置文件启动redis进程
redis-server /etc/redis-6379.conf
5、链接redis服务器
redis-cli -p 6379
6、输入密码登陆
auth 123456
6、查看当前redis进程的角色
info replication
7、查看当前redis服务占用的进程状态
ps -aux |  grep redis 
8、结束指定端口进程
kill -9 PID
9、结束redis
redis-cli -p 6379 shutdown

哨兵配置

哨兵相关命令

注释:哨兵模式需要在主从模式前提下进行搭建,只有一个哨兵没有意义

#启动哨兵
redis-sentinel /etc/redis-sentinel.conf

哨兵配置文件

port 26380  #端口配置
daemonize yes #设置后台启动
pidfile "/var/run/redis-sentinel-26380.pid" #设置pid文件位置以及文件名
logfile "/var/log/redis/redis-sentinel-26380.log" #设置日志文件存放目录
dir "/tmp"
sentinel myid a688c033eba0bcbf02c5e87faacad93247568c35 #启动哨兵后自动生成
sentinel deny-scripts-reconfig yes    
sentinel monitor mymaster 127.0.0.1 6379 2 #mymaster为指定数据库名称所有用到的需在此配置之后 6379为指定master端口 2代表哨兵需要投票的票数
sentinel auth-pass mymaster 123456 #设置的链接redis服务的密码
sentinel down-after-milliseconds mymaster 10 #设置心跳请求时长,以毫秒计
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
protected-mode no #为yes则只能内网进行访问
sentinel current-epoch 0

系统

1、查看开放指定端口
firewall-cmd --list-ports
2、开放指定端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
3、重启防火墙
firewall-cmd --reload记录仪
4、移除指定端口
firewall-cmd --zone=public --remove-port=26381/tcp --permanent

安全

为了保证生产环境服务器的安全,在工作中有一个规范,要求我们运行的服务都要求以非登陆的普通用户运行,从而防止程序本身的漏洞被利用被黑客提权!比如我们在编译安装nginx、mysql以及php之前都会通过useradd建立非登陆的普通用户,然后在编译的时候指定该用户。类似这种的服务都是本身原生支持以普通用户运行的。但是有些程序并不是原生支持,在编译时候没有提供这个功能。只能编译后我们重新修改指定普通用户来运行。比如今天我们要举例的redis。废话少说,今天我们一起来学习下,如何让redis服务以普通用户运行。

建立普通用户(一般来说yum源创建的会自带redis组跟用户)

groupadd redis

useradd redis -M -g redis -s /sbin/nologin

拓展useradd知识:

  • -d 指定用户家目录(默认是/home目录下)
  • -M 禁止创建用户家目录(常配合非登陆用户使用)
  • -s 指定shell类型 (默认是/bin/bash ,/sbin/nologin 为禁止登陆)

提前创建必要目录<pid 目录 ,aof 数据目录,错误日志目录>

mkdir /var/run/redis -pv && chown redis:redis /var/run/redis -R (pid 目录,默认是/var/run/但是仅限root用户创建,如果普通用户运行的,必须在其下自创目录,并chown授权)

mkdir /usr/local/redis/data/ -pv && chown redis:redis /usr/local/redis/data/ -R

mkdir /var/log/redis/ -pv && chown redis:redis /var/log/redis/ -R

注意:我们的appendonly.aof文件默认是644权限,其他用户只读。所以修改普通用户前,看看该文件在哪个路径下,并且检查是否chown redis了,也可以给他直接加w权限,但是为了安全不推荐.

#修改配置文件
pidfile /var/run/redis/redis_10081.pid
logfile /var/log_redis/redis-10081.log
dir /usr/local/redis/data/

现在三个参数都是后改的,之前都是默认值 ,appendonly.aof默认在/ 路径,修改为redis用户后,需要先把aof文件chown 为redis ,然后mv 到定义的目录中去,并保证目录已经chown授权好。

修改开机启动文件

如果是单机redis则直接修改

#查找文件
find / -name redis.service
/usr/lib/systemd/system/redis.service 

拿到文件路径之后则直接添以下,然后直接运行即可

PIDFile=/var/run/redis/redis_6379.pid
User=redis
Group=redis

如果是伪分布式则在配置好的前提下直接用以下命令启动即可

sudo -u redis redis-server /etc/redis-10079.conf

 三不要:

不要以root用户直接运行服务,以上提供有安全启动的方法

不要redis使用简单密码或者无密码

不要对外网开放端口