Linux Redis安装部署

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

安装 Redis:

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

tar xf redis-2.8.24.tar.gz

ln -s redis-2.6.14 redis #建立一个链接

cd redis

make PREFIX=/usr/local/redis install #安装到指定目录中

注意上面的最后一行,我们通过PREFIX指定了安装的目录。如果make失败,一般是你们系统中还未安装gcc,那么可以通过yum安装: 

yum -y install gcc*


将redis做成一个服务 

cp utils/redis_init_script /etc/rc.d/init.d/redis

vim /etc/rc.d/init.d/redis

在#!/bin/bash 下面加入以下代码:

#chkconfig: 2345 80 90 

修改

EXEC=/usr/local/redis/bin/redis-server

CLIEXEC=/usr/local/redis/bin/redis-cli 


在start)函数中修改:


$EXEC $CONF 

为:

$EXEC $CONF &

保存退出

创建Redis的配置文件目录:

mkdir /etc/redis

find / -name redis.conf 

grep "REDISPORT=" /etc/rc.d/init.d/redis

cp /soft/redis-2.8.24/redis.conf /etc/redis/6379.conf

chkconfig --add redis


将Redis的命令所在目录添加到系统参数PATH中


修改profile文件:

vi /etc/profile

在最后加入:

export PATH="$PATH:/usr/local/redis/bin"


启动Redis:

/usr/local/redis/bin/redis-server /etc/redis/6379.conf &



这样就可以直接调用redis-cli的命令了,如下所示: 


$ redis-cli   

redis 127.0.0.1:6379> auth superman   

OK   

redis 127.0.0.1:6379> ping   

PONG   

redis 127.0.0.1:6379>


至此,redis 就成功安装了。


如果在执行redis-cli中报错:

[root@Redis redis]# redis-cli

127.0.0.1:6379> auth superman

(error) ERR Client sent AUTH, but no password is set


原因是redis没有设置验证口令!

解决方法:

设置Redis密码:

    vim /etc/redis/redis.conf

# requirepass foobared

修改为:

requirepass auth密码


将redis写成服务脚本

vim /etc/init.d/redis

#!/bin/sh

#

# Author: Zlyang

# Date  : 2016-6-14

#

# chkconfig: 2345 80 90

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.

#REDISPORT=6379

#EXEC=/usr/local/bin/redis-server

EXEC=/usr/local/redis/bin/redis-server

CLIEXEC=/usr/local/redis/bin/redis-cli

PID=`ps -ef|grep 6379|grep -Ev "grep" |awk '{print $2}'`

PID_NUM=`ps -ef|grep 6379|grep -Ev "grep" |awk '{print $2}'|wc -l`

#PIDFILE=/var/run/redis_${REDISPORT}.pid

#CONF="/etc/redis/${REDISPORT}.conf"

CONF="/etc/redis/redis.conf"

function start()

 {

    if [ "$PID_NUM" != 0 ]

        then

                echo "Redis service is already running ..."

        else

                echo "Starting Redis server..."

                $EXEC $CONF 2>&1 > /dev/null &        

        sleep 1

        if [ `ps -ef|grep 6379|grep -Ev "grep" |awk '{print $2}'|wc -l` != 0 ]

                then

                        echo -e "Start Redis service.............................. [\E[1;32m OK \E[0m]"  

                fi

    fi

 }

function stop()

{

    if [ $PID_NUM == 0 ]

        then

                echo "Redis service is not running !"

        else

                echo "Waiting for Redis to stop ..."

                kill -9 $PID

                sleep 1

                echo -e "Stop Redis service............................... [\E[1;32m OK \E[0m]"

        fi

}

case "$1" in

    start)

    start

        ;;

    stop)

    stop

        ;;

    status)

    if [ "$PID_NUM" != 0 ]

    then

        echo "Redis service is already running ..."

    else

        echo "Redis service is stoped !" 

    fi

    ;;

    restart)

    if [ "$PID_NUM" != 0 ]

        then

        stop

        sleep 1

        echo "Starting Redis server..."

                $EXEC $CONF 2>&1 > /dev/null &

                sleep 1

                if [ `ps -ef|grep 6379|grep -Ev "grep" |awk '{print $2}'|wc -l` != 0 ]

                then

                        echo -e "Start Redis service.............................. [\E[1;32m OK \E[0m]"  

                fi

    else

        start

    fi

    ;;

    *)

        echo -e "\E[1;35m Usage: /etc/init.d/redos {start|stop|status|restart|}\E[0m"

        ;;

esac


保存退出:

将redis添加为服务:

chkconfig --add redis

chkconfig redis on


     本文转自yangxuncai110 51CTO博客,原文链接:http://blog.51cto.com/zlyang/1834700,如需转载请自行联系原作者




相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
22 1
|
1天前
|
网络协议 前端开发 Java
如何在Linux系统部署Tale并实现无公网IP远程管理内网博客网站
如何在Linux系统部署Tale并实现无公网IP远程管理内网博客网站
10 4
|
6天前
|
关系型数据库 MySQL Linux
在Linux系统上实现高效安装与部署环境的全方位指南
在Linux系统上实现高效安装与部署环境的全方位指南
|
6天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
21 0
|
6天前
|
Linux 测试技术 网络安全
Linux系统之部署2048网页小游戏
【5月更文挑战第5天】Linux系统之部署2048网页小游戏
24 0
Linux系统之部署2048网页小游戏
|
6天前
|
前端开发 Java Linux
宝塔Linux:部署His医疗项目通过jar包的方式
宝塔Linux:部署His医疗项目通过jar包的方式
|
6天前
|
前端开发 Java 关系型数据库
2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中
2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中
|
7天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
15 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
8天前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
|
14天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面