[英]How do I use Tomcat's non-blocking connectors (NIO or APR) and Apache Httpd together?
[英]How do Apache httpd and Tomcat work together?
我正在繼承一個涉及Java Web應用程序的項目,該應用程序的后端由Apache httpd / Tomcat組合提供支持。 Web服務器用於回送JS,靜態內容和執行常規負載平衡,而Tomcat通過單個WAR文件回送JSP。
我將在今天或明天稍后訪問代碼庫,但是想提前嘗試做一些研究。
我的問題可以歸結為: 這兩個如何一起工作?
這些只是技術如何相互協作的一般性問題。 提前致謝!
誰首先收到HTTP請求?
阿帕奇幾乎可以肯定。 但是,可能存在直接與Tomcat對話的管理進程。
httpd如何知道何時將JSP請求轉發到Tomcat,或僅僅響應請求本身?
從它的配置。 具體情況會有所不同。 例如,它可能使用mod_jk
或mod_jk2
,在這種情況下,您將在配置文件中找到JkMount
指令,例如:
JkMount /*.jsp ajp13_worker
...告訴它將站點根目錄中的請求傳遞給匹配*.jsp
到ajp13_worker
,后者在workers.properties
文件中定義。
或者它可以在簡單的HTTP 反向代理安排中設置。 或者是其他東西。
httpd如何“傳遞”請求,並從Tomcat“接收”響應?
這取決於配置; 它可能是HTTP,可能是AJP ,也可能是使用其他模塊。
是否只是將請求/響應“復制並粘貼”到Tomcat正在偵聽的端口上?
有點。 :-)請參閱上面的反向代理鏈接。
是否存在某種操作系統級進程間通信?
是。 AFAIK,它是所有基於套接字的(而不是說,共享內存的東西),這意味着(除其他外)Tomcat和Apache不需要在同一台機器上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.