Apache 服务器/TOMCAT 更新实施

Apache 服务器/TOMCAT 更新实施

我正在设计一个高级版本控制系统,当我们的系统上的各种软件有更新时,该系统将向用户更新。

但我需要更多地了解 Apache 通常如何为其产品实施更新。例如,Apache Server 是否通常像 Windows 一样打补丁,因此需要多次更新,还是将补丁集中在一起并发布新版本?

如果需要更多信息,请告诉我。

谢谢

答案1

据我所知,Apache 软件基金会不使用任何二进制修补系统。每次发布新版本时,都会打包相关文件,对获得的软件包进行签名,上传到发布镜像,并准备好供用户下载。

Apache httpd(Web Apache 服务器)通常根本不提供二进制发行版,而只提供源代码发行版。二进制发行版(编译后的文件,如可运行的 .exe)由其他人提供,例如 Linux 发行版针对各种 Linux 平台编译它们。我不知道这些发行版中是否有任何一个提供渐进式二进制补丁。

Apache Tomcat 确实提供了二进制发行版,因为它是用 Java 编写的,因此(通常)跨平台兼容。但是,由于源代码可用,许多发行版以不同的方式提供 Tomcat 打包,例如大多数 Linux 发行版将核心服务器、文档、“管理器”Web 应用程序等分开。

还要记住 Apache 软件基金会内部使用的版本控制系统。它通常基于 major.minor.revision 。例如,版本 1.2.3 表示主版本 1、次版本 2、修订版本 3。

修订更新(应该)是二进制和编译兼容的,因此从较低修订版更新到较高修订版应该没有问题。

次要版本通常与源代码兼容(使用 Apache Httpd 或 Apache Tomcat 内部组件的自定义代码仍可编译,并且可能正常运行),但不与二进制兼容(自定义代码需要重新编译)。因此更新可能很危险,http 模块和 tomcat 自定义可能需要重新编译。

然而,由于 Apache Tomcat 是用使用后期绑定的 Java 开发的,所以这种情况通常比 Apache Httpd 模块更少见。但这也取决于它是如何链接的。

主要版本通常与以前的版本完全不兼容。一切都可能发生变化,包括配置文件格式、核心内部结构等。因此,如果没有经过适当测试,自动更新主要版本通常是一个糟糕的举动。

如果您想在客户的系统上设置 Apache Httpd 和 Apache Tomcat 的自动更新,则这在很大程度上取决于您所针对的平台,因为通常两个服务器都可以作为服务运行,由 root(管理员)用户启动,并且类似的复杂性使它并不总是一项简单的任务。

大多数 Linux 发行版都已配备包管理器,大多数情况下都能正确处理更新。Windows 上有一些打包的 Apache Httpd,通常还与 PHP、MySql 和其他用于 Web 开发的软件捆绑在一起,可执行自我更新。

相关内容