Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Centos7安装redis6.2.6

Centos7安装redis6.2.6全过程

作者:P@ssW0rd

本文介绍了在CentOS7上安装Redis的过程,包括下载、安装依赖(gcc)、解压编译安装、修改配置、启动服务及自启配置等步骤

1. 官网下载redis文件

两种方式进行下载:

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

wget https://download.redis.io/releases/redis-6.2.6.tar.gz

2.直接去官网下载,然后上传到服务器指定目录下

2. 校验安装依赖

2.1 安装系统默认版本gcc

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

如果是: 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

3. 解压编译安装

解压下载文件

tar -xzvf redis-6.2.6.tar.gz
#进入解压目录
cd redis
#编译并安装在指定目录
make install PREFIX=/usr/local/redis/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/redis

查看安装目录下的bin文件夹,有bin目录安装成功

4. 修改配置redis.conf

vi redis.conf

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

5. 启动redis服务并测试

5.1 启动redis-server

./redis-server redis.conf

5.2 测试安装是否成功

#进入安装目录

cd /usr/local/redis/redis/bin
./redis-cli -p 6379

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

测试set,get

set name wq
get name

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/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服务

systemctl start redis.service

查看服务状态

systemctl status redis.service

其他redis命令

停止服务

systemctl stop redis.service

取消开机自动启动(卸载服务)

systemctl disabled redis.service

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文