【问题标题】:angular deployment strategy角度部署策略
【发布时间】:2021-06-19 20:24:58
【问题描述】:

目前我们正在通过复制 dist 文件夹在 apache 服务器中部署我们的 Angular 应用程序。

我很想知道部署为 war 文件与 dist 文件夹之间的区别 在 jboss 或 tomcat 应用程序服务器中将 Angular 应用程序部署为战争而不是部署它的区别 直接在网络服务器中。

我想知道这两种方法在性能和安全性方面的优缺点,也想知道角度部署的行业标准方法。

任何帮助将不胜感激!!!

【问题讨论】:

    标签: angular tomcat jboss


    【解决方案1】:

    Apache HTTP ServerApache TomcatWildFly(以前的 JBoss Application Server) 都是 网络服务器,因此它们可以提供静态资源,例如您的 Angular 应用程序。后两者也是 servlet 容器,而 WildFly 是完整的 Java EE/Jakarta EE 应用服务器

    区别主要在于性能:

    • Apache HTTP Server 是用 C 编写的,所以它可能是最快的,
    • 从 WAR 文件为应用程序提供服务将是最慢的,因为 servlet 容器需要解压缩数据。这意味着只解压缩 JAR 条目,因为 WAR 文件的偏移量通常在部署时被缓存。
    • Servlet 容器从解压的 WAR 中提供数据(Tomcat 默认在部署时解压 WAR)将排在第二位,因为 Java 代码可能比 C 代码慢。

    一种常见的部署配置是将 Apache HTTP Server 配置为 Servlet 容器的反向代理。在这样的配置中,您可以让 Apache 提供静态内容,同时将 servlet 的执行留给 Servlet 容器。

    另见:

    【讨论】:

    • 感谢 Piotr P.Karwasz!!!详细解释