ubuntu 17.04 安装最新版本redis(原来的ppa源失效了,需要修改,包含自动重启)

记录使用apt-get在ubuntu server上安装最新版本Redis的过程。在ubuntu安装redis最简单的方式,就是使用apt-get 

[html]  view plain  copy
  1. sudo apt-get install redis-server    

但是这个方式有个问题,就是仓库中的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)

[html]  view plain  copy
  1. deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty main     
  2. deb-src http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty main    

方式二:用add-apt-repository命令


[html]  view plain  copy
  1. sudo add-apt-repository  ppa:chris-lea/redis-server  




这个方式无疑要方便很多。
不过 add-apt-repository 命令一般系统是没有自带的,所以还需要自己安装一下。
这个命令的安装有点麻烦,ubuntu不同版本中这个命令的安装方式不同:
对于12.04以及以下版本,需要安装python-software-properties
[html]  view plain  copy
  1. sudo apt-get install python-software-properties    
对于12.10以及以上版本,需要安装software-properties-common
[html]  view plain  copy
  1. sudo apt-get install software-properties-common    
比较爽快而无需费脑的方法是两个都安装一下……

安装
首次安装Redis

安装过程简单,update再install就好了,加上前面准备add-apt-repository,命令依次如下:

[html]  view plain  copy
  1. sudo apt-get install -y python-software-properties    
  2. sudo apt-get install software-properties-common    
  3. sudo add-apt-repository  ppa:chris-lea/redis-server  
  4. sudo apt-get update    
  5. sudo apt-get install -y redis-server  


使用下面的源



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

[html]  view plain  copy
  1. sudo add-apt-repository ppa:chris-lea/redis-server  
  2. sudo apt-get update  

如果是第一次用apt-get安装redis-server,那么这样就搞定了。
更新旧版redis
如果之前已经用apt-get安装过redis-server的旧版本,再执行apt-get install时就有可能遇到问题。


我遇到的错误信息如下:

[html]  view plain  copy
  1. zilaike@ubuntu:~$ sudo apt-get install -y redis-server    
  2. [sudo] password for zilaike:   
  3. Reading package lists... Done  
  4. Building dependency tree         
  5. Reading state information... Done  
  6. redis-server is already the newest version (2:3.2.1-1).  
  7. The following packages were automatically installed and are no longer required:  
  8.   bbswitch-dkms dkms iucode-tool lib32gcc1 libc6-i386 libvdpau1 libxnvctrl0  
  9.   linux-headers-4.10.0-19 linux-headers-4.10.0-19-generic  
  10.   linux-image-4.10.0-19-generic linux-image-extra-4.10.0-19-generic  
  11.   mesa-vdpau-drivers nvidia-prime nvidia-settings python3-pyinotify  
  12.   screen-resolution-extra vdpau-driver-all xserver-xorg-legacy  
  13. Use 'sudo apt autoremove' to remove them.  
  14. 0 upgraded, 0 newly installed, 0 to remove and 116 not upgraded.  


为了解决问题,决定先uninstall掉老版本的redis


[html]  view plain  copy
  1. apt-get remove redis-server    
  2. apt-get autoremove    



再次执行apt-get install就可以顺利安装了



设置开机启动:

systemctl enable redis-server.service

(发现并不生效,systemctl指令的一个bug,需要用下载源码包编译的方式才能开机启动!!!!!   源码包装完了啥也不用干就开机启动了,另外如果给redis增加了登陆密码,需要把redis_6379这个配置文件的关机指令修改一下,增加密码参数,稍后会有说明)

systemctl start redis-server.service(启动指令可以生效)


==================================================下面是编译安装的方法==============================================================



  1. 1.Redis源码获取

    1、进入Redis官网获取Redis最新稳定版下载地址

    2、通过wget命令下载 Redis 源代码。

  2. 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. 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启动保护进程出的幺蛾子。。。。



然后做实验。。。。看了看状态,好啦。。。。。找到问题了,,,,,
/etc/init.d/redis_6379 stop   
肯定是这玩意执行的关机操作,粘贴下来执行试了试,不停的等待。。。。。死循环
无用的错误提示。。。醉了,单独执行后发现,是没有认证,也就是redis加了密码,配置脚本文件没有加对应的密码认证。。。。。于是问题就简单了。。。。


解决方案:
找到这个配置文件 ,执行如下指令:
gedit /etc/init.d/redis_6379




敲过代码的看到这个东西,猜也猜到啥情况了。。。。无非就是开局声明了几个常量,然后下文中case when语句根据外部传入的第一个参数$1,区分接下来的操作是start stop status 还是restart....
注意选中的这个stop。。。。。也就是关键点。。。。这不就是redis-cli这个客户端关闭服务器嘛,没密码认证吧。。。在这个shutdown 前面加 -a yourpassword 就好了啦。。。。。不怕费事的也声明个变量存密码,偷懒的直接写里面就好啦。。。。OK。。。。。大功告成
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值