分享一个超实用的脚本,可以一键自动部署Redis的任意版本

运维 系统运维 Redis
今天给大家分享一个超级实用的脚本,一键自动安装部署Redis的任意版本,记住是任意版本哦!

[[358007]]

 今天给大家分享一个超级实用的脚本,一键自动安装部署Redis的任意版本,记住是任意版本哦!

脚本用法:chmod 755 redis-install.sh && sh redis-install.sh 4.0.10 (后面跟的是你需要的版本号,需要什么版本就写什么版本),我这里安装的4.0.10

具体脚本内容如下展示:

  1. #! /usr/bin/bash 
  2. ##redis任何版本全程自动化源码编译安装 
  3. ##用法: sh redis-install.sh 4.0.10 (后面跟的是你需要的版本号,需要什么版本就写什么版本),我这里安装的4.0.10 
  4. version=$1 
  5. usage(){ 
  6. echo "usage: $0 version" 
  7.  
  8. if [ $# -ne 1 ] 
  9. then 
  10. usage 
  11. exit -1 
  12. fi 
  13.  
  14. #Redis安装包下载 
  15. cd /usr/local/src 
  16. if [ ! -f redis-${version}.tar.gz ] 
  17. then 
  18. curl -o /usr/local/src/redis-${version}.tar.gz http://download.redis.io/releases/redis-${version}.tar.gz 
  19. fi 
  20.  
  21. #Redis依赖包安装 
  22. yum clean all 
  23. yum makecache fast 
  24. yum -y install gcc gcc-c++ tcl 
  25.  
  26. #编译Redis所需要的gcc 
  27. yum -y install centos-release-scl 
  28. yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
  29. source /opt/rh/devtoolset-9/enable 
  30. echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile 
  31. gcc --version 
  32.  
  33. ##内系统参数核优化 
  34. cat >> /etc/rc.d/rc.local << "EOF" 
  35.  
  36. ##关闭Linux的THP(内存管理系统)通过使用更大的内存页面,来减少具有大量内存的计算机上的TLB的开销 
  37. if [ -f /sys/kernel/mm/transparent_hugepage/enabled ] 
  38. then 
  39. echo never > /sys/kernel/mm/transparent_hugepage/enabled 
  40. fi 
  41.  
  42. if [ -f /sys/kernel/mm/transparent_hugepage/defrag ] 
  43. then 
  44. echo never > /sys/kernel/mm/transparent_hugepage/defrag 
  45. fi 
  46. EOF 
  47. chmod u+x /etc/rc.d/rc.local 
  48.  
  49. if [ -f /sys/kernel/mm/transparent_hugepage/enabled ] 
  50. then 
  51. echo never > /sys/kernel/mm/transparent_hugepage/enabled 
  52. fi 
  53.  
  54. if [ -f /sys/kernel/mm/transparent_hugepage/defrag ] 
  55. then 
  56. echo never > /sys/kernel/mm/transparent_hugepage/defrag 
  57. fi 
  58.  
  59. cat >> /etc/sysctl.conf << "EOF" 
  60.  
  61. #Linux系统内核参数优化 
  62. net.core.somaxconn = 2048 
  63. net.ipv4.tcp_max_syn_backlog = 2048 
  64. vm.overcommit_memory = 1 
  65. EOF 
  66. sysctl -p 
  67.  
  68. cat > /etc/security/limits.conf << "EOF" 
  69. root soft nofile 65535 
  70. root hard nofile 65535 
  71. * soft nofile 65535 
  72. * hard nofile 65535 
  73. EOF 
  74.  
  75. #Redis编译安装 
  76. cd /usr/local/src 
  77. tar -zxvf redis-${version}.tar.gz 
  78. cd /usr/local/src/redis-${version} 
  79. make 
  80. make PREFIX=/usr/local/redis install 
  81.  
  82. #Redis基础配置 
  83. mkdir -p /usr/local/redis/{etc,logs,data} 
  84. egrep -v "^$|^#" /usr/local/src/redis-${version}/redis.conf > /usr/local/redis/etc/redis.conf 
  85. #sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /usr/local/redis/etc/redis.conf 
  86. sed -i "s/protected-mode yes/protected-mode no/g" /usr/local/redis/etc/redis.conf 
  87. sed -i "s/daemonize no/daemonize yes/g" /usr/local/redis/etc/redis.conf 
  88. sed -i "s/pidfile \/var\/run\/redis_6379.pid/pidfile \/usr\/local\/redis\/redis.pid/g" /usr/local/redis/etc/redis.conf 
  89. sed -i "s/dir \.\//dir \/usr\/local\/redis\/data/g" /usr/local/redis/etc/redis.conf 
  90. sed -i "s/logfile \"\"/logfile \"\/usr\/local\/redis\/logs\/redis.log\"/g" /usr/local/redis/etc/redis.conf 
  91. sed -i "s/dbfilename dump.rdb/dbfilename dump.rdb/g" /usr/local/redis/etc/redis.conf 
  92. sed -i "s/appendfilename \"appendonly.aof\"/appendfilename \"appendonly.aof\"/g" /usr/local/redis/etc/redis.conf 
  93.  
  94. #PATH配置 
  95. echo "export PATH=${PATH}:/usr/local/redis/bin" >>/etc/profile 
  96. source /etc/profile 
  97. #启动redis服务 
  98. /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 
  99. #查看redis监听端口 
  100. netstat -tanp|grep redis 

 执行脚本后开始自动安装redis4.0.10  


自动安装Redis4.0.10所需要的的依赖包,如下图所示:


自动开始解压:


开始自动make


开始自动make install


安装完成,Redis服务已成功启动:

 

到这里整改自动安装脚本已成功执行完毕,我们可以收到通过ps –ef|grep redis来查看服务状态以及监听端口。


登陆redis,执行简单的语句:


 

责任编辑:姜华 来源: 今日头条
相关推荐

2020-12-29 11:04:57

Linux安装系统RedHat

2019-08-26 10:15:29

脚本索引数据库

2019-12-02 08:58:09

SQL脚本语言MySQL

2020-12-23 10:26:15

中间件ApacheTomca漏洞升级

2015-11-03 15:29:49

ONOS开放网络操作系统SDN

2014-07-08 09:27:24

SQLSERVER脚本

2024-10-17 11:09:46

2012-07-03 16:03:07

2023-06-15 10:00:00

Jenkins任务操作

2020-12-24 14:00:58

开源技术 软件

2023-03-05 23:11:07

Go语言服务

2024-06-17 00:00:05

镜像仓库带宽

2018-12-12 19:10:01

Oracle数据库自动备份

2015-02-09 15:25:52

换肤

2024-04-08 13:59:03

大模型Replicate

2021-02-06 11:16:28

Python开发工具

2020-12-11 07:00:42

MySQL数据库备份脚本

2012-10-08 15:20:17

Ubuntu快捷键

2024-03-15 14:34:12

Oracle数据库一键巡检

2022-05-07 14:08:42

Python自动化脚本
点赞
收藏

51CTO技术栈公众号