Linux入门教程:Linux CentOS环境下单机安装tomcat多实例,tomcat实例 按照系统的部署流程


平台: centos 6.9
安装版本:tomcat 9.0 Binary Distributions

安装目的:安装三个tomcat,对外 web端口分别为8080、8081、8082
原理: 多个tomcat实例公用一个JDK,通过安装目录、端口以及配置文件实现独立实例,每个tomcat猫 都有自己独立的运行环境、配置文件 和站点目录。

按照系统的部署流程记录如下:

1、安装JDK

yum search java,这里我们选取java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment。

yum install java-1.8.0-openjdk.x86_64   -y

2、下载安装tomcat

下载地址https://tomcat.apache.org/,这里我们选取tomcat版本后对应下载,以Binary Distributions 9.0做测试。

wget  http://mirrors.shuosc.org/apache/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz   -P  /usr/local/src
cd  /usr/local/src
tar zxvf apache-tomcat-9.0.1.tar.gz 
mv apache-tomcat-9.0.1 tomcat_8080
#说明:这里不建议直接mv到/usr/local目录中,因为这个是原始的tomcat,以后创建多实例可以直接从这里拷贝并优化。
#配置单实例tomcat8080
mkdir  /usr/local/tomcat_8080
cp -rfpu  /usr/local/src/tomcat_8080/* /usr/local/tomcat_8080/

启动tomcat8080:

/usr/local/tomcat_8080/bin/startup.sh

查看效果:

[root@mysqlemn local]# netstat  -tunlp | grep 8080
tcp        0      0 :::8080                     :::*                        LISTEN      13240/java

如果防火墙开启,需要加一个规则进去以便web访问:

iptables  -I  INPUT -p tcp  --dport  8080  -j ACCEPT

web访问测试:

3、多实例安装

刚才创建了一个8080,下边我们再创建两个tomcat,端口分别为8081、8082。 如果熟练了,可以直接跳过8080,直接创建需要的实例个数。
创建多个tomcat目录:

mkdir -p /usr/local/tomcat_808{1..2}
cp  -rfpu  /usr/locat/src/tomcat_8080/*  /usr/local/tomcat_8081/
cp  -rfpu  /usr/locat/src/tomcat_8080/*  /usr/local/tomcat_8082/

分别修改tomcat的 conf目录下的server.xml,修改三个端口设置(Server、Connector、AJP,至于https根据 是否用到修改),防止和之前的tomcat_8080冲突。修改以后分别启动测试:

/usr/local/tomcat_8081/bin/startup.sh
/usr/local/tomcat_8082/bin/startup.sh

iptables 添加端口并save,web单独访问,单机多实例猫已经实现。剩下的就是根据业务需要、服务器配置进行tomcat的配置优化了,比如包括服务设置、站点发布目录以及 jvm优化等等。

说明:

(1),站点发布目录修改:

重启tomcat生效。

(2),这里建议将站点目录的catalina.sh设置成tomcatX放于/etc/init.d/tomcatPort ,里边设置下java路径以及环境启动目录比如:

[root@21yunwei ROOT]# cp   /usr/local/tomcat_8080/bin/catalina.sh      /etc/init.d/tomcat8080  -p
[root@21yunwei ROOT]# cp   /usr/local/tomcat_8081/bin/catalina.sh      /etc/init.d/tomcat8081  -p
[root@21yunwei ROOT]# cp   /usr/local/tomcat_8082/bin/catalina.sh      /etc/init.d/tomcat8082  -p

针对每个服务设置自己的启动目录:这里以/etc/init.d/tomcat8080 为例进行修改,第二行加入:

CATALINA_HOME=/usr/local/tomcat_8080 #tomcat容器的启动目录

其他容器的服务也是一样,这样以后就可以通过/etc/init.d/tomcatPort start 启动或者stop了,同时这个可以设置到/etc/rc.local脚本中方便开机启动,目前我们线上就是这样实现。

/etc/init.d/tomcat8080  start
/etc/init.d/tomcat8081  start
/etc/init.d/tomcat8082  start

(3),清理tomcat缓存。解决访问有异常,清理下tomcat服务器端的缓存方法:

find /usr/local/ -name  "work*" | xargs   rm -rf

说明:这里只是针对tomcat安装测试,未进行任何优化。

相关内容