Tomcat在Linux下部署SpringMVC项目域名映射

在网上搜了好多资料,Tomcat的域名映射,就是不使用ip加端口访问,直接使用已有的域名访问。按照网上的方法是修改Tomcat安装目录下conf文件夹下的server.xml文件。

基本上大同小异都是修改Host标签name的属性为已有域名,然后再添加Context标签指向你的项目,在Linux环境下,docBase最好使用绝对路径,比如/usr/local/tomcat/apache-tomcat-8.5.30/webapps/XXXX(war名称,即你的项目名),path为/或者""那么通过url访问的时候就不需要加项目名了,可以认为path表示别名。reloadable表示自动重启,类似springboot中的热部署,appBase="webapps"Tomcat会默认加载一次后再加载context,也就是说docBase指定的项目会加载两次。但是在Linux下启动的时候,Tomcat一直报
 

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[xxx.xxx.xxx].StandardContext[]]

xxx.xxx.xxx表示我的域名。再百度后都是一些没用的方法。

最后解决方法,在Linux /etc/hosts文件下,配置 Linux服务器ip  xxx.xxx.xxx(已申请的域名),然后再到server.xml配置

<Context docBase="/usr/local/tomcat/apache-tomcat-8.5.30/webapps/xxx"  reloadable="true"  debug="0" path="/"/>

,然后就可以直接通过 xxxx.xxx.xxx域名访问项目了,看样子是把问题想复杂了。

总结,外网访问公司内网服务器,只需要配置Linux服务器的hosts文件 解析域名转向内网服务器IP就行了。

posted @ 2018-11-15 14:49  TroubleBoy丶  阅读(351)  评论(0编辑  收藏  举报