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/<Server port="8006" shutdown="SHUTDOWN">' /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/<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />' /opt/tomcat2/apache-tomcat-8.5.35/conf/server.xml } tomcat3_update() { sed -i '22c/<Server port="8007" shutdown="SHUTDOWN">' /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/<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />' /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