当前位置:网站首页>一键部署Redis任意版本
一键部署Redis任意版本
2022-07-07 18:05:00 【靈熙雲】
今天给大家分享一个超级实用的脚本,Linux环境下一键自动安装部署Redis的任意版本,记住是
任意版本
哦! 脚本用法:
chmod 755 redis-install.sh && sh redis-install.sh 4.0.10
(后面跟的是你需要的版本号,需要什么版本就写什么版本),我这里安装的4.0.10
执行脚本
#! /usr/bin/bash
##redis任何版本全程自动化源码编译安装
##用法: sh redis-install.sh 4.0.10 (后面跟的是你需要的版本号,需要什么版本就写什么版本),我这里安装的4.0.10
version=$1
usage(){
echo "usage: $0 version"
}
if [ $# -ne 1 ]
then
usage
exit -1
fi
#Redis安装包下载
cd /usr/local/src
if [ ! -f redis-${version}.tar.gz ]
then
curl -o /usr/local/src/redis-${version}.tar.gz http://download.redis.io/releases/redis-${version}.tar.gz
fi
#Redis依赖包安装
yum clean all
yum makecache fast
yum -y install gcc gcc-c++ tcl
#编译Redis所需要的gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
source /opt/rh/devtoolset-9/enable
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
gcc --version
##内系统参数核优化
cat >> /etc/rc.d/rc.local << "EOF" ##关闭Linux的THP(内存管理系统)通过使用更大的内存页面,来减少具有大量内存的计算机上的TLB的开销 if [ -f /sys/kernel/mm/transparent_hugepage/enabled ] then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if [ -f /sys/kernel/mm/transparent_hugepage/defrag ] then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi EOF
chmod u+x /etc/rc.d/rc.local
if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]
then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if [ -f /sys/kernel/mm/transparent_hugepage/defrag ]
then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
cat >> /etc/sysctl.conf << "EOF" #Linux系统内核参数优化 net.core.somaxconn = 2048 net.ipv4.tcp_max_syn_backlog = 2048 vm.overcommit_memory = 1 EOF
sysctl -p
cat > /etc/security/limits.conf << "EOF" root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535 EOF
#Redis编译安装
cd /usr/local/src
tar -zxvf redis-${version}.tar.gz
cd /usr/local/src/redis-${version}
make
make PREFIX=/usr/local/redis install
#Redis基础配置
mkdir -p /usr/local/redis/{
etc,logs,data}
egrep -v "^$|^#" /usr/local/src/redis-${version}/redis.conf > /usr/local/redis/etc/redis.conf
#sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /usr/local/redis/etc/redis.conf
sed -i "s/protected-mode yes/protected-mode no/g" /usr/local/redis/etc/redis.conf
sed -i "s/daemonize no/daemonize yes/g" /usr/local/redis/etc/redis.conf
sed -i "s/pidfile \/var\/run\/redis_6379.pid/pidfile \/usr\/local\/redis\/redis.pid/g" /usr/local/redis/etc/redis.conf
sed -i "s/dir \.\//dir \/usr\/local\/redis\/data/g" /usr/local/redis/etc/redis.conf
sed -i "s/logfile \"\"/logfile \"\/usr\/local\/redis\/logs\/redis.log\"/g" /usr/local/redis/etc/redis.conf
sed -i "s/dbfilename dump.rdb/dbfilename dump.rdb/g" /usr/local/redis/etc/redis.conf
sed -i "s/appendfilename \"appendonly.aof\"/appendfilename \"appendonly.aof\"/g" /usr/local/redis/etc/redis.conf
#PATH配置
echo "export PATH=${
PATH}:/usr/local/redis/bin" >>/etc/profile
source /etc/profile
#启动redis服务
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
#查看redis监听端口
netstat -tanp|grep redis
安装流程
执行脚本后开始自动安装redis4.0.10
自动安装Redis4.0.10所需要的的依赖包,如下图所示:
自动开始解压:
开始自动make
开始自动make install
安装完成,Redis服务已成功启动:
到这里整个自动安装脚本已成功执行完毕,我们可以收到通过ps –ef|grep redis来查看服务状态以及监听端口。
测试
登陆redis,执行简单的语句:
边栏推荐
- 强化学习-学习笔记8 | Q-learning
- vulnhub之school 1
- Nunjuks template engine
- Kubernetes——kubectl命令行工具用法详解
- Semantic SLAM源码解析
- Force buckle 989 Integer addition in array form
- How to cooperate among multiple threads
- Le PGR est - il utile au travail? Comment choisir une plate - forme fiable pour économiser le cœur et la main - d'œuvre lors de la préparation de l'examen!!!
- ASP. Net kindergarten chain management system source code
- IP 工具类
猜你喜欢
el-upload上传组件的动态添加;el-upload动态上传文件;el-upload区分文件是哪个组件上传的。
MRS离线数据分析:通过Flink作业处理OBS数据
Le PGR est - il utile au travail? Comment choisir une plate - forme fiable pour économiser le cœur et la main - d'œuvre lors de la préparation de l'examen!!!
开源重器!九章云极DataCanvas公司YLearn因果学习开源项目即将发布!
openEuler 资源利用率提升之道 01:概论
Is PMP beneficial to work? How to choose a reliable platform to make it easier to prepare for the exam!!!
PMP對工作有益嗎?怎麼選擇靠譜平臺讓備考更省心省力!!!
多个线程之间如何协同
mock.js从对象数组中任选数据返回一个数组
Navicat连接2002 - Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘解决
随机推荐
浅尝不辄止系列之试试腾讯云的TUIRoom(晚上有约,未完待续...)
R language dplyr package select function, group_ The by function, filter function and do function obtain the third largest value of a specific numerical data column in a specified level in a specified
LeetCode力扣(剑指offer 36-39)36. 二叉搜索树与双向链表37. 序列化二叉树38. 字符串的排列39. 数组中出现次数超过一半的数字
The state cyberspace Office released the measures for data exit security assessment: 100000 information provided overseas needs to be declared
mock.js从对象数组中任选数据返回一个数组
CIS芯片测试到底怎么测?
LeetCode_ 7_ five
让这个 CRMEB 单商户微信商城系统火起来,太好用了!
力扣 88.合并两个有序数组
九章云极DataCanvas公司获评36氪「最受投资人关注的硬核科技企业」
力扣 643. 子数组最大平均数 I
Introduction to bit operation
JVM 类加载机制
Force buckle 88 Merge two ordered arrays
Force buckle 1790 Can two strings be equal by performing string exchange only once
Detailed explanation of Flink parallelism and slot
Nunjuks template engine
有了ST7008, 蓝牙测试完全拿捏住了
【Auto.js】自动化脚本
力扣 599. 两个列表的最小索引总和