ubuntu18.0 手动安装redis5.0.4,系统自启动

Redis介绍——Linux(ubuntu)环境Redis安装全过程和遇到的问题及解决方案

一:redis的入门介绍:

1.是什么

--REmote DIctionary Server(远程字典服务器)

--完全开源免费,用c语言编写的,遵守BSD协议

--高性能(key/value)分布式内存数据库,基于内存运行。并支持持久化的NoSql数据库。

--Redis于其他key-value产品的三个特点

(1)可以持久化,到磁盘

(2)数据类型多,list,set,zset,hash的数据结构的存储

(3)支持数据备份,即master-slave模式

2.能干嘛

--内存的存储和持久化

--发布,订阅消息系统

--定时器、计算器

3.去哪里下载

--官网 www.redis.cn

4.怎么玩

--数据类型的基本操作

--持久化和复制

--事务的控制 - 部分成,不保证事务

--......

二:Redis安装全过程和遇到问题解决方案

1.新建目录

sudo mkdir software

2.切换目录

cd software

3.下载redis到software目录中

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

4.解压完成,进入解压的目录,使用make命令

安装make

apt-get update

sudo apt-get update

sudo apt-get install ubuntu-make


[test@localhost redis-5.0.4]# sudo make

然后遇到错误了!如下所示:老长一串了!大概看看就行!

make[1]: Entering directory `/software/redis/redis-5.0.4/src'

rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html

(cd ../deps && make distclean)

make[2]: Entering directory `/software/redis/redis-5.0.4/deps'

(cd hiredis && make clean) > /dev/null || true

(cd linenoise && make clean) > /dev/null || true

(cd lua && make clean) > /dev/null || true

(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true

(rm -f .make-*)

make[2]: Leaving directory `/software/redis/redis-5.0.4/deps'

(rm -f .make-*)echo STD=-std=c99 -pedantic >> .make-settingsecho WARN=-Wall -W >> .make-settingsecho OPT=-O2 >> .make-settingsecho MALLOC=jemalloc >> .make-settingsecho CFLAGS= >> .make-settingsecho LDFLAGS= >> .make-settingsecho REDIS_CFLAGS= >> .make-settingsecho REDIS_LDFLAGS= >> .make-settingsecho PREV_FINAL_CFLAGS=-std=c99 -pedantic -Wall -W -O2 -g -ggdb  -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settingsecho PREV_FINAL_LDFLAGS=  -g -ggdb -rdynamic >> .make-settings

(cd ../deps && make hiredis linenoise lua jemalloc)

make[2]: Entering directory `/software/redis/redis-5.0.4/deps'

(cd hiredis && make clean) > /dev/null || true

(cd linenoise && make clean) > /dev/null || true

(cd lua && make clean) > /dev/null || true

(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true

(rm -f .make-*)

(echo "" > .make-ldflags)

(echo "" > .make-cflags)

MAKE hirediscd hiredis && make static

make[3]: Entering directory `/software/redis/redis-5.0.4/deps/hiredis'

gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c

make[3]: gcc:命令未找到

make[3]: *** [net.o] 错误 127make[3]: Leaving directory `/software/redis/redis-3.0.4/deps/hiredis'

make[2]: *** [hiredis] 错误 2make[2]: Leaving directory `/software/redis/redis-3.0.4/deps'

make[1]: [persist-settings] 错误 2 (忽略)

    CC adlist.o

/bin/sh: cc: command not found

make[1]: *** [adlist.o] 错误 127make[1]: Leaving directory `/software/redis/redis-5.0.4/src'make: *** [all] 错误 2

怎么解决呢,安装进行不下去了,仔细看错误,发现make[3]: gcc:命令未找到 ,是gcc的问题啊!

安装gcc

sudo apt-get install gcc

5.再此使用make命令

然后发现又有问题出现了?出错信息如下:

cd src && make allmake[1]: Entering directory `/software/redis/redis-5.0.4/src'    CC adlist.o在包含自 adlist.c:34的文件中:zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录zmalloc.h:55:2: 错误:#error"Newer version of jemalloc required"make[1]: ***[adlist.o]错误1make[1]: Leaving directory `/software/redis/redis-5.0.4/src'make: ***[all]错误2

备注:没有文件或者目录 ,这个是残存文件需要处理,使用命令make distclean

sudo make distclean

6.再此执行sudo make 命令,一切ok了!

ps:

现在,我们可以通过键入以下内容来编译Redis二进制文件:

make

在编译二进制文件之后,运行测试套件以确保所有内容都正确构建。你可以通过输入以下命令来完

make test

这通常需要几分钟的时间才能运行。一旦完成,您可以通过键入以下命令将二进制文件安装到系统上:

sudo make install

7.备份redis.conf,启动redis服务

注:安装了软件之后需要更改配置文件最好将原始的文件备份一份出来。

(1)进入到redis的目录:

cd /software/redis/redis-5.0.4

(2)备份redis.conf

cp redis.conf redis.conf.bak

(3)修改redis.conf

sudo vi redis.conf

(4):/+关键字  直接定位到查找位置

daemonize yes#其他的配置暂时使用默认#默认的端口是port 6379

(5)#切换到安装目录

cd /software/redis/redis-5.0.4/src/

(6)启动redis

./redis-server

(7)切换到命令行

Ctr+C

(8)验证redis服务是否正常

test@test:/software/redis/redis-5.0.4/src$ ./redis-cli

redis安装结束

三、redis随系统自启动

在Redis安装路径(就是上一步make的路径)之下,找到utils目录,其中有个redis_init_script文件。将其作为自启动配置文件。如图。

将redis_init_script文件重新命名为redisd,作为系统启动服务名(以d结尾表示是自启动服务,约定俗成)。

修改redisd文件,注意要在文件头部加上两句注释来设定该服务的运行级别:

#!/bin/sh

# chkconfig:  2345 90 10

文件正文部分参照:

REDISPORT=6379

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.conf"

其中,6379是redis端口号;CONF是redis配置文件,将在下一步设置;EXEC、CLIEXEC是服务所在路径,在上步make install时,已经放入默认路径/usr/local/bin中,如图:

步骤4:设置Redis配置文件

在redis安装目录下,找到redis.conf文件,如图

将这个文件复制到 /etc/redis 目录,并改名为“6379.conf”,然后修改此文件内容。

设置daemonize为yes,使服务可以后台运行:

daemonize yes

设置log文件路径:(ps:先新建文件,并赋权限chmod)

logfile /var/log/redis/redis-server.log

设置持久化文件存放路径:(ps:先新建文件,并赋权限chmod)

dir /var/lib/redis


执行开机自启动命令

执行:

sudo chmod +x /etc/init.d/redisd

然后执行:

sudo update-rc.d redisd defaults

附:常用redis命令

启动Redis服务可以执行:

service redisd start

关闭服务:

service redisd stop

重启服务:

service redisd restart

在控制台中进入redis客户端:

redis-cli

重启系统:

sudo reboot

参考:https://blog.csdn.net/softwave/article/details/53838194

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。