Linux安装Redis

系统版本为centOS 7.3


一、下载Redis

在官网中下载Redis,下载地址为:http://www.redis.cn/
QQ截图20180315104721.png-81.9kB

也可使用wget命令进行下载:

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

可以看到我们当前安装的Redis服务版本为4.0.8

二、解压

tar -zxvf redis-4.0.8.tar.gz

就可以获取到解压之后的源码包redis-4.0.8,之后进入到该目录中。

三、编译

在进入到该目录下输入命令:

make

redis linux安装 [adlist.o] Error jemalloc/jemalloc.h: No such file or directory

就开启了Redis的编译状态,在编译完成之后可以看到类似如下的信息提示:

        CC rax.o
    LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/mnt/vdb/software/redis-4.0.8/src'
  • 应当运行make test命令
  • 源码文件被移动到当前目录的src文件夹下面。

四、安装

进入到源码目录src下,输入对应的安装命令:

cd src
make install

安装完成之后的提示结果为:

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install

五、文件移动

在经过make install命令对Redis进行安装之后,我们可以看到文件夹下面的文件列表:
QQ截图20180315105615.png-47.3kB

文件移动的目的是为了对Redis的配置和服务启动进行管理:

  1. bin用于存放命令
  2. etc拥有存放配置文件

我们返回上级目录,也就是在redis-4.0.8这个文件夹中进行文件夹的创建:

cd ..
mkdir etc
mkdir bin

之后使用命令将对应的文件移动到对应目录下:

[root@i-6d7c3830 redis-4.0.8]# mv redis.conf etc/
[root@i-6d7c3830 redis-4.0.8]# cd src
[root@i-6d7c3830 redis-4.0.8]# mv mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server  redis-trib.rb ../bin

六、Redis服务启动

进入到bin目录下面,进行Redis服务的启动:

./redis-server

QQ截图20180315125124.png-36.5kB

在这里可以看到服务已经启动起来,但是并没有使用到etc/redis.conf配置文件。目前还是使用默认配置进行服务的启动。先使用ctrl + c停止当前服务。我们可以看到如下提示信息:

^C6443:signal-handler (1521089911) Received SIGINT scheduling shutdown...
6443:M 15 Mar 12:58:31.994 # User requested shutdown...
6443:M 15 Mar 12:58:31.995 * Saving the final RDB snapshot before exiting.
6443:M 15 Mar 12:58:32.003 * DB saved on disk
6443:M 15 Mar 12:58:32.003 # Redis is now ready to exit, bye bye...

我们运行pstree -p | grep redis也可以发现Redis服务已经被完全终止。

接下来使用命名带上配置文件一起运行

#./redis-server /path/to/redis.conf
./redis-server /mnt/vdb/software/redis-4.0.8/etc/redis.conf

但是现在依旧是前台运行,在我们修改配置文件之后才可以后台运行。需要将daemonize配置为true

  1. 搜索 :’\daemonize’
  2. 把daemonize配置项改为yes
  3. 保存退出

在vim命令模式下,输入’/'即进入搜索模式,输入想输入的字符串即可进行搜索

在使用以上加载配置文件的命令启动Redis服务即可看到如下提示:
QQ截图20180315131020.png-9.1kB
Redis进入后台启动模式。使用命令:

pstree -p | grep redis

可以看到提示:

|-redis-server(7509)-+-{redis-server}(7510)
       |                    |-{redis-server}(7511)
       |                    `-{redis-server}(7512)

证明Redis服务正在运行。
其中Redis服务的默认端口号为6379
我们可以使用如下命令查看端口占用情况:

lsof -i tcp:6379

可以看到如下提示:

redis-ser 13689 root    6u  IPv6  54678      0t0  TCP *:6379 (LISTEN)
redis-ser 13689 root    7u  IPv4  54679      0t0  TCP *:6379 (LISTEN)

证明该端口被Redis服务所占用。
注意,redis服务需要 root 权限才能查看,不然只能检查到6379被某个进程占用,但是看不到进程名称。
至此,redis服务已经按照配置文件启动成功!!

七、客户端登录

使用命令

./redis-cli 

就会进入对应的命令行:

[root@i-6d7c3830 bin]# ./redis-cli 
127.0.0.1:6379> 

表明客户端登录成功,可以使用exit退出命令行。

八、Redis服务关闭

  1. pkill redis-server
  2. 在Redis的bin目录下/redis-cli shutdown

还可以使用 killallkill -9对服务进行关闭。

九、附录:配置信息

  1. daemonize 如果需要在后台运行,把该项改为yes
  2. pidfile 配置多个pid的地址 默认在/var/run/redis. pid
  3. bind 绑定ip,设置后只接受来自该ip的请求
  4. port 监听端口,默认是6379
  5. loglevel 分为4个等级:debug verbose notice warning
  6. logfile 用于配置log文件地址
  7. databases 设置数据库个数,默认使用的数据库为0
  8. save 设置redis进行数据库镜像的频率。
  9. rdbcompression 在进行镜像备份时,是否进行压缩
  10. dbfilename 镜像备份文件的文件名
  11. Dir 数据库镜像备份的文件放置路径
  12. Slaveof 设置数据库为其他数据库的从数据库
  13. Masterauth 主数据库连接需要的密码验证
  14. Requriepass 设置 登陆时需要使用密码
  15. Maxclients 限制同时使用的客户数量
  16. Maxmemory 设置redis能够使用的最大内存
  17. Appendonly 开启append only模式
  18. Appendfsync 设置对appendonly. aof文件同步的频率(对数据进行备份的第二种方式)
  19. vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
  20. vm-swap-file 设置虚拟内存的交换文件路径
  21. vm-max-memory 设置redis使用的最大物理内存大小
  22. vm-page-size 设置虚拟内存的页大小
  23. vm-pages 设置交换文件的总的page数量
  24. vm-max-threads 设置VM IO同时使用的线程数量
  25. Glueoutputbuf 把小的输出缓存存放在一起
  26. hash-max-zipmap-entries 设置hash的临界值
  27. Activerehashing 重新hash

参考资料:

  1. http://blog.csdn.net/baidu_30000217/article/details/51476712
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