tomcat基礎-如何給Tomcat前端加反向代理服務器

Tomcat可以做為反向代理服務器的組件有很多,例如使用nginx,如果使用nginx,Tomcat就只能使用http連接器,另外一種是apache。如果是使用httpd,Tomcat兩種連接器都能發揮作用,例如可以使用http連接器,也可以使用ajp連接器,

在Tomcat前端加反向代理服務器,在同一臺主機上構建nginx

[root@tomcat ~]# yum install nginx

Installed:

nginx.x86_64 1:1.12.2-1.el7

 

 

配置nginx能夠把請求反代給Tomcat,兩種方式

  1. 把所有請求都反代過去,無論是靜態還是動態,這不是一種理想的方式
  2. 可以把jsp

java所寫的代碼,一般有兩種資源后綴,.do,另外一種是.jsp,假如運行在Tomcat之上,因此去匹配請求的URL后綴,而后,只把do 和 jsp 結尾的反代給Tomcat,而靜態的,都由自己進行處理

 

假設動靜資源都放在一起了,先說一個主機,動靜資源都在一起,都在/usr/share/tomcat/webapps/目錄下,nginx的根路徑也應該指向/usr/share/tomcat/webapps/,假如說主站是在/root目錄下,在nginx上還需要專門加一個location,或者是把根直接指向/root目錄,也可以

 

修改nginx配置文件

[root@tomcat /etc/nginx]# vim nginx.conf

server {

listen ??????80 default_server;

listen ??????[::]:80 default_server;

server_name ?_;

root ???????/usr/share/tomcat/webapps/ROOT/;

 

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

 

location / {

}

 

?location ~* \.(jsp|do)$ {

????????????????proxy_pass http://127.0.0.1:8080;

????????}

 

因為nginx自己不會去找ROOT,所以需要寫上

 

127.0.0.1:8080; 使用localhost上的虛擬主機進行請求響應,或者使用本機的IP地址也是一樣的,使用本機的IP,也是localhost進行響應的,除非是使用server1才會由后端server1上的虛擬主機進行響應。如果地址寫的是server1:8080,那么nginx所在的機器效可以解析server1才可以,否則無法完成代理

 

 

啟動服務

[root@tomcat /etc/nginx]# systemctl restart nginx

 

[root@tomcat /etc/nginx]# ss -ntl

State ?????Recv-Q Send-Q ???Local Address:Port ??????????????????Peer Address:Port

LISTEN ????0 ?????128 ?????????????????:::80 ??????????????????????????????:::*

LISTEN ????0 ?????100 ?????????????????:::8080 ????????????????????????????:::*

LISTEN ????0 ?????100 ?????????????????:::8009 ????????????????????????????:::*

 

訪問測試

[root@server2 ~]# curl 192.168.111.101

<html>

<head><title>403 Forbidden</title></head>

 

注意:對方的默認資源頁面是index.jsp

在nginx上配置的時候,沒表明.jsp的文件可以當做默認主頁面,所以就把index.html請求到后端去了,后端主機就沒有

修改配置文件進行適配

[root@tomcat ~]# vim /etc/nginx/nginx.conf

server {

listen ??????80 default_server;

listen ??????[::]:80 default_server;

server_name ?_;

root ???????/usr/share/tomcat/webapps/ROOT/;

index ??index.jsp index.html;

 

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

 

location / {

}

 

location ~* \.(jsp|do)$ {

proxy_pass http://127.0.0.1:8080;

}

 

重新加載配置文件

[root@tomcat ~]# nginx -s reload

 

訪問測試

[root@server2 ~]# curl 192.168.111.101 -I

HTTP/1.1 200 OK

Server: nginx/1.12.2

 

 

點擊主頁面上的Manager按鈕無法跳轉過去,因為nginx去找ROOT目錄下的host-manager/html文件去了

 

location需要單獨定義,和每個應用程序,在nginx上直接進行代理而且有多個應用,每一個應用都需要單獨定義一個location,而且對于manager資源,頁面文件還是在html目錄下,所以location要定義好,指到manager還不夠,還需要指定heml,因為默認資源時靜態的,叫做index.html,而且是放在manager目錄中的。還需要額外添加location。好在,像這種manager,一般也不應該在前端服務網關代理

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92691

(2)
無言勝千言無言勝千言
上一篇 2018-03-18 22:28
下一篇 2018-03-19 10:47

相關推薦

  • 8-8 處理文本工具sed及vim文本編輯工具

    處理文本工具sed及vim文本編輯工具 Sed:   sed是一種在線編輯器、行編輯器,一次處理一行內容。在處理時,把當前處理的行存儲在臨時緩沖區中,該緩沖區稱為“模式空間”,接著用sed命令處理緩沖區中的內容,處理完畢后,把緩沖區的內容送到標準輸出;然后緊接著處理下一行,重復完成相同的操作,直到文件末尾;sed處理的整個過程中,對象文件…

    Linux干貨 2016-08-11
  • 磁盤管理(三)邏輯卷快照

      概述:邏輯卷管理(LVM)提供了為任何邏輯卷作一個快照的功能,目的是在一致的狀態下來得到一個文件系統的備份.因為在備份過程中,應用程序可能訪問一個分區的文件或者數據庫.一些文件可能在一個狀態被備份,而后面的文件可能在一個更新后被備份,導致備份的不完整 .傳統的解決方法是以只讀的方式掛載一個分區,對數據庫應用表級鎖或者關閉數據庫的引擎等;所有的措…

    Linux干貨 2016-09-05
  • 在軟raid10上使用LVM,并且進行磁盤配額,最后還原。

    實驗環境 1)centos 7.3 2)lvm格式化的文件系統為ext4 3)磁盤為單一磁盤的不同分區 4)使用軟件:mdadm,lvm2 tools,quota 軟raid10的創建 一,兩個raid1的創建 1)對磁盤進行分區,使用工具fdidk,每個大小為1GB,類型改為fd。我的分區情況:/dev/sda{6,7,8,9}將會拿來做為raid的磁盤?!?/p>

    Linux干貨 2017-03-16
  • 系統啟動和內核管理-1

    1、Linux 組成 kernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能等等 rootfs: 程序和glibc 內核設計流派: 單內核(monolithic kernel)-Linux-把所有功能集成于同一個程序 微內核(micro kernel)-Windows, Solaris-每種功能使用一個單獨子系統實現 1)、Linux內核…

    Linux干貨 2016-09-13
  • AOP面向方面編程

    1.引言         軟件開發的目標是要對世界的部分元素或者信息流建立模型,實現軟件系統的工程需要將系統分解成可以創建和管理的模塊。于是出現了以系統模塊化特性的面向對象程序設計技術。模塊化的面向對象編程極度極地提高了軟件系統的可讀性、復用性和可擴展性。向對象方法的焦點在于選擇對象作為模塊的主要單元,并將對象與系統的…

    Linux干貨 2015-04-07
  • 壓縮打包工具

    linux系統常見的壓縮命令:compress、gzip、zcat、bzip2、xz、zip 打包命令:tar、cpio compress 語法:compress  [-dfvcVr]  [-b maxbits]  [file …]        …

    2017-08-12
欧美性久久久久