问题:
只有一个服务器,但是需要在服务器中同时部署多个vue项目,将所有的vue项目静态文件放到tomcat的webapp目录下是不可取的,而在不使用Nginx的情况下,就可以利用Tomcat对这些vue项目进行代理。
解决方法:
假设Tomcat在服务器中的路径为: /www/server/tomcat
1、在 /www/server 目录下创建两个新的文件夹,分别取名为 vue1、vue2。
将第一个vue项目打包生成的dist文件放置在vue1文件下,
将第二个vue项目打包生成的dist文件放置在vue2文件下。
2、对 /www/server/tomcat/conf 目录下的 server.xml 文件配置进行修改
(1)将Tomcat的默认监听端口8080改为7070:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--port="8080"改为port="7070"-->
(2)修改host的配置,添加两个 <Context /> :
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/vue1" docBase="/www/server/vue1/dist" reloadable="true" />
<Context path="/vue2" docBase="/www/server/vue2/dist" reloadable="true" />
</Host>
这样就配置完成了,如果使用的是阿里云服务器的话还需要对7070这一个端口进行添加,还使用了宝塔的话也要对7070这个端口进行开放。
实现后重启tomcat,就可以进行访问了,访问路径如下:
#假设服务器的ip地址为:128.18.168.148
128.18.168.148:7070/vue1
128.18.168.148:7070/vue2