一个Tomcat发布多个Springboot项目流程记录
一、首先,讲项目打包成war,如果是jar包,修改如下
1、修改pom.xml,
<packaging>war</packaging>
2、主启动类继承SpringBootServletInitializer,重写configure方法
/**
* SprintBootApplication
*/
@Slf4j
@SpringBootApplication
@EnableCaching
@EnableScheduling
public class BootApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
ApplicationContext context = SpringApplication.run(BootApplication.class, args);
String serverPort = context.getEnvironment().getProperty("server.port");
log.info("webstarted at http://localhost:" + serverPort);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(BootApplication.class);
}
}
至此即可,不需要排除tomcat jar包,排除也行,添加serverlet api支持
二、在磁盘任何位置,创建一个web-project(名称随便,主要是用来放多个项目)文件夹,比如,我们放一个叫做pan的项目,一个execute(一个是百度云盘网站,一个是爬虫执行器)
三、修改tomcat conf 下面的service.xml,如果觉得源文件注释太多,可以直接删除,我是觉得那个注释看着眼花
xxxxx\tomcat8.5\conf
四、复制Servies节点,顺便做个优化
<Service name="Catalina.execute">
<Connector port="9911" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/javascript,text/css,text/plain,text/json"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina.execute" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false">
<Context path="" docBase="C:\Users\gqsu\Desktop\web-project\execute" debug=