一、指定文件夹安装
1.在usr/loacl创建redis文件夹
mkdir redis
2.上传文件到文件夹
3.解压
tar -zxvf redis-6.2.6.tar.gz
进入解压后的redis文件夹
cd redis-6.2.6
4.检查gcc是否安装
4.1检查是否安装gcc
rpm -q gcc
或者查看
gcc --version
或者
gcc -v
4.2离线安装gcc
在usr/local目录创建gcc文件夹,上传gcc安装包到该文件夹,解压
tar -xvf gcc.tar.gz
进入gcc解压目录 安装gcc
rpm -ivh *.rpm --nodeps --force
检查是否安装成功
gcc -v
5.编译和安装redis
make
出现报错:
cd src && make all
make[1]: Entering directory/usr/local/redis/redis-6.2.6/src' CC adlist.o In file included from adlist.c:34:0: zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include <jemalloc/jemalloc.h> ^ compilation terminated. make[1]: *** [adlist.o] Error 1 make[1]: Leaving directory
/usr/local/redis/redis-6.2.6/src’
make: *** [all] Error 2
解决方案:在安装Redis过程中遇到编译失败的问题,首次因未安装gcc导致,安装gcc后再次编译出现jemalloc/jemalloc.h文件缺失的错误。解决方法是先执行make distclean
清除编译文件,然后重新运行make
进行编译。
重新make
注意:安装时候直接使用:make install 安装,可执行文件会安装在/usr/local/bin中
这个时候可以指定安装目录安装:make install PREFIX=/usr/local/redis
6.配置redis
6.1在redis目录下创建启动文件夹
创建 bin 和 etc 文件夹
bin:用于存放可执行文件
etc:用于存放redis.conf
6.2移动配置文件(在redis的解压目录下操作)
mv redis.conf /usr/local/redis/etc/
6.3移动可执行文件
cd src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
6.4修改配置文件
注释掉 bing 127.0.0.1,127.0.0.1:表示只允许本地连接
# 取消 requirepass foobared 的注释,将 foobared 修改为密码
requirepass 1234
# 开启aof 持久化,rdb是默认开启的,aof 恢复的数据更完整
# 将appendonly 修改为 yes
appendonly yes
# Redis默认不是以守护进程的方式运行,yes为开启守护进程后台启动
# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
# 将daemonize 修改为 yes
daemonize yes
# 也可修改数据存储目录
dir 存放数据的路径
6.5手动启动redis
启动redis服务端,指定配置文件的位置
./redis-server /usr/local/redis/etc/redis.conf
查看redis是否启动
ps -ef | grep redis
6.6手动关闭redis
通过redis-cli登陆到redis
./redis-cli
在redis 的 cli里面 输入shutdown
6.7修改linux的安全子系统(SELinux)
查看SELinux 的工作模式
cat /etc/selinux/config
SELinux 有三种工作模式,分别是:
- enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
- permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
- disabled:关闭 SELinux。
临时切换SELinux 的工作模式,重启服务器会还原
临时切换SELinux 为 宽容模式
setenforce 0
临时切换SELinux 为 强制模式
setenforce 1
永久将SELinux 修改为 permissive(宽容模式) 或 disabled(关闭)
建议修改为宽容模式
vim /etc/selinux/config
7.将redis 服务交给 systemd 管理
在/etc/systemd/system下创建redis.service文件(也可以在/lib/systemd/system/或者/usr/lib/systemd/system/创建,etc下的属于系统级,优先级更高)
cd /etc/systemd/system
touch redis.service
vi redis.service
添加如下内容:
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注意:ExecStart后面的路径根据自己安装路径修改;pid路径和 redis.conf里面的路径保持一致
保存退出
刷新服务配置:
这里是引用systemctl daemon-reload
启动redis
systemctl start redis
查看状态
systemctl status redis
设置redis服务开机自启(可选)
systemctl enable redis
开放防火墙端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
success
刷新防火墙
firewall-cmd --reload
查看 6379 是否开放成功
firewall-cmd --zone=public --query-port=6379/tcp
yes
8、服务操作命令
启动redis服务
systemctl start redis.service 或者直接 systemctl start redis
停止redis服务
systemctl stop redis.service 或者直接 systemctl stop redis
重新启动服务
systemctl restart redis.service 或者直接 systemctl restart redis
查看服务当前状态
systemctl status redis.service 或者直接 systemctl status redis
设置开机自启动
systemctl enable redis.service
查询是否自启动服务
systemctl is-enabled redis.service
停止开机自启动
systemctl disable redis.service
二、redis卸载
查看redis进程
ps -ef | grep redis
kill -9 进程id
查看redis文件夹
find / -name redis
rm -rf 路径
删除顺序
//删除安装目录
//删除所有redis相关命令脚本
//删除redis解压文件夹
1 删除redis根目录
rm -rf /usr/local/redis
2 删除/usr/local/bin目录下的 redis 相关文件
rm -rf /usr/local/bin/redis*