发布springboot和vue项目到tomcat服务器

前后端项目的端口号不一样,但是tomcat默认只能用一个端口号,请问这种情况下怎么处理。

nginx静态服务器放你的前端项目 访问你的后端

可以考虑用nginx或者apache

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/6178406
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:springboot+vue项目部署到tomcat服务器
  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    1. 首先,将Spring Boot项目打包成war包,具体过程可以参考参考资料中的段落0,这里就不再赘述。
    2. 然后,将打包好的war包放到Tomcat的webapps目录下,Tomcat会自动解压并部署项目。
    3. 在Vue项目的config/index.js文件中进行配置,将assetsPublicPath设置为当前项目的路径,如:'/myproject/'。
    4. 在Vue项目的路由配置文件index.js中,添加一个base属性,设置为当前项目的路径,如:'/myproject/'。
    5. 运行npm run build,将Vue项目打包成静态文件。
    6. 将打包生成的dist文件夹中的所有文件(包括index.html和static文件夹)复制到Tomcat的webapps目录下的对应项目文件夹中,如:/webapps/myproject/。
    7. 在Tomcat的webapps目录下新建一个WEB-INF文件夹,并在里面新建一个web.xml文件,内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
      version="3.1"
      metadata-complete="true">
    
      <display-name>myproject</display-name>
      <description>
         <error-code>404</error-code>
         <location>/index.html</location>
      </description>
    
    </web-app>
    
    1. 最后,启动Tomcat服务器,访问http://localhost:8080/myproject/即可同时访问Spring Boot和Vue项目。如果想要去掉项目名称(myproject),可以参考参考资料中的段落4中的Context节点配置。

    注:确保Spring Boot和Vue项目端口不同,还有,如果使用同一个Tomcat,两个项目需要分别部署在不同的webapps子目录下。