Linux服务器上同时部署多个Tomcat方法介绍
2017-11-23 10:58
309 查看
最近在部署几个项目,要求在新的一台Linux服务器上同时部署多个Tomcat,由于之前只部署过一个Tomcat的经验,所以在期间踩了不少坑,所幸是最后还是部署成功了。话不多说,接下来就详细介绍下方法。
服务器配置:
Linux服务器(CentOS 7.3)
JDK:1.8
Tomcat:8.5.6
tomcat服务器需配置三个端口才能启动,安装时默认配置并启用了这三个端口,所以当要运行多个tomcat服务时需要修改这三个端口,不能相同,防止端口冲突。
如果有多个tomcat,方法一样,继续往下添加即可。
记得修改完要用source /etc/profile使其生效。
并在上述代码下面添加以下代码,目的是为了tomcat2启动的时候能通过该文件的里的$CATALINA_2_BASE 和 $CATALINA_2_HOME找到/etc/profile配置文件里我们前一步配好的具体路径,完成tomcat2的启动过程。
如果有多个tomcat,修改方法是一样的。
http访问端口(默认为8080端口):
监听tomcat关闭的端口(默认为8005):
负责接收其他http服务器的请求端口(默认为8009):
修改完端口之后,要重启tomcat,并且在防火墙里也要开放以上端口。
最后,按照上面的步骤如果还不能正常的同时运行多个tomcat,可能是云服务器的问题,由于我用的阿里云的服务器,后来我在云服务器上添加了安全组规则,将其他tomcat需要开放的端口(比如我tomcat2和tomcat3用到的http的访问端口是6060和7070),添加到安全组规则里,试了下就可以了。
![](https://img-blog.csdn.net/20171123104714918?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM4MzgzMTgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
个人猜测可能是这个安全组规则比服务器上防火墙的权限可能要高,所以如果用了以上我的方法的部署多个tomcat还不能成功的童鞋可以试下这个小tips。
以上就是我总结出来的Linux服务器上同时部署多个tomcat的方法和详细步骤,希望能帮助到大家。
最后感谢大家的耐心阅读!
服务器配置:
Linux服务器(CentOS 7.3)
JDK:1.8
Tomcat:8.5.6
一、原理讲解:
tomcat在启动时会去查找tomcat的根目录,并且会通过CATALINA_BASE和CATALINA_HOME 这两个变量去查找,所以不同的一台服务器上不同tomcat的根目录以及上述两个变量的值是不一样的,因此我们要设置一下。tomcat服务器需配置三个端口才能启动,安装时默认配置并启用了这三个端口,所以当要运行多个tomcat服务时需要修改这三个端口,不能相同,防止端口冲突。
二、详细步骤
1. 修改/etc/profile文件
需要在文件中添加多组CATALINA环境变量(有几个tomcat就添加几组)。####第一个Tomcat#### export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.6 export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.6 export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.6 ####第二个Tomcat#### export CATALINA_BASE=/usr/local/tomcat2/apache-tomcat-8.5.6 export CATALINA_HOME=/usr/local/tomcat2/apache-tomcat-8.5.6 export TOMCAT_HOME=/usr/local/tomcat2/apache-tomcat-8.5.6
如果有多个tomcat,方法一样,继续往下添加即可。
记得修改完要用source /etc/profile使其生效。
2. 修改其他tomcat(除了第一个tomcat)根目录bin下的catalina.sh文件
具体操作是切换到tomcat2的bin目录下,vim catalina.sh,找到下面的注释代码# OS specific support. $var _must_ be set to either true or false.
并在上述代码下面添加以下代码,目的是为了tomcat2启动的时候能通过该文件的里的$CATALINA_2_BASE 和 $CATALINA_2_HOME找到/etc/profile配置文件里我们前一步配好的具体路径,完成tomcat2的启动过程。
# myself : add export CATALINA_BASE=$CATALINA_2_BASE export CATALINA_HOME=$CATALINA_2_HOME
如果有多个tomcat,修改方法是一样的。
3. 修改端口号
除了第一个tomcat使用的默认配置好的端口号(如果有需要也可以修改),后面添加的tomcat都要通过其根目录下的conf目录下的server.xml文件来修改端口号防止端口冲突。http访问端口(默认为8080端口):
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
监听tomcat关闭的端口(默认为8005):
<Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
负责接收其他http服务器的请求端口(默认为8009):
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改完端口之后,要重启tomcat,并且在防火墙里也要开放以上端口。
最后,按照上面的步骤如果还不能正常的同时运行多个tomcat,可能是云服务器的问题,由于我用的阿里云的服务器,后来我在云服务器上添加了安全组规则,将其他tomcat需要开放的端口(比如我tomcat2和tomcat3用到的http的访问端口是6060和7070),添加到安全组规则里,试了下就可以了。
个人猜测可能是这个安全组规则比服务器上防火墙的权限可能要高,所以如果用了以上我的方法的部署多个tomcat还不能成功的童鞋可以试下这个小tips。
以上就是我总结出来的Linux服务器上同时部署多个tomcat的方法和详细步骤,希望能帮助到大家。
最后感谢大家的耐心阅读!
相关文章推荐
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- [tomcat] 部署Web应用方法介绍
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- 部署iMatrix平台项目tomcat时内存溢出问题解决方法介绍
- 同时用两个不同版本的Tomcat跑两个项目方法,及不用Eclipse把项目部署到Tomcat的方法
- Eclipse调整tomcat插件内存方法,以便可以同时部署多个项目
- Tomcat部署web应用的几种方法
- 将项目部署到Tomcat的方法
- tomcat部署web应用的4种方法
- Tomcat部署Web应用方法总结
- tomcat中三种部署项目的方法
- SpringBoot应用部署到Tomcat中无法启动的解决方法
- Eclipse自动部署项目到Tomcat的webapps下的有效方法
- tomcat中三种部署项目的方法
- linux服务器下tomcat部署项目内存溢出
- tomcat负载均衡配置方法介绍
- tomcat部署web应用的4种方法
- 部署 JEE 项目到 Tomcat 在用tomcat插件后 遇到右键项目没有Tomcat project选项的解决方法