使用 Nginx 在单个域上运行多个 React 应用程序

2023-12-22

谁能推荐一个最佳实践 nginx 配置来在单个域上运行多个 React 应用程序?这些应用程序将从不同的根目录提供服务。

因此 app1 和 app2 在 www.domain.com 上运行并获得服务:

www.domain.com/app1
www.domain.com/app2

App1 服务来自 /tmp1/应用程序1

App2 服务来自 /tmp2/应用程序2


我不是反应应用程序的专家,但这里有一些简单的方法可以做到这一点。

在这两种情况下,请确保您的应用程序了解它是从子文件夹提供的,因此您需要为所有请求添加前缀/app1/ or /app2/.

选项1:

此示例只是提供静态文件的最简单的可能配置。

server {
  server_name www.domain.com;

  # Serve files for different applications from different paths

  # Matched location will automatically search files under /tmp1
  # For example request "GET /app1/index.html" returns file /tmp1/app1/index.html
  location /app1 {
    root /tmp1;
  }

  location /app2 {
    root /tmp2;
  }
}

您只需确保文件夹名称与请求中的子文件夹名称匹配。

选项2:

另一种方法是将子文件夹后的请求与regex并使用try_files。这样你的根文件夹路径可以是任何东西。

# Serve files from subfolders using regex
# This comes with additional bonus of matching all requests to the index.html which is usually prefered for react apps
server {
  server_name www.domain.com;

  # Now your root can be anywhere and it doesn't need to contain folder 'app1'
  location /app1/(.*) {
    root /tmp1/app1;
    try_files $1 index.html;
  }

  location /app2/(.*) {
    root /tmp2/app2;
    try_files $1 index.html;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Nginx 在单个域上运行多个 React 应用程序 的相关文章

随机推荐

  • 为什么主活动关闭时远程服务会被销毁?

    我编写了一个 android 程序 有一个 UI 主要活动 并且它启动一个服务 该服务及时回调 UI 活动以更新视图 它工作正常 除了 如果活动关闭 使用 BACK 并再次启动 服务也将再次启动 服务播放音频文件 因此有两个重叠的声音 我使
  • 链接到当前页面中的元素[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我创建了一个 HTML 页面 其中包
  • 如何创建多表检查约束?

    请想象一下这个小数据库 Diagram 删除了无效的 ImageShack 链接 志愿者数据库图 Tables Volunteer Event Shift EventVolunteer Id Id Id EventId Name Name
  • 获取 PHP DOM 中节点的文本

    如何使用 PHP DOM 从此标记中提取字符串 text div span notthis span text div div gt nodeValue包括 notthis 您可以访问DOMText直接使用 XPath 的节点 xpath
  • 如何在多进程和多线程环境中生成随机唯一标识符?

    我提出的每个解决方案都不是线程安全的 def uuid cls db u hexlify os urandom 8 decode ascii db execute SELECT sid FROM sessions WHERE sid u i
  • primeng:把重点放在控制上

    抱歉这个菜鸟问题 使用 primeng 包时 将焦点设置在控件上的推荐方法是什么 使用传统输入控件时 我设置一个表单变量 variable 并使用 ViewChild 获取对它的引用 以便我可以访问其本机元素 this variable n
  • 如何在 MySQL 中的 instr() 中使用区分大小写?

    可能重复 如何在 MySQL 的 instr 中应用通配符 https stackoverflow com questions 1905119 how to apply wildcard in instr in mysql 可能的重复链接显
  • 按一列分组并显示另一列的所有结果

    大家好 我正在尝试解决这个问题 但找不到解决方案 我有 2 列 正在尝试按第一列进行选择和分组 并显示第二列中的所有记录 我的桌子是 RegNo Name C117 Mariya Mathew C117 Baino Baby C117 Ma
  • SqlLocalDb 中的 Service Broker 或 SqlDependency?

    Is SqlDependency支持于SqlLocalDb 如果是的话如何启用 回答您主题中有关 Service Broker 的问题 Service Broker 在 LocalDB 中应该可以正常工作 但只有本地队列可用 远程队列在任一
  • CSS Reset 与 * 通配符

    为什么我不能简单地重置 margin 0 padding 0 font size 100 代替 html body div span object iframe h1 h2 h3 h4 h5 h6 p blockquote pre abbr
  • Java 解压缩实用程序的性能不佳

    我注意到 与使用 WinZip 等本机工具相比 Java 中的解压缩工具非常慢 有没有更高效的 Java 第三方库 开源是首选 Edit 以下是使用 Java 内置解决方案与 7zip 的速度比较 我在原来的解决方案中添加了缓冲输入 输出流
  • C# 中的引用传递到底是如何工作的?

    我想知道 C 中的引用传递是如何工作的 如果我通过引用函数传递 WPF DataGrid 控件 并慢慢让该函数将项目添加到其 DataGrid Items 集合中 则 UI 中的 DataGrid 是否会随着每个新的 DataGrid It
  • 在 navbar-fixed-top 之前添加标题图像

    如何添加标题图像 使其显示在导航栏固定顶部的顶部 当用户向下滚动时 导航栏会粘在顶部吗 我尝试将其添加到容器中 但它没有按预期工作 到目前为止 这是我的代码
  • 如何更新具有特定列名的所有表

    我正在尝试更新以 agg 和column name userid 等字符串开头的所有表 但我在网上没有看到任何此类示例 即使我能够找到选择具有特定列名称和表名称的所有表的选项 我也需要执行相同的操作来更新这些表 如下所示 update TA
  • T SQL 分组时选择最小和最大行

    假设我有一个包含很多行的表 如下所示 ID Range Range begining Profit 1 100 150 100 20 2 200 250 200 40 2 3 100 150 100 100 4 450 500 450 90
  • 使用 boost::numpy::ndarray 时出现分段错误

    当我试图通过时 我发现了一个奇怪的段错误boost numpy ndarray作为一个论点 include
  • 从 lxml 获取内部文本

    lxml html fromstring 坚持将所有内容包装在标签中 p默认 从这个标签树来看 p this is b the b good stuff p p 我想提取字符串 this is b the b good stuff 我该怎么
  • 在 Javascript (Meteor) 中将字符串转换为 Mongo ObjectID

    我有一个 Meteor 应用程序 最初我使用 id在我的模板中命名列表项时 我的集合中每条记录的字段 当得到 id字段 我将其转换为字符串以在模板中使用 现在我想更新 Mongo 中的这些记录并传递 id回到一个Meteor method
  • 获取本地文件的内容而不上传[重复]

    这个问题在这里已经有答案了 我正在编写一个离线网络应用程序 允许用户选择本地文件 修改它 然后也在本地保存副本 是否可以在没有任何服务器的情况下 我可以上传文件并返回其base64 但它不是离线的 应用程序只需要在 Google Chrom
  • 使用 Nginx 在单个域上运行多个 React 应用程序

    谁能推荐一个最佳实践 nginx 配置来在单个域上运行多个 React 应用程序 这些应用程序将从不同的根目录提供服务 因此 app1 和 app2 在 www domain com 上运行并获得服务 www domain com app1