Nginx怎么反向代理到Tomcat服務器中

在實際生產中,tomcat服務器一般不單獨使用在項目中,對于靜態資源的響應nginx表現的比較好,另外由于nginx是專門用于反向代理的服務器,所以很容易實現將Java的請求轉發到后端交給tomcat容器處理,而本身用來處理靜態資源

在nginx中,一個server {}塊往往用來配置一個比較大的項目,一般就是對于一個域名的所有配置,一個server塊內一般有多個location來定義多個請求規則,比如域名和根目錄配置,靜態資源支持,php fastcgi請求,url重寫,錯誤頁面配置等多種配置,所以nginx代理tomcat和前面的轉發php-fpm一樣,就是將請求轉發到后端的動態模塊去處理該請求

下面在server中簡單配置一個location局部規則,將指定的nginx請求轉發至tomcat容器

假設tomcat已經正常運行,端口號為8080,首先使用vim編輯nginx.conf配置文件,比如: vim /usr/local/nginx/nginx.conf

然后在server {}塊最后,補充下面的內容:

location?^~?/tomcat/?{ ??????proxy_pass??http://127.0.0.1:8080/; ??????proxy_redirect?off; ??????proxy_set_header?x-real-ip?$remote_addr; ??????proxy_set_header?x-forwarded-for?$proxy_add_x_forwarded_for; ????}

Nginx怎么反向代理到Tomcat服務器中

因為上面配置了php-fpm的支持,所以這里使用/tomcat/請求來確定是否轉發到tomcat容器,前面的^~就是匹配任意的域名或者ip地址部分,所以當訪問http://ip/tomcat這樣的請求時,那么tomcat容器就會起作用,和訪問http://ip:8080效果是一樣的,包括容器下的項目都是完全一樣的

保存之后,重新載入nginx配置文件: /usr/local/nginx/nginx -s reload

  Nginx怎么反向代理到Tomcat服務器中

當然這里的location可以配置好多個,從而代理到多個服務器上的tomcat,也可以自由配置多個server {}塊,代理到多個服務器,這之間都是根據自己的需要靈活配置的,另外加上靜態資源規則等配置,可以實現強大的功能,比如配置負載均衡,實現網站的高并發訪問以及圖片服務器的資源共享等等

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享