当前位置:网站首页>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,执行简单的语句:
边栏推荐
- Measurement of quadrature axis and direct axis inductance of three-phase permanent magnet synchronous motor
- Offline installation of Wireshark 2.6.10
- Account sharing technology enables the farmers' market and reshapes the efficiency of transaction management services
- [ue4] event distribution mechanism of reflective event distributor and active call event mechanism
- CF1638E colorful operations
- Chen Yu (Aqua) - Safety - & gt; Cloud Security - & gt; Multicloud security
- Maixll-Dock 快速上手
- JS rotation chart
- Ten wastes of software research and development: the other side of research and development efficiency
- Use winmtr software to simply analyze, track and detect network routing
猜你喜欢

Hololens2 development environment building and deploying apps

Annual inventory review of Alibaba cloud's observable practices in 2021

2022年上海市安全员C证考试题模拟考试题库及答案

TASK04|数理统计

离线安装wireshark2.6.10

2022 t elevator repair new version test questions and t elevator repair simulation test question bank

js 图片路径转换base64格式

LM小型可编程控制器软件(基于CoDeSys)笔记十九:报错does not match the profile of the target

Embedded System Development Notes 79: why should I get the IP address of the local network card
![Ospfb notes - five messages [ultra detailed] [Hello message, DD message, LSR message, LSU message, lsack message]](/img/aa/a255d225d71e6ba2b497f8d59f5f11.jpg)
Ospfb notes - five messages [ultra detailed] [Hello message, DD message, LSR message, LSU message, lsack message]
随机推荐
[send email with error] 535 error:authentication failed
什么是uid?什么是Auth?什么是验证器?
Class and object finalization
Daily algorithm & interview questions, 28 days of special training in large factories - the 13th day (array)
Valid @suppresswarnings warning name
分账技术赋能农贸市场,重塑交易管理服务效能
283. move zero
The junior college students were angry for 32 days, four rounds of interviews, five hours of soul torture, and won Ali's offer with tears
2022危险化学品生产单位安全生产管理人员题库及答案
2022 gas examination question bank and online simulation examination
高并发下接口幂等性如何保证?
Do280 management application deployment --rc
2022 hoisting machinery command registration examination and hoisting machinery command examination registration
MySQL advanced -- you will have a new understanding of MySQL
Maixll-Dock 使用方法
JS rotation chart
嵌入式系统开发笔记80:应用Qt Designer进行主界面设计
【深度学习】(4) Transformer 中的 Decoder 机制,附Pytorch完整代码
[deep learning] (4) decoder mechanism in transformer, complete pytoch code attached
Loop filtering based on Unet