SpringBoot项目如何部署到独立的tomcat上
自己写了个小web项目,想部署到独立的tomcat,购买了一年阿里云的服务器,然后就开始了折腾,首先安装jdk,tomcat,mysql,ok,都很顺利,项目在本地测试,也ok,然后打war包,成功,把生成的war包上传至webapp下,启动tomcat,输入服务器ip:8080+项目名访问,报错!
然后开始折腾tomcat,首先解决403 Access Denied的问题,网上一顿搜索,得到良莠不齐的链接,下面这个链接是比较靠谱的解决方法
https://blog.csdn.net/Hello_World_QWP/article/details/79581174
解决完这个问题后,输入application.protrities里面server.servlet.context-path=/aaa配置的aaa路径访问,失败,前面不加也失败,倒是输入服务器ip:8080可以正常访问tomcat,一顿乱输之后,没辙了。
冷静一下,上个厕所,接着折腾,既然是访问独立的tomcat,server.servlet.context-path=/aaa肯定是不需要的
把logs里的catalina.out文件拿出来瞅瞅,发现启了一个空的tomcat,难怪执行shutdown.sh和start.sh都超快,快到爽的不行,既然定位到问题所在,去网上搜索答案就简单了。ps:话说根据关键字搜索自己所需要的答案也是能力的一种。有兴趣的同学推荐读读《提问的智慧》。
把本文的标题当关键字一搜,找到2个靠谱的链接:
https://blog.csdn.net/u010752082/article/details/78269585
https://www.cnblogs.com/renshengruozhiruchujian/p/7799521.html
重点就是:在你的启动类里继承SpringBootServletInitializer,然后重写configure方法,
public class DmsApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(DmsApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DmsApplication.class, args);
}
}
告诉tomcat读取spring。
然后从新打包发布,再次查看日志,ok,读到项目了。再拿以前的链接访问,大功告成。
如何快速定位问题,用什么手段,怎么理性的分析问题,如何根据关键字检索,遇到问题,想尽各种方法去解决,一点点排除问题,都是个人能力的体现,平时一定要多多注意自己这方面能力的锻炼。