最近安装了下redis遇到了些问题,现记录如下:
正常流程如下:

1.获取redis资源

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

2.解压

tar xzvf redis-4.0.8.tar.gz

3.安装

cd redis-4.0.8

make

cd src

make install PREFIX=/usr/local/redis

4.移动配置文件到安装目录下

cd …/

mkdir /usr/local/redis/etc

mv redis.conf /usr/local/redis/etc

5.配置redis为后台启动

vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes

6.将redis加入到开机启动

vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)

7.开启redis

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

常用命令

redis-server /usr/local/redis/etc/redis.conf //启动redis

pkill redis //停止redis

卸载redis:

rm -rf /usr/local/redis //删除安装目录

rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本

rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹


后面自己装的

  1. 解压文件:
    tar xzvf redis-2.8.17.tar.gz
    
  2. 进入目录
    cd redis-2.8.17
    
  3. 编译
    make
    
  4. 测试
    make test
    
    通过会出现下面的提示:
    安装redis 及常见问题_linux

如果途中一个错误都没有遇见,那么恭喜你,成功编译过去,下面的错误可以不用理会

途中遇到的错误如下:
1、cc: command not found
出现这个错误,网上的解决方案是安装gcc

	apt-get install gcc

但是我是装过gcc的,还是装的支持C++11版本的
所以我肯定不会重新用apt-get重装一个不支持C++11的低版本gcc,解决方案的就是在每个makefile文件中加上

CC=gcc

2、

#make
cd src && make all
make[1]: Entering directory `/software/redis-2.8.8/src'
    CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/software/redis-2.8.8/src'
make: *** [all] Error 2

在第一次make的时候加上MALLOC=libc即可,我本人表示就第一次加过,后面make没加也没出现过这个错误了,因为后续会报另外一个错误。
3、

gcc: error: ../deps/lua/src/liblua.a: No such file or directory

这个错误,网上的解决方法几乎千篇一律,如下图

安装redis 及常见问题_linux_02
表示他的错误解决了,我的并没有解决。于是乎,自己进入makefile,记录一下第一个要改的地方是:

cd  deps/lua
vim Makefile

安装redis 及常见问题_redis环境部署_03
默认是5.1,我自己安装的5.3所以根据自己的版本来修改,保存并退出

:wq

然后make linux,即可,不然有什么生效,表示我并不是在这里make的,我是进入到src里面make的,

cd src
make linux

为什么要进入到src里面呢?因为我还是报了一个错,就是第一个错cc:命令不知道,

vim Makefile

安装redis 及常见问题_redis环境部署_04
将CC?=gcc的?去掉保存并退出。
在src里面执行命令:

make linux

再次ls,会发现liblua.a就生成了。
4、

hadoop@stormspark:~/workspace/redis2.6.13/src$ make test
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1

解决方式:
安装tcl

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz  
sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/  
cd  /usr/local/tcl8.6.1/unix/  
sudo ./configure  
sudo make  
sudo make install   

再次运行make test即可