Redis单机安装最佳实践

redis是一个nosql数据库,由于高性能的存储能力常用来做分布式缓存中间件。

以下是linux centos7下安装了redis5.x单机版来作为参考,全部使用root用户安装,如果不使用root可以在相应需要权限的地方加上sudo命令。

首先安装gcc

[root /]# yum -y install gcc-c++

再下载并解压redis

打开redis官网下载redis。可以先复制redis包的链接(文中使用的是redis5.0.8版本),然后在linux服务器上直接下载

redis下载
//先切换到/tmp目录再下载
[root /]# cd /tmp
[root /tmp]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
//解压redis包
[root /tmp]# tar -zxvf redis-5.0.8.tar.gz
[root /tmp]# ls
redis-5.0.8  redis-5.0.8.tar.gz

编译安装redis

下载解压后就可以编译了

[root /tmp]# cd redis-5.0.8
// 编译安装redis
[root /tmp/redis-5.0.8]# make && make install

如果没有出现error就说明安装成功了,默认安装在/usr/local/bin目录

//查看redis是否安装完成
[root /]# cd /usr/local/bin
[root /usr/local/bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

修改redis默认配置

这个时候就已经安装好了,但我们还需要稍做一些简单的配置让redis使用起来更方便

//新建一个redis目录
[root /]# mkdir /usr/local/redis
//复制reids默认配置文件到redis目录
[root /]# cp /tmp/redis-5.0.8/redis.conf /usr/local/redis/
[root /]# cd /usr/local/redis/
//创建redis工作目录
[root /]# mkdir working
//把默认的redis配置文件明改成redis端口号来方便管理,默认是6379
[root /usr/local/redis/]# mv redis.conf 6379.conf

redis配置文件弄好后再修改一下redis.conf的配置,有四个基本的东西需要修改

  1. 把redis修改成后台运行,不然ssh一断redis就关闭了
  2. 修改ip访问限制,redis默认是只能本机修改
  3. 添加访问密码,因为放开了ip访问限制如果不加密码的话就很容易被黑掉
  4. 修改redis默认工作目录用户备份和恢复数据
//修改redis配置文件
[root /usr/local/redis/]# vi 6379.conf

可以搜索daemonizebindrequirepassdir四个关键字来找到三个默认配置

# redis默认运行方式:非后台运行
daemonize no
# redis默认绑定ip
bind 127.0.0.1
# redis默认工作目录,可以用来备份和恢复数据
dir ./
# redis默认没有设置密码
# requirepass foobared

把这个四个地方更改成

# 更改redis运行方式:后台运行
daemonize yes
# 更改redis访问ip为不限制
bind 0.0.0.0
# 设置redis工作目录
dir /usr/local/redis/working
# 设置redis密码
requirepass red123456

这样一个单机的redis就配置好了。但redis启动起来并不是很方便,需要加很长一段配置文件路径

redis-server /user/local/redis/6379.conf 

把redis做成linux服务

进入redis安装目录找到redis_init_script脚本

//首先进入redis安装包目录
[root /]# cd /tmp/redis-5.0.8/utils
//可以找到一个redis_init_script
[root /tmp/redis-5.0.8/utils/]# ls
... redis_init_script ...
//复制脚本到/etc/init.d/目录
[root /tmp/redis-5.0.8/utils/]# cp redis_init_script /etc/init.d/redisd

这样我们就有了一个redisd的服务,但是需要简单的改一下

//修改脚本
[root /etc/init.d/]# vi /etc/init.d/redisd

下面是默认的,我们需要把redis配置文件路径改对并增加访问密码

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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 -a $PASSWORD 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

改成

# 修改配置文件目录位置
CONF="/usr/local/redis/${REDISPORT}.conf"
# 增加redis访问密码
PASSWORD=red123456

这样就好了,我们启动试一下

[root /]# service redisd start
Starting Redis server...
7136:C 09 Apr 2020 12:26:46.265 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7136:C 09 Apr 2020 12:26:46.265 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=7136, just started
7136:C 09 Apr 2020 12:26:46.265 # Configuration loaded

启动成功,再使用redis客户端连接一下

[root /]# redis-cli -a red123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354