一、apache-tomcat方式:
配置檔案:server.xml
主要配置項:
1、server:
<server
port
="8005"
shutdown
="shutdown"
>
server
>
指定8005埠,監聽關閉tomcat進行的請求。
2、 connector:共兩個,定義客戶端和伺服器之間的連線。獲取客戶端發起的請求後,轉交給engine處理,然後將回應返回給客戶端。
第乙個監聽80埠(若只有tomcat,沒有apache,此處監聽的是8080埠),直接接收來自客戶端瀏覽器的請求。若請求使用了ssl(https),則使用8443埠。
第二個監聽8009埠,接收通過其他webserver(如apache)**來的http請求。
<connector
port
="8009"
protocol
="ajp/1.3"
redirectport
="8443"
/>
3、engine:定義虛擬主機
<host
name
="localhost"
unpackwars
="true"
autodeploy
="true"
>
engine中可以定義多個host,當engine收到http請求時會匹配到乙個虛擬主機,由該虛擬主機來處理。如果沒有匹配到乙個虛擬主機,則將該請求交給預設設定的虛擬主機來處理。
二、apache-tomcat處理http請求的過程:
1、客戶端直接請求80/8080埠(或者由8009埠接收由apache等其他webserver**來的請求),connector接收客戶端請求。
2、connector將http請求交給engine。
3、engine收到請求後,匹配到對應的host,將該請求交給該host處理。
4、host處理請求,並將結果原路返回。
5、connector接收到處理的結果後,返回給客戶端或其他webserver。
Tomcat工作原理
tomcat內存在乙個process連線池,有請求過來會去連線池內獲取process物件對該請求進行處理,連線池有最小連線數和最大連線數,當前請求數超過最大連線數後超出的連線請求將會被丟棄,如果最大連線數設定為負數,則表示無最大連線數限制。乙個process物件接收到請求後不對請求做任何處理,直接建...
Tomcat工作原理
總體結構 tomcat 的結構很複雜,但是 tomcat 也非常的模組化,找到了 tomcat 最核心的模組,您就抓住了 tomcat 的 七寸 下面是 tomcat 的總體結構圖 從 上圖中可以看出 tomcat 的心臟是兩個元件 connector 和 container,關於這兩個元件將在後面...
Tomcat工作原理
engine容器 engine 容器比較簡單,它只定義了一些基本的關聯關係,介面類圖如下 它的標準實現類是 standardengine,這個類注意一點就是 engine 沒有父容器了,如果呼叫 setparent 方法時將會報錯。新增子容器也只能是 host 型別的,如下 public void ...