扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
############################
成都创新互联成立十多年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都网站建设、做网站、网站策划、网页设计、域名与空间、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。
基础环境
OS: centos 6.6
DB: redis 3.0.7
#############################
1.下载源码包,稳定版本
http://redis.io/ -->Download it -->download 3.0.7.
2.上传到服务器/usr/local目录下,解压缩
#cd /usr/local
# tar -zxvf redis-3.0.7.tar.gz
3.编译
# cd redis-3.0.7
# make
#make test --可以省略
4.安装
# make install
5.安装数据库设置,可以设置不同端口,多个实例
# ./utils/install_server.sh --可以运行多次
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port : 6379
Config file : /etc/redis/6379.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/6379
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
6.验证
# ps -ef |grep redis
# chkconfig --list |grep redis
redis_6379 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# redis-cli -p 6379
127.0.0.1:6379> info
7.启停
#service redis_6379 stop
#service redis_6379 start
8.问题总结:
1)安装gcc、jemalloc
# yum -y install gcc
# rpm -ivh jemalloc-3.6.0-1.el6.x86_64.rpm
2)make时报如下错误,一定要用jemalloc
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
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。
解决方法:
#make MALLOC=libc
3)make之后,会出现一句提示
Hint: To run 'make test' is a good idea ;)
但是不测试,通常是可以使用的。若我们运行make test ,会有如下提示
#make test
You need tcl 8.5 or newer in order to run the Redis test
make: ***[test] Error_1
解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)
#yum install tcl
4)编译测试报错
*** [err]: Test replication partial resync: no backlog (diskless: no, reconnect: 1) in tests/integration/replication-psync.tcl
Expected condition '[s -1 sync_partial_err] > 0' to be true ([s -1 sync_partial_err] > 0)
Cleanup: may take some time... OK
make[1]: *** [test] 错误 1
make[1]: Leaving directory `/usr/local/redis-3.0.7/src'
make: *** [test] 错误 2
解决办法:
在速度较慢的机器上执行make test可能出现下列错误,无影响
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流