记录使用apt-get在ubuntu server上安装最新版本Redis的过程。在ubuntu安装redis最简单的方式,就是使用apt-get
但是这个方式有个问题,就是仓库中的redis-server很可能不是最新的版本。
在之前的Blog里面,因为使用这个原因,我采用了手工安装的方式。今天在准备另外一个环境时,想了想apt-get应该更方便一些,只要仓库中的redis-server版本足够新就好了。
准备工作
要拿到最新的redis-server版本,就必须将redis的仓库加入到源。
ubuntu搜索ppa的地址
https://launchpad.net/ubuntu/+ppas
https://launchpad.net/ubuntu/+ppas?name_filter=redis-server
方法有两种:
方式一:修改source文件 (默认地址 : /etc/apt/resources.list)
方式二:用add-apt-repository命令
不过 add-apt-repository 命令一般系统是没有自带的,所以还需要自己安装一下。
这个命令的安装有点麻烦,ubuntu不同版本中这个命令的安装方式不同:
对于12.04以及以下版本,需要安装python-software-properties
对于12.10以及以上版本,需要安装software-properties-common 比较爽快而无需费脑的方法是两个都安装一下……
安装
首次安装Redis
安装过程简单,update再install就好了,加上前面准备add-apt-repository,命令依次如下:
使用下面的源
Adding this PPA to your system
You can update your system with unsupported packages from this untrusted PPA by adding ppa:chris-lea/redis-server to your system's Software Sources. (Read about installing)
https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server
如果是第一次用apt-get安装redis-server,那么这样就搞定了。
更新旧版redis
如果之前已经用apt-get安装过redis-server的旧版本,再执行apt-get install时就有可能遇到问题。
我遇到的错误信息如下:
为了解决问题,决定先uninstall掉老版本的redis
再次执行apt-get install就可以顺利安装了
设置开机启动:
systemctl enable redis-server.service
(发现并不生效,systemctl指令的一个bug,需要用下载源码包编译的方式才能开机启动!!!!! 源码包装完了啥也不用干就开机启动了,另外如果给redis增加了登陆密码,需要把redis_6379这个配置文件的关机指令修改一下,增加密码参数,稍后会有说明)
systemctl start redis-server.service(启动指令可以生效)
==================================================下面是编译安装的方法==============================================================
-
1.Redis源码获取
1、进入Redis官网获取Redis最新稳定版下载地址
2、通过wget命令下载 Redis 源代码。
-
2.Redis编译
1、通过tar -xzvf redis-4.0.2.tar.gz命令解压下载Redis源码压缩包redis-4.0.2.tar.gz;
2、编译Redis。通过cd redis-4.0.2/进入Redis源码目录内,执行make编译Redis;
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump、redis-sentinel。
-
3.Redis安装配置
1、安装Redis,执行
make install 会将make编译生成的可执行文件拷贝到/usr/local/bin目录下; 2、执行
./utils/install_server.sh 配置Redis配置之后Redis能随系统启动。
关于ubuntu17.04安装redis_6379.service后systemctl不能关闭,机器关闭缓慢等问题的解决方案
故事是这个样子滴,我在ubuntu17.04上编译安装了redis,并用redis自带配置工具配置了开机启动,启动很完美。。。。不过关机时候卡半天才能关掉,一查资料发现应该是某个程序的进程没关掉,ubuntu在等待关闭进程才能下一步。。。。一想可能是最近安装的redis启动保护进程出的幺蛾子。。。。
肯定是这玩意执行的关机操作,粘贴下来执行试了试,不停的等待。。。。。死循环
注意选中的这个stop。。。。。也就是关键点。。。。这不就是redis-cli这个客户端关闭服务器嘛,没密码认证吧。。。在这个shutdown 前面加 -a yourpassword 就好了啦。。。。。不怕费事的也声明个变量存密码,偷懒的直接写里面就好啦。。。。OK。。。。。大功告成