摘要
建立了一个springboot
工程作为后端服务,由于springboot
内嵌tomcat
组件,所以在本地IDE进行开发时,直接run
一个main
方法就可以将这个服务跑起来,并提供外部API访问,何其简单方便快捷。
但是在本地爽快地完成开发调试后,将项目打包成war包并部署到线上tomcat
,发现tomcat
确实有解析到项目,但是却一直访问不了,报404错误,这是为什么呢?深陷其久,终发现原因!
问题复现
将springboot
项目打包成war后,将war包进行解压,得到下面两个目录:
META-INF
WEB-INF
在服务器上某个目录新建文件夹,例如:localservice
,作为项目工程访问根路径目录,然后在tomcat
的server.xml
文件做项目地址虚拟目录映射,配置如下:
<Host name="wxservice.guangzhuiyuantest.cn" appBase="" unpackWARs="true" autoDeploy="true">
<Alias>10.17.1.11</Alias>
<Context path="/localservice" docBase="/home/site/guangzhuiyuan/app/localservi