您的位置:首页 > 运维架构 > Tomcat

Tomcat部署及多实例部署

2020-08-19 16:08 1366 查看

1、部署tomcat
1.1部署JAVA环境
官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html)下载jdk,然后解压
#tar xf jdk-8u151-linux-x64.tar.gz -C /usr/local
#ln -s /usr/local/jdk1.8.0_151/ /usr/local/java
配置环境变量

#vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

加载配置文件
#source /etc/profile
验证
#env |grep JAVA
JAVA_HOME=/usr/local/java
#java -version
java version “1.8.0_151”
Java™ SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot™ 64-Bit Server VM (build 25.151-b12, mixed mode)

1.2安装tomcat
官网下载源码包(http://tomcat.apache.org/)
#tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/
#ln -s /usr/local/apache-tomcat-7.0.42/ /usr/local/tomcat
定义Tomcat所需环境变量

#vim /etc/profile
CATALINA_HOME=/usr/local/tomcat  #Tomcat安装目录
export CATALINA_HOME

加载配置文件
#source /etc/profile
启动tomcat
#bash /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
验证
#netstat -ltnp | grep 8080
curl 127.0.0.1:8080

2、tomcat多实例部署
关闭tomcat服务
#bash /usr/local/tomcat/bin/shutdown.sh
准备多实例主目录
#mkdir /usr/local/tomcat/instance{1…3}
制作实例工作目录
#cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance1/
#cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance2/
#cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance3/
修改端口

  • 修改instance1
#vim /usr/local/tomcat/instance1/conf/server.xml
服务端口 8080 替换成 8081
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
程序工作端口:8005替换成 8091
<Server port="8091" shutdown="SHUTDOWN">
网站目录:webapps 替换成 另一个目录
appBase="/webapps"
  • 修改instance2
    #cp /usr/local/tomcat/instance1/conf/server.xml /usr/local/tomcat/instance2/conf/
#vim /usr/local/tomcat/instance2/conf/server.xml
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Server port="8092" shutdown="SHUTDOWN">
  • 修改instance3
    #cp /usr/local/tomcat/instance1/conf/server.xml /usr/local/tomcat/instance3/conf/
#vim /usr/local/tomcat/instance3/conf/server.xml
<Connector port="8083" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Server port="8093" shutdown="SHUTDOWN">

编写启动脚本

  • instance1脚本
#vim /usr/local/tomcat/instance1/ins1.sh
#!/bin/bash
#instance1
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance1"

case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
export JAVA_OPTS='-Xms64m -Xmx128m'
  • instance2脚本
#vim /usr/local/tomcat/instance2/ins2.sh
#!/bin/bash
#instance2              #####
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance2"    #####

case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
  • instance3脚本
#!/bin/bash
#instance3              #####
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance3"    #####

case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac

脚本赋权
#chmod +x /usr/local/tomcat/instance1/ins1.sh
#chmod +x /usr/local/tomcat/instance2/ins2.sh
#chmod +x /usr/local/tomcat/instance3/ins3.sh
准备网站源码
#mkdir /webapps
#cp -r /usr/local/tomcat/webapps/ROOT/ /webapps/
启动tomcat
#/usr/local/tomcat/instance1/ins1.sh start
#/usr/local/tomcat/instance2/ins2.sh start
#/usr/local/tomcat/instance3/ins3.sh start
测试
#netstat -antp | grep 808 (验证端口是否监听)
浏览器访问测试
http://主机IP:8081
http://主机IP:8082
http://主机IP:8083

至此,tomcat多实例部署完成,可以通过部署NGINX等应用做负载均衡

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: