博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos7安装Redis3.0.5过程记录
阅读量:6824 次
发布时间:2019-06-26

本文共 9366 字,大约阅读时间需要 31 分钟。

  hot3.png

  • 先更新一下系统。

[janl@svr1 ~]$ sudo yum update[sudo] password for janl:Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirror.bit.edu.cnNo packages marked for update
  • 没有wget,先安装wget.

[janl@svr1 ~]$ sudo yum install wget

  • 下载Redis 3.0.5 源码压缩包。

[janl@svr1 ~]$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz--2015-11-17 23:01:06--  http://download.redis.io/releases/redis-3.0.5.tar.gzResolving download.redis.io (download.redis.io)... 109.74.203.151Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1366160 (1.3M) [application/x-gzip]Saving to: ‘redis-3.0.5.tar.gz’100%[======================================================================================================>] 1,366,160   14.2KB/s   in 55s2015-11-17 23:02:04 (24.3 KB/s) - ‘redis-3.0.5.tar.gz’ saved [1366160/1366160][janl@svr1 ~]$ lsredis-3.0.5.tar.gz
  • 解压源码包。

[janl@svr1 ~]$ tar xvzf redis-3.0.5.tar.gz
  • 编译

[janl@svr1 ~]$ lltotal 1340drwxrwxr-x. 6 janl janl    4096 Oct 15 09:44 redis-3.0.5-rw-rw-r--. 1 janl janl 1366160 Oct 15 09:48 redis-3.0.5.tar.gz[janl@svr1 ~]$ cd redis-3.0.5[janl@svr1 redis-3.0.5]$ ls00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README      runtest          runtest-sentinel  src    utilsBUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     tests[janl@svr1 redis-3.0.5]$ make
  •  排错,没有gcc,安装gcc-c++ 

cd src && make allmake[1]: Entering directory `/home/janl/redis-3.0.5/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 `/home/janl/redis-3.0.5/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 `/home/janl/redis-3.0.5/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 `/home/janl/redis-3.0.5/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-cflags)(echo "" > .make-ldflags)MAKE hirediscd hiredis && make staticmake[3]: Entering directory `/home/janl/redis-3.0.5/deps/hiredis'gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.cmake[3]: gcc: Command not foundmake[3]: *** [net.o] Error 127make[3]: Leaving directory `/home/janl/redis-3.0.5/deps/hiredis'make[2]: *** [hiredis] Error 2make[2]: Leaving directory `/home/janl/redis-3.0.5/deps'make[1]: [persist-settings] Error 2 (ignored)    CC adlist.o/bin/sh: cc: command not foundmake[1]: *** [adlist.o] Error 127make[1]: Leaving directory `/home/janl/redis-3.0.5/src'make: *** [all] Error 2
[janl@svr1 redis-3.0.5]$ sudo yum install gcc-c++......Installed:  gcc-c++.x86_64 0:4.8.3-9.el7Dependency Installed:  cpp.x86_64 0:4.8.3-9.el7                      gcc.x86_64 0:4.8.3-9.el7                             glibc-devel.x86_64 0:2.17-78.el7  glibc-headers.x86_64 0:2.17-78.el7            kernel-headers.x86_64 0:3.10.0-229.20.1.el7          libmpc.x86_64 0:1.0.1-3.el7  libstdc++-devel.x86_64 0:4.8.3-9.el7          mpfr.x86_64 0:3.1.1-4.el7Complete!
  • 排错,清理编译临时文件。

[janl@svr1 redis-3.0.5]$ make testcd src && make testmake[1]: Entering directory `/home/janl/redis-3.0.5/src'    CC adlist.oIn file included from adlist.c:34:0:zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include 
                               ^compilation terminated.make[1]: *** [adlist.o] Error 1make[1]: Leaving directory `/home/janl/redis-3.0.5/src'make: *** [test] Error 2
[janl@svr1 redis-3.0.5]$ make distcleancd src && make distcleanmake[1]: Entering directory `/home/janl/redis-3.0.5/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 `/home/janl/redis-3.0.5/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 `/home/janl/redis-3.0.5/deps'(rm -f .make-*)make[1]: Leaving directory `/home/janl/redis-3.0.5/src'
  • 排错,安装tcl 

