redhat Redis的安装和部署
1. 拥有Redis压缩包,地址:http://redis.io/download 我的是3.07
2. 解压包和创建redis安装目录
tar -zxvf XXX
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
3. 编译
(1)redis的编译方式有点不一样, 不必configure, 直接make
make
(make之后会在目录下生成redis.conf文件和src文件夹)
(2)(进入src目录)
cd src
(3)安装
make install
4. 部署
(1)将Redis文件中刚刚生成的redis.conf扔去/usr/local/redis/ect
(2)将Redis文件中src文件夹中的mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server redis-trib.rb 8个文件扔去/usr/local/redis/bin
5. 测试是否安装成功(出现图形表示安装成功)
(执行Redis-server 命令,启动Redis 服务)
cd /usr/local/redis/bin
./redis-server
注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的,也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。
6. 配置后台运行
编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
cd /usr/local/redis/ect
vim redis.conf
vim快速查找 :/daemonize,将daemonize属性改为yes(原来是no的)
daemonize = yes
再跑, 后台运行成功!
7. 随机启动
(脚本已扔进文件夹)
(1)把脚本放进/etc/init.d/
(2)授予执行权限 chmod +x /etc/init.d/redis
(3)添加进系统服务chkconfig --add redis
(4)开机启动chkconfig --level 2345 redis on
8. 配置环境变量
vim /etc/profile
在最后行添加:
export PATH="$PATH:/usr/local/redis/bin"
刷一下
. /etc/profile(.与/是分开的)
9. 配置内核参数
vim /etc/sysctl.conf
放这句进去:
vm.overcommit_memory = 1
刷一下
sysctl -p
10. 成功!
附上随机启动脚本
s script starts and stops the redis-server daemon # # chkconfig: - 80 12 # description: Redis is a persistent key-value database # processname: redis-server # config: /etc/redis/redis.conf # pidfile: /var/run/redis.pid source /etc/init.d/functions BIN="/usr/local/bin" CONFIG="/usr/local/redis/etc/redis.conf" PIDFILE="/var/run/redis.pid" ### Read configuration [ -r "$SYSCONFIG" ] && source "$SYSCONFIG" RETVAL=0 prog="redis-server" desc="Redis Server" start() { if [ -e $PIDFILE ];then echo "$desc already running...." exit 1 fi echo -n $"Starting $desc: " daemon $BIN/$prog $CONFIG RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog return $RETVAL } stop() { echo -n $"Stop $desc: " killproc $prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; condrestart) [ -e /var/lock/subsys/$prog ] && restart RETVAL=$? ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" RETVAL=1 esac exit $RETVAL