我的任务是为现有网站添加几个功能。我查看了当前配置:Tomcat 5.0 独立版,JDK 1.4,以及同一台机器上的 DB 服务器。
在添加功能和为 DB 设置单独的服务器(客户要求的一部分)的过程中,我是否应该升级 JDK 和 Tomcat 版本?我认为这样更容易找到我开发所需的相关库。这值得吗?我应该考虑什么?
我将设置第二个 Tomcat 实例,在 Apache 上运行(这是更快,对吧?)直到我确定它稳定后再关闭当前服务。我是否可以正确地假设,在我替换当前网站之前,这绝不会影响当前网站?
更多信息:这是 Windows 2003 服务器机箱。我相信当前的 DBMS 是 MSSQL 2005,但我不确定这是否相关。
(我知道这不完全是一个系统管理员的问题,但我觉得这个问题在 SO 上不会有很好的表现。)
答案1
在 Windows 机器上升级 jdk 可能会很危险,因为安装程序通常会将注册表修改为较新的 jvm 作为默认 jvm。除非/直到重新启动该 tomcat 实例,否则这不会对当前正在运行的 tomcat 实例产生任何影响。您将要确保您的 tomcat 5.0 实例明确调用 1.4 jvm(只是为了安全起见),但您可能无论如何都会想要这样做,特别是如果您不是此服务器的主要管理员。
从开发角度来看,我认为在您自己的开发机器上进行本地实现会更安全。我认为 serverfault 上的任何人都不会放心地支持在您的实时生产服务器上进行开发,尤其是因为可以很容易地启动和运行带有 eclipse 或 netbeans 的捆绑 tomcat。
随着 tomcat 的更新,由于新 tomcat 中的 http 连接器非常好,因此不再需要 apache 来提高直接 http 性能。如今开发的许多 Web 应用程序似乎将所有内容(包括图像、脚本和样式)捆绑在 tomcat 最终提供服务的某个 war 文件中。如果您不打算让 Apache 直接提供静态内容文件(或出于下面列出的任何其他原因),那么添加 apache 可能会使速度减慢几毫秒。
您可能仍会出于除 http 连接性能之外的其他原因将 apache 部署到堆栈中。没有什么能真正胜过 mod_rewrite 的多功能性。如果您希望将缓存引入网站,apache 也非常适合。一些安全人员仍然将 tomcat 视为应用服务器,而不是 Web 服务器,并且让面向 Internet 的应用服务器直接对 sql 服务器进行数据库调用会让一些安全人员感到紧张。还有许多其他原因,但这个答案可能太长了... :) 希望这对您有所帮助!