shell腳本部署tomcat 單機多實例

首先安裝tomcat 我寫了一個腳本 可能不是很完善
#!/bin/bash
#解壓壓縮包 先判斷是否存在
install_tomcat() {
ls -la /opt/tomcat1/ | grep -w ‘apache-tomcat-8.5.35’
if [ $? -eq 0 ]; then
echo “已存在”
else
tar -zxf tar -zxf apache-tomcat-8.5.35.tar.gz -C /opt/tomcat1/
fi
}
#修改配置文件
tomcat2_update() {
sed -i ‘22c/’ /opt/tomcat2/apache-tomcat-8.5.35/conf/server.xml
sed -i ‘69c/<Connector port=“8081” protocol=“HTTP/1.1”’ /opt/tomcat2/apache-tomcat-8.5.35/conf/server.xml
sed -i ‘116c/’ /opt/tomcat2/apache-tomcat-8.5.35/conf/server.xml
}
tomcat3_update() {
sed -i ‘22c/’ /opt/tomcat3/apache-tomcat-8.5.35/conf/server.xml
sed -i ‘69c/<Connector port=“8082” protocol=“HTTP/1.1”’ /opt/tomcat3/apache-tomcat-8.5.35/conf/server.xml
sed -i ‘116c/’ /opt/tomcat3/apache-tomcat-8.5.35/conf/server.xml
}
#安裝java環境
rpm -ivh jdk-8u131-linux-x64_.rpm
#先判斷安裝包是否存在
ls -la /root/ | grep -w ‘apache-tomcat-8.5.35.tar.gz’
if [ $? -eq 0 ]; then
echo “壓縮包已存在”

else
echo “壓縮包不存在 請確保ansible已分發tomcat的壓縮包”
break
fi

#解壓縮包 首先創建一個可以存放解壓出來的目錄
ls -la /opt/ | grep -w ‘tomcat1’
if [ $? -eq 0 ]; then
echo “此文件夾已存在”
#開始判斷解壓出來的文件是否存在
install_tomcat
else
mkdir /opt/tomcat1
install_tomcat
fi
#判斷是否可以訪問頁面
IP=/sbin/ifconfig -a | awk '{print $2}'| sed -n '2p' #首先獲取IP地址
curl_code=curl -I -m 10 -o /dev/null -s -w %{http_code} http://${IP}:8080
if [ $curl_code -eq 200 ];then
echo “可以正常訪問”
else
echo “頁面不可以正常訪問”
fi

#單機多實例
ls -la /opt | grep -w ‘tomcat2’
if [ $? -eq 0 ]; then
echo “文件已存在”
tomcat2_update
else
cd /opt/ && cp -rf tomcat1 tomcat2
tomcat2_update
fi
ls -la /opt | grep -w ‘tomcat3’
if [ $? -eq 0 ]; then
echo “文件已存在”
tomcat3_update

else
cd /opt/ && cp -rf tomcat1 tomcat3
echo “已創建”
tomcat3_update
fi

注意:以上腳本沒有修改端口的功能 可以先手動修改一下

託管給supervisor

首先安裝
yum -y install supervisor
寫一個命令 只是託管三個tomcat
vim /etc/supervisord.d/tomcat.ini
[program:tomcat1]
command=//opt/tomcat1/apache-tomcat-8.5.35/bin/catalina.sh run

[program:tomcat2]
command=//opt/tomcat3/apache-tomcat-8.5.35/bin/catalina.sh run

[program:tomcat3]
command=//opt/tomcat3/apache-tomcat-8.5.35/bin/catalina.sh run

查看端口是否都啓動了
在這裏插入圖片描述
測試用的 查看返回的狀態碼是否是200
curl -I -m 10 -o /dev/null -s -w %{http_code} http://10.0.0.42:8081

先爲成功的人工作,再與成功的人合作,最後是讓成功的人爲你工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章