最近安装了下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解压文件夹
后面自己装的
- 解压文件:
tar xzvf redis-2.8.17.tar.gz
- 进入目录
cd redis-2.8.17
- 编译
make
- 测试
通过会出现下面的提示:make test
如果途中一个错误都没有遇见,那么恭喜你,成功编译过去,下面的错误可以不用理会
途中遇到的错误如下:
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
这个错误,网上的解决方法几乎千篇一律,如下图
表示他的错误解决了,我的并没有解决。于是乎,自己进入makefile,记录一下第一个要改的地方是:
cd deps/lua
vim Makefile
默认是5.1,我自己安装的5.3所以根据自己的版本来修改,保存并退出
:wq
然后make linux,即可,不然有什么生效,表示我并不是在这里make的,我是进入到src里面make的,
cd src
make linux
为什么要进入到src里面呢?因为我还是报了一个错,就是第一个错cc:命令不知道,
vim Makefile
将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即可