4、LNMT/LAMT
LNMT:- 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 http://localhost: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
对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 http://node2: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 http://192.168.150.138 <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 http://node2: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资源目录:
访问动态jsp资源,会自动去访问tomcat资源目录:
LAMT:
使用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 / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ <Location /> Require all granted </Location> </VirtualHost> - 验证配置并启动httpd ~]# httpd -t Syntax OK ~]# systemctl start httpd.service访问此服务所有的网页均反代至tomcat 8080
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