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
- <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ make test
- cd src && make test
- make[1]: Entering directory `/usr/local/src/redis-2.6.16/src'
- You need tcl 8.5 or newer in order to run the Redis test
- make[1]: *** [test] Error 1
- make[1]: Leaving directory `/usr/local/src/redis-2.6.16/src'
- make: *** [test] Error 2
- </span>
安装 tcl 8.5 后可以解决上述编译错误。
- <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ sudo apt-get install tcl
- Reading package lists... Done
- Building dependency tree
- Reading state information... Done
- The following package was automatically installed and is no longer required:
- tdb-tools
- Use 'apt-get autoremove' to remove them.
- The following extra packages will be installed:
- tcl8.5
- Suggested packages:
- tclreadline
- The following NEW packages will be installed:
- tcl tcl8.5
- 0 upgraded, 2 newly installed, 0 to remove and 565 not upgraded.
- Need to get 1,102 kB of archives.
- After this operation, 3,862 kB of additional disk space will be used.
- Do you want to continue [Y/n]? y
- Get:1 http://mirrors.sohu.com/ubuntu/ precise/main tcl8.5 amd64 8.5.11-1ubuntu1 [1,098 kB]
- Get:2 http://mirrors.sohu.com/ubuntu/ precise/main tcl all 8.5.0-2 [4,690 B]
- Fetched 1,102 kB in 3s (303 kB/s)
- Selecting previously unselected package tcl8.5.
- (Reading database ... 199470 files and directories currently installed.)
- Unpacking tcl8.5 (from .../tcl8.5_8.5.11-1ubuntu1_amd64.deb) ...
- Selecting previously unselected package tcl.
- Unpacking tcl (from .../archives/tcl_8.5.0-2_all.deb) ...
- Processing triggers for man-db ...
- Setting up tcl8.5 (8.5.11-1ubuntu1) ...
- update-alternatives: using /usr/bin/tclsh8.5 to provide /usr/bin/tclsh (tclsh) in auto mode.
- Setting up tcl (8.5.0-2) ...
- update-alternatives: using /usr/bin/tclsh-default to provide /usr/bin/tclsh (tclsh) in auto mode.
- Processing triggers for libc-bin ...
- ldconfig deferred processing now taking place
- </span>
3. 手工启动redis,测试redis是否运行正常
a)执行命令手工启动redis server: 该命令将使用缺省参数
./src/redis-server
b)检查进程是否有Redis了:ps aux | grep redis,可以看见进程列表中有一个叫“src/redis-server”的进程了
- <span style="font-size:14px;">sounion@ubuntu:~/Desktop$ ps aux | grep redis
- sounion 65350 0.0 0.0 35024 1960 pts/1 Sl+ 07:28 0:00 ./src/redis-server
- sounion 65441 0.0 0.0 13584 916 pts/4 S+ 07:31 0:00 grep --color=auto redis
- </span>
c) 启动redis自带的客户端,进行测试:
# src/redis-cli -- 启动客户端并连接本地Redis
# set foo bar -- 提示 “ok”说明设置键值正常。
# get foo -- 能够提示返回正确的“bar”,说明运行正常。
# quit -- 退出客户端
- <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ ./src/redis-cli
- redis 127.0.0.1:6379> set foo bar
- OK
- redis 127.0.0.1:6379> get foo
- "bar"
- redis 127.0.0.1:6379> quit
- </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 会产生如下错误
- <span style="font-size:14px;">sounion@ubuntu:/usr/local/src/redis-2.6.16$ sudo ./src/redis-server
- [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
- [347] 19 Apr 07:47:00.861 * Max number of open files set to 10032
- [347] 19 Apr 07:47:00.861 # Opening port 6379: bind: Address already in use
- </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 目录后再执行!
因为它的脚本写法以来一些相对目录路径!
- sounion@ubuntu:/usr/local/src/redis-2.6.16/utils$ sudo ./install_server.sh
- Welcome to the redis service installer
- This script will help you easily set up a running redis server
- Please select the redis port for this instance: [6379]
- Selecting default: 6379
- Please select the redis config file name [/etc/redis/6379.conf]
- Selected default - /etc/redis/6379.conf
- Please select the redis log file name [/var/log/redis_6379.log]
- Selected default - /var/log/redis_6379.log
- Please select the data directory for this instance [/var/lib/redis/6379]
- Selected default - /var/lib/redis/6379
- Please select the redis executable path [] /usr/local/src/redis-2.6.16/src/redis-server
- 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#;
- Copied /tmp/6379.conf => /etc/init.d/redis_6379
- Installing service...
- update-rc.d: warning: /etc/init.d/redis_6379 missing LSB information
- update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
- Adding system startup for /etc/init.d/redis_6379 ...
- /etc/rc0.d/K20redis_6379 -> ../init.d/redis_6379
- /etc/rc1.d/K20redis_6379 -> ../init.d/redis_6379
- /etc/rc6.d/K20redis_6379 -> ../init.d/redis_6379
- /etc/rc2.d/S20redis_6379 -> ../init.d/redis_6379
- /etc/rc3.d/S20redis_6379 -> ../init.d/redis_6379
- /etc/rc4.d/S20redis_6379 -> ../init.d/redis_6379
- /etc/rc5.d/S20redis_6379 -> ../init.d/redis_6379
- Success!
- Starting Redis server...
- 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,表示内核允许分配超过所有物理内存和交换空间总和的内存
Ubuntu 安装 Redis的更多相关文章
- Redis --> Ubuntu安装redis
Ubuntu安装redis 一.下载安装 root@21ebdf03a086:/# apt-cache search redis root@21ebdf03a086:/# apt-get inst ...
- Ubuntu安装redis并配置远程、密码以及开启php扩展
一.前言 redis是当前流行的nosql数据库,很多网站都用它来做缓存,今天我们来安装并配置下redis 二.安装并配置redis 1.安装redis sudo apt-get install re ...
- Ubuntu安装redis缓存数据库
参考:http://blog.csdn.net/xiangwanpeng/article/details/54586087 1.在下载目录下 sudo wget http://download.red ...
- Linux 和 ubuntu安装redis
Linux 下安装reids 下载地址:http://redis.io/download,下载最新稳定版本. 本教程使用的最新文档版本为 2.8.17,下载并安装: $ wget http://dow ...
- ubuntu 安装redis以及phpredis
一.安装redis 1. 去百度搜索 redis,然后去靠谱的地方下载最新的redisxxx.tar.gz 2. 解压后,sudo make 3. sudo make install 4. //安装完 ...
- Ubuntu安装Redis及使用
NoSQL简介NoSQL,全名为Not Only SQL,指的是非关系型的数据库随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来 优点/缺点优点:高可扩展性分布式计算低成本架构的 ...
- Ubuntu 安装Redis体验
背景:由于之前一直没有试过Linux的环境,今天加了内存之后,虚拟机开了3G,速度大大提高,对照博客试一下安装Redis的过程. 体验: 下载源码,解压,编译 $ wget http://do ...
- Ubuntu 安装 Redis和phpredis扩展
服务器Ubuntu16.04 环境php7.0+Apache /****************************开始安装Redis****************************/ 1 ...
- Ubuntu安装redis和redis-php扩展
通过apt-get安装的redis使用方法 sudo apt-get install redis-server sudo apt-get install php-redis vim /etc/redi ...
随机推荐
- outlook经常无故崩溃解决办法
问题描述: Outlook 最近有点怪,有时无法启动有时又突然崩溃.原以为是远程访问服务出了问题,但即使在本地操作,Outlook 仍然极不稳定.怎么回事? 原因:这种现象,很可能是由 Office ...
- geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?
# sample data d <- data.frame(expand.grid(x=letters[1:4], g=factor(1:2)), y=rnorm(8)) # Figure 1a ...
- JVM 1.类的加载、连接、初始化
Java类的加载是由类加载器来完成的,过程如下: 首先,加载是把硬盘.网络.数据库等的class文件中的二进制数据加载到内存的过程,然后会在Java虚拟机的运行时数据区的堆区创建一个Class对象,用 ...
- Zookeeper相关知识
一.Zookeeper是什么? Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务. ...
- TCP协议中的三次握手和四次挥手(图解) 转载
建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...
- 超实用压力测试工具-ab工具
在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求 ...
- spring集成quartz scheduler
创建项目 有两种创建quart配置作业 1.使用MethodInvokingJobDetailFactoryBean Quartz Scheduler 配置作业(MethodInvokingJobD ...
- SQL 总结
1. select 使用正则表达式 正则表达式的模式串, 与linux基本相同, oracle提供以下4个函数来支持正则表达式: REGEXP_LIKE: 比较一个字符串是否与正则表达式匹配(看来是返 ...
- Jdbc入门
JDBC入门 l 导jar包:驱动! l 加载驱动类:Class.forName(“类名”); l 给出url.username.password,其中url背下来! l 使用DriverMa ...
- Android网络编程系列 一 TCP/IP协议族
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...