CentOS 7安装redis6.2.6

  • 1. 官网下载redis文件
  • 2. 校验安装依赖
  • 2.1 安装系统默认版本gcc
  • 2.2 升级gcc版本
  • 3. 解压编译安装
  • 4. 修改配置redis.conf
  • 4.2 设置密码
  • 4.3 绑定ip(可选)
  • 5. 启动redis服务并测试
  • 5.2 测试安装是否成功
  • 5.3 redis开机自启配置
  • 6.开放防火墙端口


1. 官网下载redis文件

两种方式进行下载

1.使用wget命令直接下载到服务器目录下

wget https://download.redis.io/releases/redis-6.2.6.tar.gz 2.直接去官网下载,然后上传到服务器指定目录下

redis对外服务需要开哪些端口_指定目录


放置目录如下

redis对外服务需要开哪些端口_redis_02

2. 校验安装依赖

2.1 安装系统默认版本gcc

使用 gcc -v 查看当前环境,系统默认的4.8.5版本

redis对外服务需要开哪些端口_指定目录_03


如果是: command not found,则需要先安装gcc。

安装默认版本gcc(安装过程需要输入,一直输入【y】即可):

yum install gcc-c++ 出现【Complete!】即安装成功。

2.2 升级gcc版本

CentOS7安装有默认GCC环境,默认4.8.5版本!编译redis-6.x,要求C5.3以上编译器,否则会遇到大量的错误。主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型_Atomic。但是注意gcc从 4.9 版本才开始正式和完整地支持stdatomic(gcc-4.8.5部分支持)。centos7默认的gcc版本为:4.8.5 < 5.3无法编译。

需要把gcc升级到9版本:

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#设置环境变量:
scl enable devtoolset-9 bash
#验证版本
gcc -v

redis对外服务需要开哪些端口_redis对外服务需要开哪些端口_04

3. 解压编译安装

# 解压下载文件
tar -xzvf redis-6.2.6.tar.gz
#进入解压目录
cd /home/redis-6.2.6
#编译并安装在指定目录
make install PREFIX=/usr/local/redis

如果遇到报错:

zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 没有那个文件或目录
   50 | #include <jemalloc/jemalloc.h>
      |          ^~

解决方法:

#make 时指定分配器为libc
make MALLOC=libc
#再执行编译并安装在指定目录
make install PREFIX=/usr/local/redis

查看安装目录下的bin文件夹,如下即表示成功

redis对外服务需要开哪些端口_redis对外服务需要开哪些端口_05

4. 修改配置redis.conf

4.1 改为守护进程方式运行
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

cp /home/redis-6.2.6/redis.conf /usr/local/redis/bin/

修改配置文件,使redis服务以守护进程的方式运行

cd /usr/local/redis/bin/
vi redis.conf

daemonize no 改成 daemonize yes ,然后保存并退出即可

redis对外服务需要开哪些端口_redis对外服务需要开哪些端口_06

4.2 设置密码

redis对外服务需要开哪些端口_redis对外服务需要开哪些端口_07

4.3 绑定ip(可选)

默认本机,如果希望所有主机都可以访问,可修改为bind 0.0.0.0

redis对外服务需要开哪些端口_指定目录_08

5. 启动redis服务并测试

5.1 启动redis-server

cd /usr/local/redis/bin/
./redis-server redis.conf

查看启动是否成功

ps -ef |grep redis

如下图就表示启动成功

redis对外服务需要开哪些端口_redis_09

5.2 测试安装是否成功

#进入安装目录
cd /usr/local/redis/bin
./redis-cli -p 6379

#如果设置了密码,需要验证
auth 你的密码

使用ping命令,若返回pong表示安装成功

redis对外服务需要开哪些端口_指定目录_10


测试set,get

redis对外服务需要开哪些端口_redis对外服务需要开哪些端口_11

5.3 redis开机自启配置

#进入/lib/systemd/system/目录
cd /lib/systemd/system/
#创建redis.service文件
vim redis.service

redis.service:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
# ExecStart需要按照实际情况修改成自己的地址
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

设置redis开机启动

systemctl enable redis.service

查看是否之前已经启动

ps -ef|grep redis
# 杀死redis线程
kill -9 pid

redis对外服务需要开哪些端口_指定目录_12


启动redis服务

systemctl start redis.service

查看服务状态

systemctl status redis.service

redis对外服务需要开哪些端口_redis_13


其他redis命令

# 停止服务
systemctl stop redis.service
# 取消开机自动启动(卸载服务)
systemctl disabled redis.service

6.开放防火墙端口

#查看防火墙状态
systemctl status firewalld 
#查看开放的端口
firewall-cmd --query-port=6379/tcp
#添加端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent 
#重载防火墙
firewall-cmd --reload 
#再次查看端口是否已经开放
firewall-cmd --query-port=6379/tcp

redis对外服务需要开哪些端口_redis对外服务需要开哪些端口_14