2017-12-14 20:21:15 +08:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
2018-01-26 17:14:34 +08:00
|
|
|
|
#######################################################################
|
|
|
|
|
# 启动退出开关:当执行命令返回非0(0表示成功)状态码时,脚本退出执行。
|
2017-12-14 20:21:15 +08:00
|
|
|
|
# 次脚本适用于 Centos/RedHat
|
2018-01-26 17:14:34 +08:00
|
|
|
|
#######################################################################
|
2017-12-14 20:21:15 +08:00
|
|
|
|
|
|
|
|
|
# 获取当前机器 IP
|
2018-01-26 17:14:34 +08:00
|
|
|
|
IP=""
|
2017-12-14 20:21:15 +08:00
|
|
|
|
getDeviceIp() {
|
|
|
|
|
IP=`ifconfig eth0 | grep "inet addr" | awk '{ print $2}' | awk -F: '{print $2}'`
|
2018-01-26 17:14:34 +08:00
|
|
|
|
if [ "$IP" == "" ]
|
|
|
|
|
then
|
|
|
|
|
IP=`ifconfig ens32 | grep "inet"|grep "broadcast" | awk '{ print $2}' | awk -F: '{print $1}'`
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "${IP} 机器环境部署开始" |tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
if [ "$IP" == "" ]
|
|
|
|
|
then
|
|
|
|
|
IP=`echo $1`
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${IP}" == "" ]
|
|
|
|
|
then
|
|
|
|
|
echo " "
|
|
|
|
|
echo " 请输入服务器IP地址................ "
|
|
|
|
|
echo " "
|
|
|
|
|
exit 0
|
2017-12-14 20:21:15 +08:00
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-26 17:14:34 +08:00
|
|
|
|
touch ${DEPLOY_LOG_PATH}
|
|
|
|
|
chmod 777 ${DEPLOY_LOG_PATH}
|
2017-12-14 20:21:15 +08:00
|
|
|
|
installGit() {
|
|
|
|
|
echo "安装 git" |tee ${DEPLOY_LOG_PATH}
|
2018-01-26 17:14:34 +08:00
|
|
|
|
yum install -y git-core
|
2017-12-14 20:21:15 +08:00
|
|
|
|
yum install -y git
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-26 17:14:34 +08:00
|
|
|
|
copyXyzdeploy() {
|
|
|
|
|
echo "克隆 xyzdeploy 项目到本地" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
rm -rf ${SOFTWARE_ROOT}*
|
|
|
|
|
rm -rf ${XYZDEPLOY_ROOT}
|
|
|
|
|
git clone ssh://git@git.xyz.cn:10022/dream/xyzdeploy.git ${XYZDEPLOY_ROOT}
|
|
|
|
|
chmod -R 755 ${XYZDEPLOY_ROOT}/*
|
|
|
|
|
cp -rf ${XYZDEPLOY_ROOT}/software ${SOFTWARE_ROOT}
|
|
|
|
|
cp -rf ${XYZDEPLOY_ROOT}/config/ /home/xyz/
|
|
|
|
|
cp -rf ${XYZDEPLOY_ROOT}/script/ /home/xyz/
|
|
|
|
|
|
|
|
|
|
sed -i 's/127.0.0.1/'"${IP}"'/g' /home/xyz/config/nginx/vmhosts/*.conf
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-14 20:21:15 +08:00
|
|
|
|
initEnviromentConfig() {
|
|
|
|
|
echo "修改环境配置文件 profile 和 hosts" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
if [ ! -f /etc/profile.bak ]
|
|
|
|
|
then
|
2018-01-26 17:14:34 +08:00
|
|
|
|
cp -f /etc/profile /etc/profile.bak
|
2017-12-14 20:21:15 +08:00
|
|
|
|
fi
|
2018-01-26 17:14:34 +08:00
|
|
|
|
cp -f ${XYZDEPLOY_ROOT}/config/enviroment/profile /etc/profile
|
2017-12-14 20:21:15 +08:00
|
|
|
|
source /etc/profile
|
2018-01-26 17:14:34 +08:00
|
|
|
|
|
|
|
|
|
if [ ! -f /etc/hosts.bak ]
|
|
|
|
|
then
|
|
|
|
|
cp -f /etc/hosts /etc/hosts.bak
|
|
|
|
|
fi
|
|
|
|
|
cp -f ${XYZDEPLOY_ROOT}/config/enviroment/hosts /etc/hosts
|
|
|
|
|
sed -i 's/0.0.0.0/'"${IP}"'/g' /etc/hosts
|
2017-12-14 20:21:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installJava() {
|
|
|
|
|
echo "安装 jdk" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
yum -y install java-1.8.0-openjdk-devel-debug.x86_64 | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installMaven() {
|
|
|
|
|
echo "安装 maven" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
mkdir ${SOFTWARE_PATH}/maven
|
|
|
|
|
cd ${SOFTWARE_PATH}/maven
|
|
|
|
|
echo "解压 apache-maven-3.5.2-bin.tar.gz" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://mirrors.shuosc.org/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
|
|
|
|
|
tar -zxvf apache-maven-3.5.2-bin.tar.gz
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installGcc() {
|
|
|
|
|
echo "安装 gcc" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
yum -y install make gcc gcc-c++ kernel-devel
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installZlib() {
|
|
|
|
|
echo "安装 zlib" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
yum -y install make zlib zlib-devel libtool openssl openssl-devel
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installOpenssl() {
|
|
|
|
|
echo "安装 openssl" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
yum -y install make openssl openssl-devel
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installPcre() {
|
|
|
|
|
echo "安装 Pcre" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
yum -y install pcre-devel.x86_64
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installNginx() {
|
|
|
|
|
echo "安装 Nginx" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
yum -y install make nginx.x86_64
|
|
|
|
|
cp /etc/nginx/mime.types /usr/local/nginx/conf/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
installNodejsAndNvm() {
|
2017-12-27 13:50:47 +08:00
|
|
|
|
echo "安装 Nvm 和 Nodejs" | tee ${DEPLOY_LOG_PATH}
|
|
|
|
|
rm -rf /home/admin/.nvm
|
2017-12-14 20:21:15 +08:00
|
|
|
|
git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm
|
|
|
|
|
source ~/.nvm/nvm.sh
|
2017-12-27 13:50:47 +08:00
|
|
|
|
|
2018-01-26 17:14:34 +08:00
|
|
|
|
# 使用 nvm 安装 Node 指定版本
|
2017-12-27 13:50:47 +08:00
|
|
|
|
nvm install 0.10.48
|
2017-12-14 20:21:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
2018-01-26 17:14:34 +08:00
|
|
|
|
installNtp() {
|
|
|
|
|
yum install -y ntp
|
|
|
|
|
vi /etc/crontab
|
|
|
|
|
echo "*/30 * * * * /usr/local/bin/ntpdate 192.168.16.182" | tee /etc/crontab
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-14 20:21:15 +08:00
|
|
|
|
shutdownFirewall() {
|
|
|
|
|
echo "************************关闭防火墙************************" |tee -a /home/depoly.log
|
|
|
|
|
/etc/init.d/iptables stop
|
|
|
|
|
chkconfig --level 35 iptables off
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setPrivilegeForUserIns() {
|
2018-01-26 17:14:34 +08:00
|
|
|
|
userdel INS
|
|
|
|
|
groupdel INS
|
|
|
|
|
groupadd INS
|
|
|
|
|
useradd -g INS INS
|
|
|
|
|
mkdir -p /search/statistics
|
|
|
|
|
mkdir -p /home/mic
|
|
|
|
|
mkdir -p /home/INS/logs
|
|
|
|
|
chown -R INS.INS /home/mic
|
|
|
|
|
chown -R INS.INS /search/
|
|
|
|
|
chown -R INS.INS /home/INS/
|
|
|
|
|
chown -R INS.INS /opt/
|
|
|
|
|
chown -R INS.INS /tmp/
|
2017-12-14 20:21:15 +08:00
|
|
|
|
}
|
|
|
|
|
##############################__MAIN__########################################
|
2018-01-26 17:14:34 +08:00
|
|
|
|
DEPLOY_LOG_PATH=/home/zp/log/deploy.log
|
|
|
|
|
XYZDEPLOY_ROOT=/home/xyz/source/xyzdeploy
|
|
|
|
|
SOFTWARE_ROOT=/opt/software
|
2017-12-14 20:21:15 +08:00
|
|
|
|
|
|
|
|
|
init
|
|
|
|
|
getDeviceIp
|
|
|
|
|
installGit
|
2018-01-26 17:14:34 +08:00
|
|
|
|
copyXyzdeploy
|
2017-12-14 20:21:15 +08:00
|
|
|
|
initEnviromentConfig
|
|
|
|
|
installJava
|
|
|
|
|
installGcc
|
|
|
|
|
installZlib
|
|
|
|
|
installOpenssl
|
|
|
|
|
installPcre
|
|
|
|
|
installNginx
|
|
|
|
|
installMaven
|
|
|
|
|
installNodejsAndNvm
|
2018-01-26 17:14:34 +08:00
|
|
|
|
installNtp
|
2017-12-14 20:21:15 +08:00
|
|
|
|
shutdownFirewall
|
|
|
|
|
setPrivilegeForUserIns
|