Linux一键单机部署和集群部署
整个部署脚本只用执行sh即可,有需要可以联系我。
一、部署类型
可参考:常见的部署类型(停机部署、蓝绿部署、滚动部署、灰度部署、AB测试等)
二、一键单机部署Docker服务
三、一键单机部署原生服务
1. BIN文件制作
A. 准备压缩包rhxy-standalone.tar.gz;
B. 编写脚本install-rhxy.sh:
#! /bin/bash # 安装目录 INSTALL_DATA_DIR=/rhxy/data # 创建安装目录 mkdir -p ${INSTALL_DATA_DIR} # 匹配安装压缩包(sed命令是从bin文件中提取出压缩包,$0表示bin文件本身,'1,/^exit 0$/!p'表示匹配bin文件中第一行到以exit开头为0结尾的行之外的所有的行,即匹配安装压缩包) sed -n -e '1,/^exit 0$/!p' $0 > ${INSTALL_DATA_DIR}/rhxy-standalone.tar.gz # 解压安装压缩包 tar -zxvf ${INSTALL_DATA_DIR}/rhxy-standalone.tar.gz -C ${INSTALL_DATA_DIR} # 切换到安装目录 cd ${INSTALL_DATA_DIR}/rhxy-standalone # 正式的安装脚本 sh ./rhxy-standalone.sh 或者就是对应的安装脚本 exit 0
C. 生成bin文件:cat install-rhxy.sh rhxy-standalone.tar.gz > rhxy-standalone.bin;
D. 执行bin文件:./rhxy-standalone.bin。
四、一键集群部署Docker服务
1. ssh免密登录
A. 意义:在一台管理执行服务器上,对其他所有的服务器节点配置成可以ssh免密登录,方便后面一键部署;
B. 步骤:
步骤一:生成秘钥对 ssh-keygen,按照提示信息执行完或简单回车;
步骤二:检查RSA秘钥对是否生成 ll /root/.ssh;
步骤三:将公钥发送其他服务器 ssh-copy-id -i /root/.ssh/id_rsa.pub ip,按照提示输入密码,ip替换为其他所有的服务器;
步骤四:其他服务器上检查是否存在秘钥文件 ll /root/.ssh/authorized_keys;
步骤五:管理服务器验证 ssh root@ip,成功登录其他服务器即可;
2. sshpass工具
A. sshpass是一个简单、轻量级命令行工具,提供非交互式密码验证,对比ssh直接使用TTY访问,确保密码是用户键盘输入的,所以该方式是不安全的;
B. 安装sshpass:yum install -y sshpass;
C. 不手动输入密码来拷贝文件示例: sshpass -p rhxy scp host.html root@192.168.0.100:/root;