Linux下安装Redis3.2.11
一、安装环境
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,建议在Linux上运行,本教程使用Centos6.5作为安装环境,使用的redis版本为3.2.10。Redis官方网址:https://redis.io/
安装Redis需要将下载的源码进行编译,编译依赖gc++,如果没有gc++环境需要安装gcc,执行命令:yum install gcc-c++
二、安装
解压源码,将redis安装包解压,执行命令:tar -zxvf redis-3.2.10.tar.gz
*注:一般将软件安装在/usr/local目录下,执行命令:tar -zxvf redis-3.2.10.tar.gz -C /usr/local/redis
安装到指定目录,执行命令:make PREFIX=/usr/local/redis/redis-3.2.11 install,此时能够看到在该路径下多出一个bin目录
注:
若不能执行make命令,可能是新系统gcc没有安装,执行make命令会出现以下提示错误'gcc'命令未找到
先安装gcc依赖环境
先挂载系统镜像,然后通过yum方式安装gcc
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
[root@centos-7-test CentOS 7 x86_64]# cd /etc/yum.repos.d/
刷新缓存
[root@centos-7-test yum.repos.d]#yum clean all
然后
[root@centos-7-test yum.repos.d]#yum makecache
之后yum方式安装gcc和gcc-c++
之后再次回到redis目录,进行make,报如下错误
此时需要执行 make distclean
之后再次make,安装完成后如下图
拷贝配置文件到安装目录下(方便以后的启动),进入解压后的redis目录,里面有一份配置文件reids.conf,将其拷贝到安装目录bin目录下
执行命令:
cp /usr/local/redis/redis-3.2.11/redis.conf /usr/local/redis/bin
三、Redis启动
方式一:前端启动模式,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,而且当前命令窗口处于一种阻塞状态,想要执行其它命令需要重新开启一个新命令窗口
执行命令:cd /usr/local/redis/redis-3.2.10/bin
再执行命令:./redis-server
方式二:后端模式启动,修改安装目录(即bin目录)下的redis.conf配置文件,如果没有该配置文件,参照安装步骤的第4步,将daemonize no改为daemonize yes如下图所示:(可以先找到GENERAL)
并在redis服务启动时加载该配置文件:
执行命令:cd /usr/local/redis/redis-3.2.10/bin
再执行命令:./redis-server redis.conf
启动后,输入ps -ef|grep redis查看是否启动成功
启动成功后如下图所示:
客户端连接redis:
再输入 ./redis-cli -p 6379,如果输入ping返回PONG,则表示redis连接成功
若需要外部链接:可以通过修改redis.conf
可以先找到network 然后将bind 127.0.0.1注释掉
四、关闭Redis
方式一:
首先输入shutdown,然后输入exit:(如图)
再次查看redis进程
方式二:
也可以根据redis服务的端口号来进行关闭
执行命令: ./redis-cli -p 6379 shutdown
五、配置开机自启动
1、设置redis.conf中daemonize为yes,确保守护进程开启。
2、编写开机自启动脚本
vi /etc/init.d/redis
注意目录,是在 etc/init.d下新建redis文件,因为 linux开机会 执行这个目录中的文件
脚本内容:
# chkconfig: 2345 10 90
# description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin #找到本机安装redis后,存放redis命令的目录
REDISPORT=6379 #redis的默认端口, 要和redis.conf中一致
EXEC=/usr/local/redis/redis-3.2.11/bin/redis-server #redis服务端的命令
REDIS_CLI=/usr/local/redis/redis-3.2.11/bin/redis-cli #redis客户端的命令 这两个一般都在 PATH目录下
PIDFILE=/var/run/redis_6379.pid #reids的进程文件生成的位置
CONF="/usr/local/redis/redis-3.2.11/bin/redis.conf" #redis的配置文件所在的目录
#AUTH="1234" 这句没什么用可以不要
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
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
sleep 2
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
编写完成,保存
修改文件的权限为 可执行的 chmod 775 /etc/init.d/redis
测试一下redis 的启动
/etc/init.d/redis start
启动成功
设置自动启动
chkconfig redis on
(没限制的话可以reboot 测试一下)