Ubuntu 安装 Redis

1. 下载并安装 redis 2.6.16版

 

sudo mkdir /usr/local/src/Redis

cd /usr/local/src/Redis

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

tar -zxf redis-2.6.16.tar.gz
cd redis-2.6.16

sudo make

2. 检验编译是否 正确

sudo make test

 

[cpp] view plaincopyprint?

 

  1. <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ make test  
  2. cd src && make test  
  3. make[1]: Entering directory `/usr/local/src/redis-2.6.16/src'  
  4. You need tcl 8.5 or newer in order to run the Redis test  
  5. make[1]: *** [test] Error 1  
  6. make[1]: Leaving directory `/usr/local/src/redis-2.6.16/src'  
  7. make: *** [test] Error 2  
  8. </span>  

安装 tcl 8.5 后可以解决上述编译错误。

[html] view plaincopyprint?

 

  1. <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ sudo apt-get install tcl  
  2. Reading package lists... Done  
  3. Building dependency tree         
  4. Reading state information... Done  
  5. The following package was automatically installed and is no longer required:  
  6.   tdb-tools  
  7. Use 'apt-get autoremove' to remove them.  
  8. The following extra packages will be installed:  
  9.   tcl8.5  
  10. Suggested packages:  
  11.   tclreadline  
  12. The following NEW packages will be installed:  
  13.   tcl tcl8.5  
  14. 0 upgraded, 2 newly installed, 0 to remove and 565 not upgraded.  
  15. Need to get 1,102 kB of archives.  
  16. After this operation, 3,862 kB of additional disk space will be used.  
  17. Do you want to continue [Y/n]? y  
  18. Get:1 http://mirrors.sohu.com/ubuntu/ precise/main tcl8.5 amd64 8.5.11-1ubuntu1 [1,098 kB]  
  19. Get:2 http://mirrors.sohu.com/ubuntu/ precise/main tcl all 8.5.0-2 [4,690 B]  
  20. Fetched 1,102 kB in 3s (303 kB/s)  
  21. Selecting previously unselected package tcl8.5.  
  22. (Reading database ... 199470 files and directories currently installed.)  
  23. Unpacking tcl8.5 (from .../tcl8.5_8.5.11-1ubuntu1_amd64.deb) ...  
  24. Selecting previously unselected package tcl.  
  25. Unpacking tcl (from .../archives/tcl_8.5.0-2_all.deb) ...  
  26. Processing triggers for man-db ...  
  27. Setting up tcl8.5 (8.5.11-1ubuntu1) ...  
  28. update-alternatives: using /usr/bin/tclsh8.5 to provide /usr/bin/tclsh (tclsh) in auto mode.  
  29. Setting up tcl (8.5.0-2) ...  
  30. update-alternatives: using /usr/bin/tclsh-default to provide /usr/bin/tclsh (tclsh) in auto mode.  
  31. Processing triggers for libc-bin ...  
  32. ldconfig deferred processing now taking place  
  33. </span>  

 

 

3. 手工启动redis,测试redis是否运行正常

a)执行命令手工启动redis server:     该命令将使用缺省参数

./src/redis-server

b)检查进程是否有Redis了:ps aux | grep redis,可以看见进程列表中有一个叫“src/redis-server”的进程了

 

[html] view plaincopyprint?

 

  1. <span style="font-size:14px;">sounion@ubuntu:~/Desktop$ ps aux | grep redis  
  2. sounion  65350  0.0  0.0  35024  1960 pts/1    Sl+  07:28   0:00 ./src/redis-server  
  3. sounion  65441  0.0  0.0  13584   916 pts/4    S+   07:31   0:00 grep --color=auto redis  
  4. </span>  

c) 启动redis自带的客户端,进行测试:
        # src/redis-cli -- 启动客户端并连接本地Redis
        # set foo bar -- 提示 “ok”说明设置键值正常。
        # get foo -- 能够提示返回正确的“bar”,说明运行正常。
        # quit -- 退出客户端

 

[html] view plaincopyprint?

 

  1. <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ ./src/redis-cli   
  2. redis 127.0.0.1:6379> set foo bar  
  3. OK  
  4. redis 127.0.0.1:6379> get foo  
  5. "bar"  
  6. redis 127.0.0.1:6379> quit  
  7. </span>  

 

d) 如果希望使用自己的 redis.conf 配置文件,可以使用如下命令:

./src/redis-server /path/to/redis.conf

 

e) 如果希望额外覆盖 redis.conf 配置文件中的某些参数,可以直接在命令行中使用参数:

./src/redis-server /etc/redis.conf  --loglevel debug

