首页 > 数据库 >一键编译安装Redis脚本

一键编译安装Redis脚本

时间:2022-08-24 13:55:54浏览次数:139  
标签:etc redis 一键 编译 INSTALL action Redis DIR

#!/bin/bash
. /etc/init.d/functions 
VERSION=redis-5.0.7
PASSWORD=123456
INSTALL_DIR=/usr/lcoal/redis

install() {
yum  -y install gcc jemalloc-devel || { action "安装软件包失败,请检查网络配置" false ; exit; }

wget http://download.redis.io/releases/${VERSION}.tar.gz || { action "Redis 源码下载失败" false ; exit; }

tar xf ${VERSION}.tar.gz
cd ${VERSION}
make -j 4 PREFIX=${INSTALL_DIR} install && action "Redis 编译安装完成" || { action "Redis 编译安装失败" false ;exit ; }

ln -s ${INSTALL_DIR}/bin/redis-*  /usr/bin/
mkdir -p ${INSTALL_DIR}/{etc,logs,data,run}
cp redis.conf  ${INSTALL_DIR}/etc/
sed -i.bak -e 's/bind 127.0.0.1/bind 0.0.0.0/' -e "/# requirepass/a requirepass $PASSWORD"  ${INSTALL_DIR}/etc/redis.conf

if id redis &> /dev/null ;then 
    action "Redis 用户已存在" false  
else
    useradd -r -s /sbin/nologin redis
    action "Redis 用户创建成功"
fi

chown -R redis.redis ${INSTALL_DIR}

cat >> /etc/sysctl.conf <<EOF
net.core.somaxconn = 1024
vm.overcommit_memory = 1
EOF

echo never > /sys/kernel/mm/transparent_hugepage/enabled

cat > /usr/lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=${INSTALL_DIR}/bin/redis-server ${INSTALL_DIR}/etc/redis.conf --supervised systemd
ExecStop=/bin/kill -s QUIT \$MAINPID
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload 
systemctl start redis &> /dev/null && action "Redis 服务启动成功,Redis信息如下:" || { action "Redis 启动失败" false ;exit; } 

redis-cli -a $PASSWORD INFO Server 2> /dev/null
}
install 

  

标签:etc,redis,一键,编译,INSTALL,action,Redis,DIR
From: https://www.cnblogs.com/Yuanbangchen/p/16619638.html

相关文章

  • redis cluster三主三从搭建
    rediscluster三主三从搭建需要用到三台机器,每台机器上启动8001和8002端口,也可以根据自己需求改成别的端口,在下面配置文件中会体现截止7.1步骤,1.1-7.1的步骤在三台机器上......
  • 解释(Interpret)和编译(Compile)的区别
    计算机语言可以分为机器语言、汇编语言和高级语言高级语言会翻译成机器语言之后,才可以执行。而翻译的方式有两种,一种是解释(Interpret),一种是编译(Compile)。运行过程编译(Co......
  • Redis_持久化
    Redis_持久化持久化:redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们才可以键redis内存中的数据持久化保存到硬盘的文件中redis持久化机构:......
  • FFmpeg-FFmpeg编译时静态链接libwinpthread
    FFmpeg-FFmpeg编译时静态链接libwinpthread需求是在Windows下编译ffmpeg的可执行档ffmpeg.exe,ffmpeg.exe倒是编译出来了,但是运行时总是报错:后来搜了一下,是缺少libwinp......
  • redis命令操作set&sortedset、redis命令操作通用命令
    redis命令操作set&sortedset集合类型:set不允许重复元素存储:saddkeyvalue获取:smemberskey:获取set元素中所有元素删除:sremkeyvalue:删除set集合中某......
  • Qt的编译路径设置
    在qtCreator的构建概要中有一个shadowbuild的勾选框,默认是勾选的,此时构建目录是可以修改的。而如果把勾选去掉,则构建目录自动变为项目的目录,且不能够修改。1.不勾选shad......
  • Redis下载安装、Redis数据结构
    Redis下载安装2.下载安装1,官网:https://redis.id2.中文网:http://www.redis.net.cn/3.解压直接可以使用∶*redis.windows.conf:配置文件*redis-cli.exe:redis的客......
  • 36. Redis---Java使用Redis
    1.前言在开始学习本节内容之前,首先需要您掌握Java编程语言,其次确定您已经安装了Redis服务及JavaRedis驱动,并且能够成功运行Java程序。本节介绍如何在Java中......
  • Redis概念
    Redis概念Redis概念:redis是一款高性能的NoSQL系类的关系数据库 图解: ......
  • 35. Redis---缓存问题
    1.前言在实际的业务场景中,Redis一般和其他数据库搭配使用,用来减轻后端数据库的压力,比如和关系型数据库MySQL配合使用。Redis会把MySQL中经常被查询的数据缓存起来,......