安装
下载
redis官网地址:https://redis.io/
centos安装
- 创建软件放置目录
mkdir soft
- 进入soft目录并下载redis安装包。
cd soft
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
- 解压
tar -zxvf redis-6.0.9.tar.gz
- 进入解压后目录,并查看README文件。了解软件说明和使用方式。
# 阅读README,查看软件说明。可以得知在根目录下执行make命令
vi README
- 执行
make
命令进行编译。正确编译后可在src目录下看到运行redis的方法
- 创建服务,便于日后进行管理
make PREFIX=/opt/endea/redis install
#设置环境变量
vi /etc/profile
REDIS_HOME=/opt/endea/redis
export PATH=$PATH:$REDIS_HOME/bin
source /etc/profile
cd /utils
./install_server.sh
#一步一步安装,选择端口号,配置文件目录,日志目录,数据目录;可以执行多次,执行一次安装创建一个redis实例进程,但是端口号不能一致
常见问题
make失败问题
根据日志进行查看,结合日志进行查看
未安装编译工具引起
yum install gcc
gcc版本问题引起
报错如下:
server.c:5127:29: 错误:‘struct redisServer’没有名为‘pidfile’的成员
if (background || server.pidfile) createPidFile();
^
server.c:5132:16: 错误:‘struct redisServer’没有名为‘sentinel_mode’的成员
if (!server.sentinel_mode) {
^
server.c:5142:19: 错误:‘struct redisServer’没有名为‘cluster_enabled’的成员
if (server.cluster_enabled) {
^
server.c:5150:19: 错误:‘struct redisServer’没有名为‘ipfd_count’的成员
if (server.ipfd_count > 0 || server.tlsfd_count > 0)
^
server.c:5150:44: 错误:‘struct redisServer’没有名为‘tlsfd_count’的成员
if (server.ipfd_count > 0 || server.tlsfd_count > 0)
原因: gcc版本和redis版本不兼容
查看gcc版本:
gcc -v
解决方法:升级gcc版本
yum -y install centos-release-scl # 升级到9.1版本
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#永久使用gcc9.1版本
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
#临时使用gcc9.1版本
scl enable devtoolset-9 bash
./install_server.sh安装失败问题
问题如下:
This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!
解决方案:
打开install_server.sh文件(vi install_server.sh
),注释如下内容即可。
#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
# exit 1
#fi