当前位置:网站首页>Shell之一键自动部署Redis任意版本
Shell之一键自动部署Redis任意版本
2022-07-01 04:33:00 【Moshow郑锴】
脚本用法:chmod 755 redis-install.sh && sh redis-install.sh {version}
(后面 {version}的是你需要的版本号,需要什么版本就写什么版本),我这里安装的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
到这里整改自动安装脚本已成功执行完毕,我们可以收到通过ps –ef|grep redis
来查看服务状态以及监听端口。
登陆redis,执行简单的语句:
边栏推荐
- 2022年上海市安全员C证考试题模拟考试题库及答案
- C language games (I) -- guessing games
- Daily algorithm & interview questions, 28 days of special training in large factories - the 13th day (array)
- [Master / slave] router election in DD message
- LM小型可编程控制器软件(基于CoDeSys)笔记十九:报错does not match the profile of the target
- 【无标题】
- 2022 G2 power station boiler stoker examination question bank and G2 power station boiler stoker simulation examination question bank
- Tcp/ip explanation (version 2) notes / 3 link layer / 3.4 bridge and switch / 3.4.2 multiple registration protocol (MRP)
- Qt development experience tips 226-230
- How to view the changes and opportunities in the construction of smart cities?
猜你喜欢
Ospfb notes - five messages [ultra detailed] [Hello message, DD message, LSR message, LSU message, lsack message]
Internet winter, how to spend three months to make a comeback
2022 G2 power station boiler stoker examination question bank and G2 power station boiler stoker simulation examination question bank
2022年煤气考试题库及在线模拟考试
离线安装wireshark2.6.10
测量三相永磁同步电机的交轴直轴电感
2022年聚合工艺考试题及模拟考试
Maixll-Dock 使用方法
2022年化工自动化控制仪表操作证考试题库及答案
Execution failed for task ‘:app:processDebugResources‘. > A failure occurred while executing com. and
随机推荐
Caijing 365 stock internal reference | the first IPO of Beijing stock exchange; the subsidiary of the recommended securities firm for gambling and gambling, with a 40% discount
Offline installation of Wireshark 2.6.10
2022 question bank and answers for safety production management personnel of hazardous chemical production units
Haskell lightweight threads overhead and use on multicores
JD intelligent customer service Yanxi intention system construction and intention recognition technology introduction
TASK04|数理统计
Odeint and GPU
小程序中自定义组件
2. Use of classlist (element class name)
Threejs opening
Odeint et GPU
Coinbase in a bear market: losses, layoffs, stock price plunges
C language games (I) -- guessing games
【人话版】WEB3黑暗森林中的隐私博弈
Redis (VII) optimization suggestions
【LeetCode】100. Same tree
JMeter learning notes 2 - brief introduction to graphical interface
一些小知识点
Task04 mathematical statistics
2022年化工自动化控制仪表操作证考试题库及答案