Nginx 同一端口下部署多个 Vue3 项目

这篇具有很好参考价值的文章主要介绍了Nginx 同一端口下部署多个 Vue3 项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

前端多项目部署到 Nginx 的同一监听端口下的解决方案,项目由一个主项目和多个子项目组成,主项目和子项目都是单独打包。

主子项目之间是使用的腾讯开源的无界(WebComponent 容器 + iframe 沙箱)前端框架,能够完善的解决适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等。

https://wujie-micro.github.io/doc

项目打包设置

vite.config.js文件中设置 base 路径:

主项目 base 路径设置为默认即可'/':

export default defineConfig(({ command, mode }) => {
  const env = loadEnv(mode, process.cwd());
  return {
    base:'/',
  };
});

子项 base 路径设置为'/sub/'

export default defineConfig(({ command, mode }) => {
  const env = loadEnv(mode, process.cwd());
  return {
    base:'/sub/',
  };
});

Nginx.conf 配置

server {
    listen       80;
    server_name  demo.com;

    # 主项目
    location / {
        root   /usr/web/main/;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }

    # 子项目
    location /sub {
        alias /usr/web/sub/;
        try_files $uri $uri/ /sub/index.html last;
        index index.html;
    }
}

注意

1、子项 base 设置的路径和 Nginx.conf 配置的子项目监听路径不一致页面刷新会报如下错:

Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

2、主项目 location 的是 root,而子项目中的是 alias

3、子项目 try_files index.html 需要配置前缀路径 /sub

访问

主项目:http://demo.com

子项目:http://demo.com/sub文章来源地址https://www.toymoban.com/news/detail-722538.html

到了这里,关于Nginx 同一端口下部署多个 Vue3 项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx分端口部署两个或多个项目(包含反向代理配置)

    Author:think 一、部署Nginx 若读者没有部署安装Nginx,则可以参考下面这篇文章进行安装。 CentOS 7非编译安装Nginx_think_mzs的博客-CSDN博客 二、分析Nginx配置文件 通过上面的方法安装的Nginx,其配置文件在 /etc/nginx/ 目录下,如下图所示。 其中 nginx.conf 为Nginx的主要配置文件,在 co

    2024年02月05日
    浏览(48)
  • 【运维】手把手教你在Linux/Windows系统使用Nginx部署多个前端项目【详细操作】

            需求:项目上线需要将前端的前台和后台部署在服务器上提供用户进行使用,部署在不同的服务器直接在服务器安装nginx即可。但是在内网安装还是有点麻烦,因为需要联网,如果是内网可以参考Linux安装Nginx并部署前端项目【内/外网-保姆级教程】_MXin5的博客-CSDN博

    2024年02月08日
    浏览(60)
  • Nginx配置前后端分离项目在同一IP端口或域名下

    前后端分离的架构已经被广泛采用。这种模式下,前端和后端会分别运行在不同的服务器或端口上。然而,有时我们需要把前后端部署在同一端口或同一域名下,这就需要利用到反向代理服务器,例如Nginx。 在本文中,我将向大家展示如何利用Nginx将前后端分离的项目配置在

    2024年02月15日
    浏览(36)
  • 用Nginx打包部署vue3项目及404和500解决

    打包vue3 安装Nginx 这里安装步骤比较繁琐,现在服务器比较便宜,如果想用Nginx,可以去菜鸟教程https://www.runoob.com/linux/nginx-install-setup.html 配置安装一下 找到安装路径下的 conf 文件夹 下 nginx.conf 文件,用编辑器打开这个文件 里边的 4. 去cmd中检查一下配置的文件, 可以看到

    2024年02月20日
    浏览(45)
  • nginx支持一个端口访问多个前端项目(http以及https)

        最近做项目结构优化,前端项目都是部署在nginx上,想实现同一个端口可以访问多个前端项目.这样可以提高服务器的端口复用率,降低项目部署以及维护成本.根据平常的需求,用两台nginx服务器分别支持http、https同一端口访问不同项目。下面将配置方式以及相关注意事项做简

    2024年02月03日
    浏览(54)
  • nginx部署多个前端项目

    前提:nginx已在服务器上安装完成 假如有2个项目(一个company,一个test),需要通过ip或者域名来访问,我们通过http://www.test.com来举例 首先把2个静态资源项目或者打包好的项目放到Nginx中 在nginx的html里面 创建两个文件夹,一个services放服务端代码,一个web放前端代码 将前端

    2024年02月01日
    浏览(45)
  • docker配置nginx,并部署多个项目

    前言 基于开发需要需要使用Docker安装nginx,并部署多个前端项目。 1、docker安装nginx容器 2、配置nginx.conf 此时访问 192.168.31.131:8088/one 或者 192.168.31.131:8088/tow ,就可以访问各自的项目了。 3、其中可能会出现的问题 例如: nginx 反向代理到 one 项目后,在刷新页面突然出现 404 的

    2024年02月03日
    浏览(43)
  • Nginx 配置多个Vue项目

    背景:公司要求将之前用不同端口号区分的三个独立的系统统一配置到统一域名下。 VUE项目配置 示例:有两个项目 第一个:打包到 `test1`目录中; 第二个:打包到 `test2` 目录中; 注意:第二个项目需要需要做以下修改,然后再进行打包。第一个项目啥都不用动,就用默认的

    2024年02月13日
    浏览(48)
  • 前后端分离项目(gin+gorm+vue3)腾讯云部署详细教程(Xshell安装及使用,go,mysql,nginx安装及配置)

    1. 购买服务器 进入腾讯云官网点击最新活动,进入云+校园专区,我购买的是第一个 购买完成后,进入控制台,云产品选择轻量应用服务器,即可查看到自己的服务器,记住自己的公网IP 2. 重置密码 点击进入服务器详情,初次使用需重置密码 点击重置密码按提示操作即可,

    2024年02月06日
    浏览(66)
  • Nginx 同一端口 同时支持http与https 协议

    通过 nginx ,让同一端口 同时支持http与https 协议 通过使用 Nginx,可以实现同一端口同时支持 HTTP 和 HTTPS 协议。下面是一种可能的配置方式: 配置 HTTP 服务 在 Nginx 配置文件中,添加以下配置块用于处理 HTTP 请求: 配置 HTTPS 服务 在 Nginx 配置文件中,添加以下配置块用于处理

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包