linux redis安装报错,Linux安装Redis实现过程及报错解决方案

今天安装redis出现些之前安装不曾出现错误,一并在此做个记录

一、安装redis及出现错误

首先下载redis,官方下载地址页面:https://redis.io/download

我们这里选择稳定版6.0.1版本

40246fe25116e7d33ee0841a9e6c416f.png

正常安装步骤如下:

[root@localhost ~]# yum install gcc

[root@localhost ~]# cd /usr/local

[root@localhost local]# wget http://download.redis.io/releases/redis-6.0.1.tar.gz

[root@localhost local]# tar -xvf redis-6.0.1.tar.gz

[root@localhost local]# cd /usr/local/redis-6.0.1/

[root@localhost redis-6.0.1]# make PREFIX=/usr/local/redis install

这里报了如下错误

make[1]: *** [server.o] 错误 1

make[1]: 离开目录“/usr/redis-6.0.1/src”

make: *** [all] 错误 2server.c:2402:11: 错误:‘struct redisServer"没有名为‘assert_file"的成员

server.assert_file = "";

^

server.c:2403:11: 错误:‘struct redisServer"没有名为‘assert_line"的成员

server.assert_line = 0;

^

server.c:2404:11: 错误:‘struct redisServer"没有名为‘bug_report_start"的成员

server.bug_report_start = 0;

^

server.c:2405:11: 错误:‘struct redisServer"没有名为‘watchdog_period"的成员

server.watchdog_period = 0;

^

server.c:2411:11: 错误:‘struct redisServer"没有名为‘lua_always_replicate_commands"的成员

server.lua_always_replicate_commands = 1;

^

server.c: 在函数‘restartServer"中:

server.c:2464:32: 错误:‘struct redisServer"没有名为‘maxclients"的成员

for (j = 3; j < (int)server.maxclients + 1024; j++) {

^

server.c: 在函数‘adjustOpenFilesLimit"中:

server.c:2491:29: 错误:‘struct redisServer"没有名为‘maxclients"的成员

rlim_t maxfiles = server.maxclients+CONFIG_MIN_RESERVED_FDS;

^

server.c:2497:15: 错误:‘struct redisServer"没有名为‘maxclients"的成员

server.maxclients = 1024-CONFIG_MIN_RESERVED_FDS;

^

server.c:2529:53: 错误:‘struct redisServer"没有名为‘maxclients"的成员

unsigned int old_maxclients = server.maxclients;

^

server.c:2530:23: 错误:‘struct redisServer"没有名为‘maxclients"的成员

server.maxclients = bestlimit-CONFIG_MIN_RESERVED_FDS;

^

server.c:2554:59: 错误:‘struct redisServer"没有名为‘maxclients"的成员

(unsigned long long) bestlimit, server.maxclients);

^

server.c: 在函数‘checkTcpBacklogSettings"中:

server.c:2574:48: 错误:‘struct redisServer"没有名为‘tcp_backlog"的成员

