Amazon linux install redis

1. 安装Redis

执行一下代码:

sudo wget http://download.redis.io/redis-stable.tar.gz
sudo tar xvzf redis-stable.tar.gz
sudo cd redis-stable
sudo make

如果执行make命令出现错误,在重新进行make命令之前,请先运行以下命令

make distclean

执行完成后,执行

make test

如果报如下错误:

cd src && make test
make[1]: Entering directory `/opt/app/redis-2.6.14/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/opt/app/redis-2.6.14/src'
make: *** [test] Error 2

说明需要安装tcl,执行以下命令

sudo yum install tcl

至此Redis安装完成。

2. 启动Redis

src/redis-server ./redis.conf

并查看相应的端口是否已经启动

netstat -tlnp

3. 设置开机启动

编写开机启动脚本:

vim /etc/init.d/redis

内容如下: #!/bin/sh #chkconfig: 2345 90 10 # description: Redis is a persistent key-value database

#redis服务器监听的端口
REDISPORT=6379

REDISPATH=/home/ec2-user/redis-stable

#服务端所处位置
EXEC=${REDISPATH}/src/redis-server

#客户端位置
CLIEXEC=${REDISPATH}/src/redis-cli

#Redis的PID文件位置
PIDFILE=/var/run/redis_${REDISPORT}.pid

#配置文件位置,需要修改
CONF="${REDISPATH}/redis.conf"

case "$1" in
	start)
		if [ -f $PIDFILE ]
		then
    		echo "$PIDFILE exists, process is already running or crashed"  
		else
    		echo "Starting Redis server..."  
    		$EXEC $CONF
		fi
		;;
	stop)
		if [ ! -f $PIDFILE ]
		then
    		echo "$PIDFILE does not exist, process is not running"  
		else
    		PID=$(cat $PIDFILE)
    		echo "Stopping ..."  
    		$CLIEXEC -p $REDISPORT shutdown
    		while [ -x /proc/${PID} ]  
    		do
      			echo "Waiting for Redis to shutdown ..."  
      			sleep 1
    		done
    		echo "Redis stopped"  
		fi
		;;
	*)
		echo "Please use start or stop as first argument"  
		;;
	esac

保存退出,添加脚本可执行权限

chmod 755 /etc/init.d/redis

开启服务

/etc/init.d/redis start

关闭服务

/etc/init.d/redis stop

设置开机启动

chkconfig redis on

4. 常见问题

4.1 Redis重启后,数据丢失

需要修改配置文件,设置持久化文件存放位置

#修改生成默认日志文件位置
logfile "/home/ec2-user/redis-stable/logs/redis.log"

#配置持久化文件存放位置,目录需要写权限
dir /home/ec2-user/redis-stable/data

若目录不存在,请创建。

4.2 系统重启后,数据丢失

在Linux系统中,Redis本来是有数据的,但在Linux系统重启后,Redis中的数据全部丢失。经过几次测试都一样,只有在Linux系统重启才会丢失,Redis重启应该是没有问题的。 这个问题只在Linux系统才存在,在Windows系统是没有问题的。

在Linux系统设置一个参数(vm.overcommit_memory)即可解决。

编辑 sysctl.conf 配置文件

vim /etc/sysctl.conf

另起一行增加参数 vm.overcommit_memory 配置,如下

vm.overcommit_memory = 1

使配置文件生效

sysctl -p

转载于:https://my.oschina.net/zhanlzy/blog/2246878

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值