因为最近项目的需要,要在一台服务器上运行2个项目,这2个项目是互相独立的,所以需要装2个tomcat,在此,把我安装的整个步骤记录下来。
1.下载安装tomcat
此步骤很简单,直接进入官网:http://tomcat.apache.org/
如箭头所示,选择对应版本的tomcat。
选择linux版本,然后下载。
下载完之后,通过 rz 命令上传到所对应的目录中。
然后再通过tar -zxvf解压即可。
注意,如果你没有安装JDK环境的话,请先去安装JDK环境。
2.Spring boot的处理
首先,在 spring boot项目的pom文件中,将打包方式更改为war。如图
更改完成之后,我们需要去除掉内置的tomcat,在依赖环境中,加入如下内容,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
再去build在加入一个标签 <finalName>test_class</finalName> 中间是你的项目名,如图:
步骤已经完成大半了,我们还需要去继承SpringBootServletInitializer类,表明我们使用的是外部容器。
代码如下:
package com.xuye;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(TestClassLoadApplication.class);
}
}
需要注意的是:类名可以随意取,需要重写configure方法,并且sources加载的资源为你自己的启动类。
到了此处,就完成整个步骤了,然后通过maven的打包,整个项目即可打包为war包。
把此war包放到linux上的tomcat的webapps文件夹下。
再到tomcat下的bin目录下输入 ./startup.sh 启动tomcat
然后再到浏览器中访问,路径为ip:端口 你的项目名,也就是上面填写的finalName标签中的名字,然后再到你自己的controller接口路径即可。
此处就完成了整个spring boot项目war包方式的打包。
3.部署多个tomcat
把之前下载的tomcat拷贝一份,解压(最好不要和之前的tomcat一个目录),如我这样区分开来最好。
解压完之后,我们需要去修改配置文件。输入命令 vim /etc/profile 需要root权限。在最底部空白处分别配置2个tomcat的安装路径。
#first tomcat
CATALINA_BASE=/home/xuye/tomcat/01/apache-tomcat-8.5.38
CATALINA_HOME=/home/xuye/tomcat/01/apache-tomcat-8.5.38
TOMCAT_HOME=/home/xuye/tomcat/01/apache-tomcat-8.5.38
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
#first tomcat 2
CATALINA_2_BASE=/home/xuye/tomcat/02/apache-tomcat-8.5.38
CATALINA_2_HOME=/home/xuye/tomcat/02/apache-tomcat-8.5.38
TOMCAT_2_HOME=/home/xuye/tomcat/02/apache-tomcat-8.5.38
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
修改完之后:wq退出,source /etc/profile 加载环境变量。
然后我们还需要去修改第二个tomcat的端口,第一个的不需要动。跳转到你的第二个tomcat的安装路径下,进入到bin目录下,输入vim catalina.sh 修改此脚本的内容。
通过/OS搜索内容,在# OS specific support. $var _must_ be set to either true or false.下面,添加两行代码
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
还差最后一步,我们需要去修改端口,不可能2个tomcat都使用同一个端口。
进入到tomcat下的conf目录下,vim server.xml 修改tomcat 的配置文件。
修改此处的监听端口为你所需要的,原来是8005,我改为9005.
再往下,修改连接的端口为你所需要的,原来是8080,我修改为9080,:wq 退出。
在来到bin目录下分别启动2个tomcat,如果端口没开放的,记得先去开放,通过命令 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 开放即可。
这是我的最终效果图。