我有一個web應用程序,它目前使用外部目錄來託管Spring webapp中的靜態文件,例如css,velocity。也就是說,該目錄在tomcat的webapp目錄內,但不在WAR內。用於戰爭部署的外部和內部資源,例如Tomcat
除了無需輕鬆編輯這些資源而無需重新編譯打包部署的功能,在戰爭中不包括這些文件還有什麼好處。
我似乎記得被告知長時間AGO Tomcat在提供文件靜態文件方面表現不佳,但我沒有任何經驗支持這一點。據我所知,唯一的優點是易於編輯。
我有一個web應用程序,它目前使用外部目錄來託管Spring webapp中的靜態文件,例如css,velocity。也就是說,該目錄在tomcat的webapp目錄內,但不在WAR內。用於戰爭部署的外部和內部資源,例如Tomcat
除了無需輕鬆編輯這些資源而無需重新編譯打包部署的功能,在戰爭中不包括這些文件還有什麼好處。
我似乎記得被告知長時間AGO Tomcat在提供文件靜態文件方面表現不佳,但我沒有任何經驗支持這一點。據我所知,唯一的優點是易於編輯。
通常,在應用程序服務器圖案前面的web服務器仍然是有效的:
毫無疑問,這取決於你的使用情況下,它可能會有所不同:
具有相同的節點上Web服務器和應用服務器減少提供Web服務器的優勢。我的經驗是,當涉及到「少數用戶」使用的「較小」的內部應用程序時,Web服務器不是必需的,並且tomcat服務良好。如果您的應用只提供一些靜態文件,如圖標,css和javascript,則更是如此。
希望這有助於...
謝謝你是一個非常好的答案!因此,如果我在我的設置中正確理解應用程序服務器(tomcat)提供靜態資源而不是web應用程序,所以我沒有任何優勢(緩存,減少的內部網絡通信等),對我而言真的如此沒有超出可編輯性的理由。也許我應該考慮將靜態資源移動到Web服務器。 – SilentICE
@SilentICE:我認爲這取決於。如果您的應用程序今天運行良好,則可能不需要Web服務器。如果你計劃增長或想要解決一些安全問題(DMZ),它可能是有道理的。使用['mod_jk'](http://tomcat.apache.org/connectors-doc/index.html)集成相當容易。 – home
你是什麼意思的'外部目錄'?你是否已經有了一個Web服務器(如Apache HTTP Server)來提供這些靜態文件? – home
當前的設置是Apache HTTPd和通常連接到Tomcat的連接器。外部資源目錄與未爆炸的WAR位於相同的文件夾中。在我的理想世界中,我只是有Tomcat和戰爭,但我很好奇目前的配置是否有任何優勢,除了輕鬆編輯css/html/velocity/etc – SilentICE