[janl@svr1 src]$ make test......You need tcl 8.5 or newer in order to run the Redis testmake: *** [test] Error 1
[janl@svr1 src]$ sudo yum install tcl[sudo] password for janl:Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirror.bit.edu.cnResolving Dependencies--> Running transaction check---> Package tcl.x86_64 1:8.5.13-4.el7 will be installed--> Finished Dependency ResolutionDependencies Resolved================================================================================================================================================ Package                       Arch                             Version                                    Repository                      Size================================================================================================================================================Installing: tcl                           x86_64                           1:8.5.13-4.el7                             base                           1.9 MTransaction Summary================================================================================================================================================Install  1 PackageTotal download size: 1.9 MInstalled size: 4.4 MIs this ok [y/d/N]: yDownloading packages:tcl-8.5.13-4.el7.x86_64.rpm                                                                                              | 1.9 MB  00:00:03Running transaction checkRunning transaction testTransaction test succeededRunning transaction  Installing : 1:tcl-8.5.13-4.el7.x86_64                                                                                                    1/1  Verifying  : 1:tcl-8.5.13-4.el7.x86_64                                                                                                    1/1Installed:  tcl.x86_64 1:8.5.13-4.el7Complete!

 

[janl@svr1 src]$ make distcleanrm -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[1]: Entering directory `/home/janl/redis-3.0.5/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[1]: Leaving directory `/home/janl/redis-3.0.5/deps'(rm -f .make-*)[janl@svr1 src]$ make......    LINK redis-server    INSTALL redis-sentinel    CC redis-cli.o    LINK redis-cli    CC redis-benchmark.o    LINK redis-benchmark    CC redis-check-dump.o    LINK redis-check-dump    CC redis-check-aof.o    LINK redis-check-aof    Hint: It's a good idea to run 'make test' ;)
  • 复制编译好的文件

[janl@svr1 src]$ sudo cp redis-benchmark /usr/local/bin/[sudo] password for janl:[janl@svr1 src]$ sudo cp redis-check-dump /usr/local/bin/[janl@svr1 src]$ sudo cp redis-sentinel /usr/local/bin/[janl@svr1 src]$ sudo cp redis-trib.rb /usr/local/bin/[janl@svr1 src]$ sudo cp redis-check-aof /usr/local/bin/[janl@svr1 src]$ sudo cp redis-cli /usr/local/bin/[janl@svr1 src]$ sudo cp redis-server /usr/local/bin/
  • 创建工作目录

[janl@svr1 src]$ sudo mkdir /etc/redis[sudo] password for janl:[janl@svr1 src]$ sudo mkdir /var/redis[janl@svr1 src]$ sudo mkdir /var/redis/log[janl@svr1 src]$ sudo mkdir /var/redis/run[janl@svr1 src]$ sudo mkdir /var/redis/6379
  • 复制修改配置文件

[janl@svr1 redis-3.0.5]$ sudo cp redis.conf /etc/redis/6379.conf[sudo] password for janl:[janl@svr1 redis-3.0.5]$ sudo vim /etc/redis/6379.conf
daemonize yes  介个是设置服务在后台运行pidfile /var/redis/run/redis_6379.pidlogfile /var/redis/log/redis_6379.logdir /var/redis/6379
  • 运行redis-server

[janl@svr1 ~]$ sudo /usr/local/bin/redis-server /etc/redis/6379.conf
  • 添加防火墙端口

[janl@svr1 bin]$ sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent[sudo] password for janl:success[janl@svr1 bin]$ firewall-cmd --reloadAuthorization failed.Make sure polkit agent is running or run the application as superuser.[janl@svr1 bin]$ sudo firewall-cmd --reloadsuccess

如果一切顺利,此时redis数据库已经可以正常工作了。

转载于:https://my.oschina.net/janl/blog/532111

你可能感兴趣的文章