./sr/redis-server  --port 9999 --slaveof 127.0.0.1 6379

4.  开启多个redis 服务器实例

 

一台Redis服务器,分成多个节点,每个节点分配一个端口(6380,6381…),默认端口是6379。

如果已经开启了 一个redis 服务实例,再次执行 ./src/redis-server 会产生如下错误

 

[html] view plaincopyprint?

 

  1. <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ sudo ./src/redis-server   
  2. [347] 19 Apr 07:47:00.859 # Warning: no config file specified, using the default config. In order to specify a config file use ./src/redis-server /path/to/redis.conf  
  3. [347] 19 Apr 07:47:00.861 * Max number of open files set to 10032  
  4. [347] 19 Apr 07:47:00.861 # Opening port 6379: bind: Address already in use  
  5. </span>  

 

 

 

 

每个节点对应一个Redis配置文件,如:redis6380.conf、redis6381.conf

cp redis.conf  redis6380.conf

vi redis6380.conf

pidfile : pidfile/var/run/redis/redis_6380.pid

port 6380

logfile : logfile/var/log/redis/redis_6380.log

rdbfile : dbfilenamedump_6380.rdb

 

启动多个redis实例:

./src/redis-server /usr/local/redis/redis6380.conf

./src/redis-server /usr/local/redis/redis6381.conf

 

5、安装 redis-server

如果只是偶尔测试使用,可以使用 ./src/redis-server 方式直接启动。

但是如果是生产环境,需要进行 redis-server 安装部署。

 

命令:

cd /us/local/src/redis-2.6.16//utils

sudo ./install_server.sh

这个悲催的install_server.sh 命令必须在进入 utils 目录后再执行!

因为它的脚本写法以来一些相对目录路径!

 

[cpp] view plaincopyprint?

 

  1. sounion@ubuntu:/usr/local/src/redis-2.6.16/utils$ sudo ./install_server.sh   
  2. Welcome to the redis service installer  
  3. This script will help you easily set up a running redis server  
  4.   
  5.   
  6. Please select the redis port for this instance: [6379]   
  7. Selecting default: 6379  
  8. Please select the redis config file name [/etc/redis/6379.conf]   
  9. Selected default - /etc/redis/6379.conf  
  10. Please select the redis log file name [/var/log/redis_6379.log]   
  11. Selected default - /var/log/redis_6379.log  
  12. Please select the data directory for this instance [/var/lib/redis/6379]   
  13. Selected default - /var/lib/redis/6379  
  14. Please select the redis executable path [] /usr/local/src/redis-2.6.16/src/redis-server  
  15. s#^port [0-9]{4}$#port 6379#;s#^logfile .+$#logfile /var/log/redis_6379.log#;s#^dir .+$#dir /var/lib/redis/6379#;s#^pidfile .+$#pidfile /var/run/redis_6379.pid#;s#^daemonize no$#daemonize yes#;  
  16. Copied /tmp/6379.conf => /etc/init.d/redis_6379  
  17. Installing service...  
  18. update-rc.d: warning: /etc/init.d/redis_6379 missing LSB information  
  19. update-rc.d: see <http://wiki.debian.org/LSBInitScripts>  
  20.  Adding system startup for /etc/init.d/redis_6379 ...  
  21.    /etc/rc0.d/K20redis_6379 -> ../init.d/redis_6379  
  22.    /etc/rc1.d/K20redis_6379 -> ../init.d/redis_6379  
  23.    /etc/rc6.d/K20redis_6379 -> ../init.d/redis_6379  
  24.    /etc/rc2.d/S20redis_6379 -> ../init.d/redis_6379  
  25.    /etc/rc3.d/S20redis_6379 -> ../init.d/redis_6379  
  26.    /etc/rc4.d/S20redis_6379 -> ../init.d/redis_6379  
  27.    /etc/rc5.d/S20redis_6379 -> ../init.d/redis_6379  
  28. Success!  
  29. Starting Redis server...  
  30. Installation successful!  

 

 

6、添加到开机启动

如果进行了上述生产环境安装,则不再需要手动添加开机启动。

否则,需要修改

sudo vim /etc/rc.local

添加 /usr/local/src/redis-2.6.16/src/redis-server redis.conf

 

7、修改redis配置

如果 vm.overcommit_memory=0, 则在低内存状态时,后台redis 保存服务可能会失败。

需要修改配置文件/etc/sysctl.conf  添加 vm.overcommit_memory=1 然后重新启动使之生效。

刷新配置生效 sysctl vm.overcommit_memory=1

 

补充介绍

