反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果傳回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。
這裡講得很直白。 反向代理方式實際上就是一台負責轉發的代理伺服器(Nginx),似乎充當了真正伺服器的功能,但實際上並不是,代理伺服器只是充當了轉發的作用,並且從真正的伺服器( Tomcat)那裡取得傳回的資料。這樣說,其實nginx完成的就是這樣的工作。我們讓nginx監聽一個端口,譬如80端口,但實際上我們轉發給在8080端口的tomcat,由它來處理真正的請求,當請求完成後,tomcat返回,但數據此時沒直接返回,而是直接給nginx,由nginx進行返回,這裡,我們會以為是nginx進行了處理,但實際上進行處理的是tomcat。
實際上,我們配置了Nginx反向代理程式後,系統的物理結構可能是下面這樣子的,當我們存取一個網域名稱/IP位址時,實際存取的是我們配置的Nginx伺服器,Nginx伺服器的真實身分只是代理,它代理了許多不同的真正伺服器。
雖然配置反向代理比較麻煩,但是它的作用性還是很大滴。一方面是為了安全性考慮,另一方面是提供應用的存取效能。說到上面的方式,也許很多人又會想起來,這樣可以把靜態檔案交由nginx來處理。對,很多用到nginx的地方都是作為靜態伺服器,這樣可以方便快取那些靜態文件,例如CSS,JS,html,htm等文件。
接下來設定Ngin的反向代理Tomcat。
更改nginx的設定檔
更改nginx.conf文件,在http/server/location層次結構下,新增proxy_pass http://localhost: 7080; 一句話即可。注意不要放了;結尾。
重啟nginx,在瀏覽器中輸入nginx的存取位址,顯示的就是Tomcat的存取位址。
現在雖然nginx反向代理成功了,但是為了更好的發揮nginx的性能。我們將Tomcat的js、html、圖片等靜態檔案配置到nginx上進行緩存,這樣就可以提高應用程式的存取效率了。
更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習!
以上是nginx和tomcat怎麼在一起工作的詳細內容。更多資訊請關注PHP中文網其他相關文章!