经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Redis » 查看文章
Redis如何一键部署脚本
来源:jb51  时间:2021/4/12 11:30:28  对本文有异议

先将安装包拖入/opt目录

在这里插入图片描述

注意:这里的脚本bind修改后为 0.0.0.0

bind修改后为bind 127.0.0.1 +服务器IP在下面

  1. #!/bin/bash
  2.  
  3. #yum源
  4. echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式===== \033[0m"
  5. ping -c1 -W1 www.baidu.com &> /dev/null
  6. if [ $? -eq 0 ];then echo -e "\033[31m 检测当前为NAT模式,为您配置在线yum源 \033[0m"
  7. mkdir -p /etc/yum.repos.d/repo.bak
  8.  
  9. mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null
  10.  
  11. wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null
  12.  
  13. yum clean all &> /dev/null
  14. yum list &> /dev/null
  15. echo -e "\033[31m 在线源已配置完成 \033[0m"
  16.  
  17. else
  18. echo -e "\033[31m 检测当前为仅主机模式,为您配置本地yum源 \033[0m"
  19. mount /dev/sr0 /mnt &> /dev/null
  20. cd /etc/yum.repos.d/
  21. mkdir -p /etc/yum.repos.d/repo.bak
  22.  
  23. mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null
  24.  
  25. echo '[local]
  26. name=local
  27. baseurl=file:///mnt
  28. enabled=1
  29. gpgcheck=0' > /etc/yum.repos.d/local.repo
  30. yum clean all &> /dev/null
  31. yum makecache &> /dev/null
  32.  
  33. df -h | grep "/mnt"
  34. if [ $? -ne 0 ];then
  35. echo -e "\033[31m 检测当前为仅主机模式,但光盘未连接! \033[0m"
  36. else
  37. echo -e "\033[31m 本地yum源已配置完成 \033[0m"
  38. fi
  39. fi
  40.  
  41. #关闭防火墙
  42. systemctl stop firewalld
  43. setenforce 0
  44. yum install -y gcc gcc-c++ make
  45. rpm -q expect
  46. rpm -q tcl
  47. yum -y install expect
  48. cd /opt
  49. tar zxvf redis-5.0.7.tar.gz -C /opt/
  50. cd /opt/redis-5.0.7/
  51. make
  52. make PREFIX=/usr/local/redis install
  53. #由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。
  54.  
  55. #在/utils里执行软件包提供的install_server.sh脚本文件设置Redis服务所需要的相关配置文件
  56. cd /opt/redis-5.0.7/utils
  57.  
  58. #开始免交换执行
  59. /usr/bin/expect <<EOF
  60. #expect开始标志
  61. spawn ./install_server.sh
  62. #Please select the redis port for this instance: [6379]
  63. expect "instance"
  64. send "\r"
  65. #Please select the redis config file name [/etc/redis/6379.conf]
  66. expect "config"
  67. send "\r"
  68. #Please select the redis log file name [/var/log/redis_6379.log]
  69. expect "log"
  70. send "\r"
  71. #Please select the data directory for this instance [/var/lib/redis/6379]
  72. expect "data"
  73. send "\r"
  74. #Please select the redis executable path []
  75. expect "executable"
  76. send "/usr/local/redis/bin/redis-server\r"
  77. #Is this ok? Then press ENTER to go on or Ctrl-C to abort.
  78. expect "abort"
  79. send "\r"
  80. expect eof
  81. EOF
  82.  
  83.  
  84. ln -s /usr/local/redis/bin/* /usr/local/bin/
  85. netstat -natp | grep redis
  86.  
  87. /etc/init.d/redis_6379 restart
  88. /etc/init.d/redis_6379 status
  89.  
  90. sed -i '/bind 127.0.0.1/c bind 0.0.0.0' /etc/redis/6379.conf
  91. sed -i 's/appendonly no/appendonly yes/' /etc/redis/6379.conf
  92.  
  93. /etc/init.d/redis_6379 restart
  94. /etc/init.d/redis_6379 status

bind修改后为bind 127.0.0.1 +服务器IP脚本

  1. #!/bin/bash
  2.  
  3. #yum源
  4. echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式===== \033[0m"
  5. ping -c1 -W1 www.baidu.com &> /dev/null
  6. if [ $? -eq 0 ];then echo -e "\033[31m 检测当前为NAT模式,为您配置在线yum源 \033[0m"
  7. mkdir -p /etc/yum.repos.d/repo.bak
  8.  
  9. mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null
  10.  
  11. wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null
  12.  
  13. yum clean all &> /dev/null
  14. yum list &> /dev/null
  15. echo -e "\033[31m 在线源已配置完成 \033[0m"
  16.  
  17. else
  18. echo -e "\033[31m 检测当前为仅主机模式,为您配置本地yum源 \033[0m"
  19. mount /dev/sr0 /mnt &> /dev/null
  20. cd /etc/yum.repos.d/
  21. mkdir -p /etc/yum.repos.d/repo.bak
  22.  
  23. mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null
  24.  
  25. echo '[local]
  26. name=local
  27. baseurl=file:///mnt
  28. enabled=1
  29. gpgcheck=0' > /etc/yum.repos.d/local.repo
  30. yum clean all &> /dev/null
  31. yum makecache &> /dev/null
  32.  
  33. df -h | grep "/mnt"
  34. if [ $? -ne 0 ];then
  35. echo -e "\033[31m 检测当前为仅主机模式,但光盘未连接! \033[0m"
  36. else
  37. echo -e "\033[31m 本地yum源已配置完成 \033[0m"
  38. fi
  39. fi
  40.  
  41. #防火墙关闭
  42. systemctl stop firewalld
  43. setenforce 0
  44. yum install -y gcc gcc-c++ make
  45. rpm -q expect
  46. rpm -q tcl
  47. yum -y install expect
  48. cd /opt
  49. tar zxvf redis-5.0.7.tar.gz -C /opt/
  50. cd /opt/redis-5.0.7/
  51. make
  52. make PREFIX=/usr/local/redis install
  53. #由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。
  54.  
  55. #在/utils里执行软件包提供的install_server.sh脚本文件设置Redis服务所需要的相关配置文件
  56. cd /opt/redis-5.0.7/utils
  57.  
  58. #开始免交换执行
  59. /usr/bin/expect <<EOF
  60. #expect开始标志
  61. spawn ./install_server.sh
  62. #Please select the redis port for this instance: [6379]
  63. expect "instance"
  64. send "\r"
  65. #Please select the redis config file name [/etc/redis/6379.conf]
  66. expect "config"
  67. send "\r"
  68. #Please select the redis log file name [/var/log/redis_6379.log]
  69. expect "log"
  70. send "\r"
  71. #Please select the data directory for this instance [/var/lib/redis/6379]
  72. expect "data"
  73. send "\r"
  74. #Please select the redis executable path []
  75. expect "executable"
  76. send "/usr/local/redis/bin/redis-server\r"
  77. #Is this ok? Then press ENTER to go on or Ctrl-C to abort.
  78. expect "abort"
  79. send "\r"
  80. expect eof
  81. EOF
  82.  
  83.  
  84. ln -s /usr/local/redis/bin/* /usr/local/bin/
  85. netstat -natp | grep redis
  86.  
  87. /etc/init.d/redis_6379 restart
  88. /etc/init.d/redis_6379 status
  89.  
  90.  
  91. xyw=$(ip a | grep "ens33" | awk NR==2'{print$2}' |awk -F/ '{print$1}')
  92. sed -i "/bind 127.0.0.1/c bind 127.0.0.1 $xyw" /etc/redis/6379.conf
  93.  
  94. sed -i 's/appendonly no/appendonly yes/' /etc/redis/6379.conf
  95.  
  96. /etc/init.d/redis_6379 restart
  97. /etc/init.d/redis_6379 status

到此这篇关于Redis如何一键部署脚本的文章就介绍到这了,更多相关Redis 部署脚本内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号