if (somaxconn > 0 && somaxconn < server.tcp_backlog) {

^

server.c:2575:171: 错误:‘struct redisServer"没有名为‘tcp_backlog"的成员

serverLog(LL_WARNING,"WARNING: The TCP backlog setting of %d cannot be enforced because /proc/sys/net /core/somaxconn is set to the lower value of %d.", server.tcp_backlog, somaxconn);

3a8ccb92aefe3e871867530fcb8ca519.png

bb60e2fd2e71b6053a0b149cdfdbf3bd.png

19ae849c5a0e8b2ce3414a4540a1d6cd.png

解决办法:升级gcc版本

[root@localhost redis-6.0.1]# gcc -v # 查看gcc版本

[root@localhost redis-6.0.1]# yum -y install centos-release-scl # 升级到9.1版本

[root@localhost redis-6.0.1]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

[root@localhost redis-6.0.1]# scl enable devtoolset-9 bash

以上为临时启用,如果要长期使用gcc 9.1的话:

[root@localhost redis-6.0.1]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

再执行编译:

[root@mmjredis redis-6.0.1]# make PREFIX=/usr/local/redis install

安装成功会出现:Hint: It"s a good idea to run "make test" 😉

bc1ec6aafd26e3bb53331dc446559e0f.png

我们执行一下make test来进行测试一下

出现了如下错误:

[root@localhost redis-6.0.1]# make test

cd src && make test

make[1]: 进入目录“/usr/redis-6.0.1/src”

CC Makefile.dep

make[1]: 离开目录“/usr/redis-6.0.1/src”

make[1]: 进入目录“/usr/redis-6.0.1/src”

You need tcl 8.5 or newer in order to run the Redis test

make[1]: *** [test] 错误 1

make[1]: 离开目录“/usr/redis-6.0.1/src”

make: *** [test] 错误 2

46853c0fcbe1f928af71037b5c0c8e99.png

解决办法:

[root@localhost redis-6.0.1]# yum install tcl[root@localhost redis-6.0.1]# make test

测试成功如下:

9cacfd30c481a6def55e57a390e82469.png

先运行redis试一下:

[root@localhost redis-6.0.1]# /usr/local/redis-6.0.1/src/redis-server /usr/local/redis-6.0.1/redis.conf

32101:C 13 May 2020 17:01:48.248 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

32101:C 13 May 2020 17:01:48.248 # Redis version=6.0.1, bits=64, commit=00000000, modified=0, pid=32101, just started

32101:C 13 May 2020 17:01:48.248 # Configuration loaded

32101:M 13 May 2020 17:01:48.249 * Increased maximum number of open files to 10032 (it was originally set to 1024).

_._

_.-``__ ""-._

_.-`` `. `_. ""-._ Redis 6.0.1 (00000000/0) 64 bit

.-`` .-```. ```/ _.,_ ""-._

( " , .-` | `, ) Running in standalone mode

|`-._`-...-` __...-.``-._|"` _.-"| Port: 6379

| `-._ `._ / _.-" | PID: 32101

`-._ `-._ `-./ _.-" _.-"

|`-._`-._ `-.__.-" _.-"_.-"|

| `-._`-._ _.-"_.-" | http://redis.io

`-._ `-._`-.__.-"_.-" _.-"

|`-._`-._ `-.__.-" _.-"_.-"|

| `-._`-._ _.-"_.-" |

`-._ `-._`-.__.-"_.-" _.-"

`-._ `-.__.-" _.-"

`-._ _.-"

`-.__.-"

3c863e1a57c73d9a40750711252c0b92.png

二、后台启动

简单修改后台启动

[root@localhost redis-6.0.1]# vim redis.conf

daemonize no 改成 daemonize yes

再来运行一下

[root@localhost redis-6.0.1]# /usr/redis-6.0.1/src/redis-server /usr/redis-6.0.1/redis.conf

30385:C 13 May 2020 16:57:58.918 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

30385:C 13 May 2020 16:57:58.918 # Redis version=6.0.1, bits=64, commit=00000000, modified=0, pid=30385, just started

30385:C 13 May 2020 16:57:58.918 # Configuration loaded

后台运行成功,我们查看一下,并终止程序

[root@localhost redis-6.0.1]# ps -aux|grep redis| grep -v grep

root 29836 0.0 0.0 162416 7912 ? Ssl 16:56 0:00 /usr/redis-6.0.1/src/redis-server 127.0.0.1:6379

[root@localhost redis-6.0.1]# kill -9 29836

我们这里用到的是用后台systemctl启动redis

首先把redis加入service服务

vim /lib/systemd/system/redis.service

写入

[Unit]

Description=redis

After=network.target

[Service]

Type=forking

PIDFile=/var/run/redis_6379.pid

ExecStart=/usr/local/redis-6.0.1/src/redis-server /usr/local/redis-6.0.1/etc/redis.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

注意路径问题,以及PIDFile的路径对应的是redis-6.0.1/src/redis-server里面的PIDFile

wq保存退出即可

接着运行以下

[root@localhost redis-6.0.1]# systemctl enable redis.service # 加入开机启动

[root@localhost redis-6.0.1]# systemctl is-enabled redis.service # 查看开机是否启动成功

enabled

[root@localhost redis-6.0.1]# systemctl start redis #开启redis服务

[root@localhost redis-6.0.1]# systemctl status redis //查看redis运行状态

如果启动出现问题,可以通过systemctl status redis来查看日志修复

7a1119ec15dc04ad9b2084e573ca0e5a.png

如图已经启动成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云海天教程。

原文链接:https://www.cnblogs.com/shook/p/12883742.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 工资管理软件_4_python之路之模拟工资管理系统

#!/usr/bin/env python#_*_ coding: utf-8 _*_#author&#xff1a;chenjianwen#email&#xff1a;1071179133qq.com importsys,os##定义操作列表 ops [查询员工工资,修改员工工资,增加新员工记录,退出] info{}defget_info():##读取文件得到员工信息 globalinfo with open(info…

dateformat 返回类型_SpringBoot返回date日期格式化

SpringBoot返回date日期格式化&#xff0c;解决返回为TIMESTAMP时间戳格式或8小时时间差问题描述在Spring Boot项目中&#xff0c;使用RestController注解&#xff0c;返回的java对象中若含有date类型的属性&#xff0c;则默认输出为TIMESTAMP时间戳格式(数据库datetime类型查询…

linux gcc中sin30度,学习gcc.pdf

学习gcc如何在 Ubuntu 下安装和使用 gccGCC 是在Linux 系统中用的比较多的编译器&#xff0c;一般做Linux 开发的朋友都会用 GCC 编译器&#xff0c;但今天在 Ubuntu 上安装 GCC 时出现了问题&#xff0c;于是上网查询如何在Ubuntu 上安装 GCC&#xff0c;答案如下&#xff1a;…

python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法

本文实例为大家分享了python实现单链表中删除倒数第K个节点的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 题目&#xff1a; 给定一个链表&#xff0c;删除其中倒数第k个节点。 代码&#xff1a; class LinkedListAlgorithms(object): def __init__(self): pass d…

工业机器人工具中心点标定的意义_一种利用平面标定板的机器人工具中心点标定方法_2015108676182_说明书_专利查询_专利网_钻瓜专利网...

技术领域本发明涉及机器人工具中心点(Toolcenterpoint,TCP)标定方法&#xff0c;尤其涉及一种利用平面标定板的机器人工具中心点标定方法。背景技术机器人工具中心点(Toolcenterpoint,TCP)是与机器人工具固连的工具坐标系的原点&#xff0c;工具实际工作点在工具坐标系中的坐标…

自动感光调节LED灯亮度C语言程序,单片机PWM调节LED灯亮度

刚搞完飞思卡尔智能车&#xff0c;昨天我一起做车的搭档跑来跟我说魏老师(我们系的前主任&#xff0c;不知道他们怎么认识的....)叫他帮忙做个可通过无线遥控调节LED灯亮度的设计方案&#xff0c;问我有没有兴趣做做&#xff0c;主要是魏老师也是受他以前的老同学(合工大的....…

python找到字符中空格所在的位置_Python 查找字符在字符串中的位置示例效果

Python 查找字符在字符串中的位置实例 下面为大家分享一篇Python 查找字符在字符串中的位置实例&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。一起过来看看吧 str_1wo shi yi zhi da da niu char_1i nPosstr_1.index(char_1) print(nPos) 运行结果&#xf…

ztree 自定义参数_Ztree节点前加上两个自定义按钮

前言&#xff1a;在我的权限管理模块遇到了给某些角色加权限的问题&#xff0c;这时就需要实现将每个模块做成树&#xff0c;在每个节点前加上预览和编辑的按钮&#xff0c;这样可以根据数据库的某个字段给每个角色赋权限。必须必须吐槽的是&#xff0c;这部分的功能在网上没找…

xilinx c语言编程,使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld

关于Xilinx SDSoc的介绍我就不再复述了&#xff0c;我理解的也不一定准确&#xff0c;可以阅读官方文档了解SDSoc&#xff0c;你可以把它理解为一个集成开发环境 (IDE)&#xff0c;通过SDSoc我们能够简单快速的对Xilinx的开发板进行编程&#xff0c;不用像传统的嵌入式编程那样…

python画图小猪佩奇_吊炸天!Python 20秒画出小猪佩奇

原标题&#xff1a;吊炸天&#xff01;Python 20秒画出小猪佩奇 今年社交平台上的带货女王是谁?范冰冰?杨幂?Angelababy?不&#xff0c;是猪猪女孩小猪佩奇。 小猪佩奇在构图基本是各种曲线&#xff0c;类抛物线、类圆、类椭圆、类二次贝塞尔曲线。因为画图画曲线不是Pytho…

win10c语言错误,win10打开程序提示错误状态0xc0000020的原因和解决方法

win10系统打开程序弹出“c:\xx\xxx.dll没有被指定在windows上运行&#xff0c;或者它包含错误。请尝试使用原始安装介质重新安装程序&#xff0c;或联系你的系统管理员或软件供应商以获取支持。错误状态0xc0000020 ”的提示&#xff0c;这到底是什么情况&#xff1f;这 一般是由…

poll和死锁_计算机基础知识

转自&#xff1a;http://blog.csdn.net/qq_15437629/article/details/52388685在这里只做备份计算机网络TCP/IP模型TCP/IP协议集的分层实施:为什么要给网络划分层次&#xff1f;(1)各层之间相对独立&#xff0c;每层都可以用最合适的技术实现&#xff1b;(2)各层只需知道通过层…

matlab 向量_Matlab基础入门

感谢大家观看你所做的事情,也行暂时看不到成功,但不要灰心,你并不是没有成长,而是在扎根.前情提要本篇文章将会分多次发放(原因内容太长,导致写的是否微信卡崩了&#x1f643;), 目的在于从基础的Matlab的教程开始慢慢的深入. 如果大家看到该文章有些格式上的错误或内容上的错误…

2017蓝桥c语言真题,[蓝桥杯][2017年第八届真题]发现环 (C语言代码)------------C语言——菜鸟级...

解题思路:并查集 找环 未成环之前 看作一个树用并查集找到环 两点 找的同时 建立一个 并查集树(自己瞎起的)找到两点后从两个点分别回到并查集的根节点经过的点标记上 这两个点单独经过的点(交点处除外)都是环上点原文 欢迎访问 我的博客注意事项:参考代码:#include#include#d…

python34.dll_python34.dll下载

缺少python34.dll&#xff1f;python34.dll文件是存放在电脑系统中很重要的一个文件&#xff0c;是电脑程序正常运行的重要支持&#xff0c;大家要是发现这个文件缺少了就要立马重新下载一个&#xff0c;欢迎有需要的朋友来当易网下载。dll文件特点推广模块式体系结构DLL 有助于…

python全文检索引擎_Python中使用haystack实现django全文检索搜索引擎功能

{% if query %}搜索结果如下&#xff1a; {% for result in page.object_list %} {{ result.object.gName }} {% empty %}啥也没找到 {% endfor %} {% if page.has_previous or page.has_next %}{% if page.has_previous %}{% endif %} 上一页{% if page.has_previous %}{% end…

c语言音像图书管理系统设计,c语言--图书管理系统

(1)创建音像图书库。此图书库中有图书&#xff0c;VCD&#xff0c;录像带3类&#xff0c;而每个音像图书的信息均包括编号(用B**,V**,R**分别表示图书&#xff0c;VCD和录像带的编号)&#xff0c;名称&#xff0c;原价&#xff0c;原数量及剩余数量。(2)租借音像图书。在文件&q…

python环境配置opencv_【Python】python2.7 安装配置OpenCV2

原博文 2017-05-23 22:28 − 环境&#xff1a;Ubuntu16.04 anaconda Python2.7 opencv2.4.13 安装opencv后 import cv2 遇到错误信息&#xff1a; No module named cv2 安装opencv时make的过程中会出现文件“cv2.so”&#xff0c;它是连接OpenCV和... 相关推荐 2019-12-04 13:5…

流水灯c语言程序延时失败,用c8051f340做控制流水灯实验,程序会卡死在延时函数中 ,只要在那加延时函数程序就只能跑到那,代码如下...

满意答案lohboon2016.07.31采纳率&#xff1a;52% 等级&#xff1a;7已帮助&#xff1a;1159人#include "reg52.h"#define uint unsigned int#define uchar unsigned charsbit K1 P3^2; //独立按键void Delayms(uint x){ uint i,j; for(ix;i>0;i--) for(j100;…

杨辉三角python代码 不要括号_关于杨辉三角python代码的问题

匿名用户1级2017-09-02 回答杨辉三角&#xff0c;是二项式系数在三角形中的一种几何排列。前提&#xff1a;每行端点与结尾的数为1.每个数等于它上方两数之和。每行数字左右对称&#xff0c;由1开始逐渐变大。第n行的数字有n项。第n行数字和为2n-1。第n行的m个数可表示为 C(n-1…