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就行了。