Redis的单机部署(Linux环境)(一文搞定)

一、下载对应的安装包

 1.官方下载链接:    https://download.redis.io/releases/

 2.通过wget命令下载: 

wget http://download.redis.io/releases/redis-6.0.10.tar.gz

ps: 以下安装已redis的6.0.10版本为例,请自行修改相应的内容。

二、解压安装包

2.1 解压安装包并切换目录至安装位置
# -C 参数: 解压至目标目录
tar -zxvf redis-6.0.10.tar.gz -C /usr/local

cd /usr/local/redis-6.0.10
 2.2 对redis进行编译

  注意: 

    1.编译redis 依赖 c 语言环境 ,  查看目标服务器的gcc版本

    2.Redis编译环境依赖gcc版本,  Redis的6版本以上需要gcc版本高于5, 如果gcc版本不够,后续进行编译Redis会失败.

# 查看gcc版本
gcc -v

#升级gcc版本
#安装CentOS软件集合库
yum -y install centos-release-scl

# 安装Devtoolset-9工具集
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

#启用Devtoolset-9 注意: 临时使用,会话关闭就退回之前的版本(也可设置永久使用,自行百度)
scl enable devtoolset-9 bash 

#再次查看版本
gcc -v
2.3.执行make命令进行编译安装
# 切换目录
cd /usr/local/redis-6.0.10 

#执行make命令进行编译
make 

# 编译安装 默认安装到/usr/local/bin 目录下 这个目录是有环境变量的 方便直接使用redis-server、redis-cli等命令, 也可以用prefix 指定安装位置  make PREFIX=/temp install
make install


# 这个命令是检查安装是否完整的
make test

三、修改配置文件

 3.1 以下是直接使用命令修改配置文件内容
#使用命令直接修改参数(懒人直接复制执行即可), 也可以自行使用vi进行文本编译
#主要是利用sed命令和正则匹配 直接修改文件内容

#把保护模式关闭,允许外部连接
sed -i "s/^protected-mode .*/protected-mode no/" redis.conf

#后台进程启动
sed -i "s/^daemonize .*/daemonize yes/" "$redis_conf"

#设置端口号 (不执行命令,则配置中默认使用6379)
sed -i "s/^port .*/port 16379 /" redis_conf

#设置绑定的ip (把下面的192.168.195.59 替换为当前机器真实的ip)
sed -i "s/^bind .*/bind 192.168.195.59  127.0.0.1 /" redis_conf

#设置访问密码 (修改命令中的密码: Test2024 )
sed -i "s/^# requirepass .*/requirepass Test2024 /" redis_conf
 
#设置配置日志文件位置 (可自行修改需要路径  替换 /usr/local/redis-6.0.10/redis.log ) 
sed -i "s/^logfile .*/logfile  /usr/local/redis-6.0.10/redis.log /" redis_conf

#设置redis的工作目录, 持久化的dump.rdb文件会存放在改目录下, 但是需要手动创建好文件夹,不然redis启动时会报错
make -p /usr/local/redis-6.0.10/working
sed -i "s/^dir .*/dir /usr/local/redis-6.0.10/working /" redis_conf

#不设置系统进程管理你的redis服务 则使用下面的命令来启动redis服务
#自己启动redis进程 --daemonize yes 表示后台启动
./src/redis-server ./redis.conf 

#使用redis客户端登录Redis 
#-h 指定连接的ip 默认使用127.0.0.1  -p 端口号, 不指定则默认使用6379  -u 指定用户名
#-a 指定密码 会提示这样登录不安全, 这会在命令历史中留下密码
./src/redis-cli -p 16379 -a Test2024 


#优雅安全的连接上Redis
./src/redis-cli

#然后在 redis-cli 提示符下输入:
#redis默认用户是default
auth default Test2024

四、设置开机自动启动和自动保活(系统服务管理Redis)

     4.1.这个配置文件通过使用 systemd 的标准配置方法,将 Redis 服务器作为一个系统服务进行管理,使得 Redis 能够在系统启动时自动启动,或在出现问题时自动重启,提高了其运行的可靠性。
#设置系统进程管理redis 写入配置文件
# ExecStart 指定启动服务时执行的命令,这里是启动 Redis 服务器,并指定配置文件的路径。
# ExecStop 指定停止服务时执行的命令,这里使用 Redis 命令行工具来安全关闭 Redis 服务器。
# Restart=always 设置服务总是在停止后重启。参数可配置(no always on-success on-failure等,具体自行百度)
# RestartSec=30 设置服务在尝试重启之前等待的秒数。

#复制以下内容对安装路径和其他参数修改  直接执行即可

cat <<EOF | sudo tee /etc/systemd/system/redis.service > /dev/null
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis-6.0.10/src/redis-server /usr/local/redis-6.0.10/redis.conf
ExecStop=/usr/local/redis-6.0.10/src/redis-cli shutdown
Restart=always
RestartSec=30

[Install]
WantedBy=multi-user.target
EOF
   注意:  Type=forking 这个参数设置子进程启动,刚好配合Redis配置文件中的daemonize 参数使用, 不配置这个Type的话, 需要把daemonize设置为no, 否则systemctl 启动Redis时候会失败。原因是: Redis是后台进程启动,导致systemd 认为服务启动是失败的。
4.2 刷新上面的系统配置
#自行检查 redis.service 内容, 不对自行修改
cat /etc/systemd/system/redis.service


#重新加载Systemd管理的所有服务
sudo systemctl daemon-reload

#启用系统管理Redis服务
systemctl enable redis.service

#启动Redis服务
systemctl start redis

#查看redis运行状态
systemctl status redis

#查看redis进程
pe -ef | grep redis
4.3.其他常用命令
#重启redis
systemctl restart redis

五、防火墙相关设置

5.1.端口开放

如果您的机器有防火墙, 那就要对上面的redis端口进行开放, 这样才可以连接上Redis

以下是一些关于防火墙相关的命令

#查看防火墙状态
systemctl status firewalld

#开启防火墙
systemctl start firewalld

#关闭防火墙 
systemctl stop firewalld

#重启防火墙 
service firewalld start

#若遇到无法开启
#先用
systemctl unmask firewalld.service
#然后
systemctl start firewalld.service

#查询指定端口是否开启
firewall-cmd --query-port=8088/tcp

#添加指定需要开放的端口
firewall-cmd --add-port=8088/tcp --permanent

#重载入添加的端口 新增或删除了端口的开放权限需要reload一下
firewall-cmd --reload


#查询开放的防火墙端口列表
firewall-cmd --zone=public --list-ports

#移除指定端口:
firewall-cmd --permanent --remove-port=8088/tcp

注: 若开放了端口还是连接不上你想要的端口,注意:有可能是你阿里云自带安全组策略限制的原因,这种情况需要在阿里云官方云服务器管理控制台手动开放。

根据你的Redis端口进行设置防火墙吧

Ps: 后续继续分享关于redis的哨兵集群、分片集群的部署和自动化执行脚本等

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值