Tomcat体系架构深入理解(4)

wKiom1kBXUWjLWS4AAAk1lQa5qw072.png

- nginx安装: ~]# yum -y install nginx - 修改nginx配置文件 ~]# cd /etc/nginx/ nginx]# vim nginx.conf server {     listen       80 default_server;     listen       [::]:80 default_server;     server_name  localhost;     root         /usr/share/nginx/html;     # Load configuration files for the default server block.     include /etc/nginx/default.d/*.conf; #修改location /进行反代,由于我测试时nginx和tomcat是在同一台server上,所以使用localhost     location / {         proxy_pass :8080/;     } - 验证配置文件并启动nginx nginx]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful nginx]# systemctl start nginx.service nginx]# ss -tnl State      Recv-Q Send-Q        Local Address:Port                       Peer Address:Port              LISTEN     0      50                        *:3306                                  *:*                  LISTEN     0      128                       *:80                                    *:*                  LISTEN     0      128                       *:22                                    *:*                  LISTEN     0      100               127.0.0.1:25                                    *:*                  LISTEN     0      100                      :::8009                                 :::*                  LISTEN     0      128                      :::80                                   :::*                  LISTEN     0      100                      :::8080                                 :::*                  LISTEN     0      128                      :::22                                   :::*                  LISTEN     0      100                     ::1:25                                   :::*                  LISTEN     0      1          ::ffff:127.0.0.1:8005                                 :::*

此时进行访问测试,我访问http时已经不需要指定8080端口,使用默认端口即可访问我后端的tomcat

wKioL1kBXVjSxpBiAADl6I_Zs1k182.png

对HOST主机进行反代 - 服务器端 服务器端本地做好node的解析 ~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.150.138 node2 ~]# vim /etc/nginx/nginx.conf location / {        proxy_pass :8080/;     } 修改完配置文件后验证并reload nginx服务 ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful ~]# systemctl reload nginx.service - 客户端访问测试,无需在添加8080端口号 ~]# curl  <html>     <head>         <title>JSP Test Page</title>     </head>     <body>         hello world from /data/webapps     </body> </html> 动静分离测试: - 服务器端: ~]# vim /etc/nginx/nginx.conf 修改nginx配置文件中的location         location / {     } #如果用户访问jsp资源再进行反代,静态资源nginx自己解析     location ~* \.(jsp|do)$ {         proxy_pass :8080;     } nginx]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful nginx]# systemctl reload nginx.service 提供一个静态资源给nginx ~]# mv 18.png /usr/share/nginx/html/

访问静态资源,会自动去nginx资源目录:

wKiom1kBXW2gW-bRAABQQWJxF_c102.png

访问动态jsp资源,会自动去访问tomcat资源目录:

wKioL1kBXYnxNzjsAAAo9ydOwM0209.png

LAMT:

wKiom1kBkouTMkocAAAiCM4iWv0636.png

使用httpd的reverse_proxy_module模块反代至tomcat 1、proxy_module, proxy_http_module - httpd的安装 yum -y install httpd - 修改httpd配置文档 注释掉主配置文档中的DocumentRoot ~]# vim /etc/httpd/conf/httpd.conf #DocumentRoot "/var/www/html" 创建http_tomcat.conf的子配置文档 ~]# vim /etc/httpd/conf.d/http_tomcat.conf <VirtualHost *:80> ServerName tc1.com ProxyRequests Off ProxyVia On ProxyPreserveHost On <Proxy *>     Require all granted </Proxy> ProxyPass / :8080/ ProxyPassReverse / :8080/ <Location />     Require all granted </Location> </VirtualHost> - 验证配置并启动httpd ~]# httpd -t Syntax OK ~]# systemctl start httpd.service

访问此服务所有的网页均反代至tomcat 8080

wKioL1kBkqHhuSScAAEYP3ZQNfw410.png

wKioL1kBkqKBt9I4AAApyWsUyhQ508.png

2、proxy_module, proxy_ajp_module httpd反代至tomcat的ajp 8009端口 ~]# cd /etc/httpd/conf.d/ conf.d]# ls autoindex.conf  http_tomcat.conf  README  userdir.conf  welcome.conf conf.d]# cp http_tomcat.conf ajp_tomcat.conf conf.d]# mv http_tomcat.conf http_tomcat.conf.bak conf.d]# vim ajp_tomcat.conf  <VirtualHost *:80>     ServerName tc1.com     ProxyRequests Off     ProxyVia On     ProxyPreserveHost On     <Proxy *>         Require all granted     </Proxy>     ProxyPass / ajp://localhost:8009/     ProxyPassReverse / ajp://localhost:8009/     <Location />         Require all granted     </Location> </VirtualHost> - 验证配置并启动httpd ~]# httpd -t Syntax OK ~]# systemctl restart httpd.service

访问此服务所有的网页均反代至tomcat 8009

wKiom1kBkrWDx6LiAAEYP3ZQNfw608.png

wKioL1kBkrXwRlAmAAApyWsUyhQ896.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/19cd3b0ad42b02b0df859ea128ccac41.html