如果内存情况比较紧张的话,需要设定内核参数: /proc/sys/vm/overcommit_memory

这里说一下这个配置的含义:

/proc/sys/vm/overcommit_memory

该文件指定了内核针对内存分配的策略,其值可以是0、1、2。

0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,表示内核允许分配超过所有物理内存和交换空间总和的内存

时间: 2024-11-02 18:20:39

Ubuntu 安装 Redis的相关文章

Ubuntu下安装redis的2种方法分享_Redis

前言 redis是目前公认的速度最快的基于内存的键值对数据库,但redis的缺点也非常明显,仅提供最基本的hash set, list, sorted set等基于数据类型,不分表,没有schema,没有索引,没有外键,缺少int/date等基本数据类型,多条件查询需要通过集合内联(sinter,zinterstore)和连接间接实现,操作不便,开发效率低,可维护性不佳: 因此一般不将其视为完整的数据库单独使用,很多网站将redis作为高速缓存和session状态存储层,然后再与其他数据库搭配使

ubuntu安装php nginx mysql mongodb redis的教程

ubuntu apt-get安装软件: 1.安装php: apt-get install python-software-properties apt-get install -y ppa-purge add-apt-repository ppa:ondrej/php5 apt-get update apt-get install php5-fpm php5-gd php5-cli php5-redis php5-mongo php5-curl php5-mysqlnd php5-bcmath

Ubuntu下用docker安装redis镜像和使用redis容器分享

Ubuntu下用docker安装redis镜像和使用redis容器分享   1. 安装Ubuntu 2. 用Putty登录Ubuntu Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-40-generic x86_64)  * Documentation:  https://help.ubuntu.com/   System information as of Wed Dec 31 06:41:16 UTC 2014   System load: 

linux安装redis汇总

一.在centOS环境下安装redis 二.在Ubuntu环境下安装redis         a.安装环境:Ubuntu版本14.04:redis版本:redis-2.8.9         b.安装                1.wget命令下载redis版本:wget http://download.redis.io/releases/redis-2.8.9.tar.gz                2 .用tar命令解压安装包:由于个人习惯,先创建安装包目录(mkdir softw

redis-Ubuntu server 15.0.4安装Redis make命令不能执行

问题描述 Ubuntu server 15.0.4安装Redis make命令不能执行 按照官方的下载安装指导:http://redis.io/download#installation Download, extract and compile Redis with: $ wget http://download.redis.io/releases/redis-3.0.3.tar.gz $ tar xzf redis-3.0.3.tar.gz $ cd redis-3.0.3 $ make T

只安装redis的redis自动安装脚本

Redis自动安装部署 本文总共分为4个部分: redis自动安装脚本目录结构说明: redis自动安装脚本内容: redis的操作系统服务脚本说明: 本文引用的资料链接地址. 说明:本文未涉及redis内存分配器部分的内容. 第一部分 Redis自动安装脚本目录结构说明: # ls 查看当前目录包含以下3个文件 -- install_redis.sh        # redis自动安装脚本 -- redis-2.8.9.tar.gz      # redis安装包(需make,make te

Windows环境下安装Redis体验谈

 Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windows版项目是由微软开放技术团队建立和维护一个实验性项目(支持32,64位),所以并不适用生产环境,但可在Windows环境下用于开发测试. 1.下载安装 猛戳这里就到了开源首页,下载源码包,解压ZIP包后进入msvsbinrelease文件夹有三个文件分别对应32,64位,windows服务三个版

Ubuntu安装英汉词典

  Ubuntu安装英汉词典 linux并不缺少词典软件.但是缺少词库.所有的词典软件都需要 自己下载安装词库.所以找词库成了一件麻烦的事情. 1.安装stardict:apt-get install stardict 2.到http://abloz.com/huzheng/stardict-dic/zh_CN/ 下载需要的词库.(原来的官网已无法下载.找很久才找到这个网站) 3.运行终端.先cd到下载的文件夹.然后sudo tar -xjvf stardict-oxford-gb-2.4.2.

Ubuntu安装屏幕录像工具Simple Screen Recorder的方法

  Simple Screen Recorder是一款简单的屏幕录像工具,能够在屏幕上录制视频.教程,可用于手机和电脑系统,下面小编就给大家介绍下Ubuntu安装Simple Screen Recorder的方法. 最终版本 Simple Screen Recorder 0.3.1 已经发布有一段时间了,但是没有发布日志. 用户安装,有PPA可用,支持Ubuntu 14.10.14.04.12.04等系统及其衍生版本,打开终端,输入命令: sudo add-apt-repository ppa: