centos安装redis只需要把docker的步骤去掉即可
1、取centos镜像
docker pull centos:7.9.2009
2、运行镜像容器
docker run -itd --name redis -p 6379:6379 centos:7.9.2009
#建议以带特却模式运行镜像,不然无法设置开机自启
docker run -itd --name redis -p 6379:6379 --privileged=true centos:7.9.2009 /usr/sbin/init
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
3、进入centos镜像容器
docker exec -it redis /bin/bash
4、更新镜像文件为国内源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
5、redis下载地址
https://download.redis.io/releases/redis-7.4.0.tar.gz
Github地址
6、使用wget下载redis
cd /usr/local/
mkdir redis
cd redis/
yum install -y wget
wget https://download.redis.io/releases/redis-7.4.0.tar.gz
7、解压安装包
tar -zxvf redis-7.4.0.tar.gz
8、编译安装redis
mv /usr/local/redis/redis-7.4.0/* /usr/local/redis/
rm -rf redis-7.4.0
yum install -y make cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc
#也可以执行如下命令
yum install make gcc gcc-c++
执行完如上命令,执行 make 命令
make install PREFIX=/usr/local/redis
注意PREFIX=/data/redis指定安装目录,可指定可不指定,如果不指定默认是在/data/redis/redis-7.0.2/src/目录下,如果指定则会在/data/redis目录下创建一个bin文件夹,会安装在/data/redis/bin目录下
如果报错,再执行如下命令
yum -y install centos-release-scl
#如下命令可以不执行
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
再执行make命令
make install PREFIX=/redis
还是报错,就执行如下命令
make MALLOC=libc
#建议执行如下命令
make distclean && make --此时已经执行了make命令
再执行make命令
make install PREFIX=/redis
9、启动redis服务
cd bin/
./redis-server
默认启动方式:./redis-server
后台运行的启动方式:./redis-server &
指定配置文件的方式:./redis-server /usr/local/redis/redis.conf
10、配置环境变量(实现任何目录位置启动Redis)
vi /etc/profile
## 在文件末尾添加如下内容
export REDIS_HOME= /usr/local/redis/bin
export PATH=$PATH:$REDIS_HOME
source /etc/profile
执行完上述命令后,可在任意目录下执行如下命令进行校验环境变量是否配置成功
redis-server /usr/local/redis/redis.conf &
redis-cli
redis-cli shutdown
11、远程客户端连接
redis配置文件中只允许在本机中访问(redis服务在哪台机器上启动就只能在哪台机器上访问)
不允许远程连接,如果需要远程访问执行如下命令
cd /usr/local/redis
vi redis.conf
在vi状态下直接输入/bind查找bind字符串,找到bind 127.0.0.1 -::1,将其修改为
# bind 127.0.0.1 -::1
## 允许任何IP访问
bind 0.0.0.0
docker中安装的redis还需把protected-mode关闭
# protected-mode yes
protected-mode no
远程客户端连接需以指定配置文件的方式运行redis
还需要设置redis密码远程客户端才能连接上,或者也有其它的方式,建议设置密码连接
12、设置redis密码
cd /usr/local/redis
vi redis.conf
# requirepass foobared
requirepass yourpassword
此时,外部软件才能连接上redis
13、设置开机自启
编辑/etc/systemd/system/redis.service文件,执行如下命令,该步骤根据需要配置
vi /etc/systemd/system/redis.service
## 在文件末尾添加如下内容
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#docker中安装,需要把如下两行命令删除,否则会启动失败
Type=forking
PrivateTmp=true
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
14、开放端口
开放redis的6379端口,并重新加载防火墙
exit
firewall-cmd --zone=public --add-port=6379/tcp --permanent && firewall-cmd --reload
至此CentOS系统安装Redis就已经全部结束(docker的centos中步骤略有不同,已注释)。
15、docker容器设置开机自启
docker container update --restart=always redis