1、环境:

前端Nginx服务器:主机名:server1

    IP172.25.80.1 编译安装nginx1..12

 

后端tomcat

   Server2--ip172.25.80.2 主机名:server2

   Server3--ip172.25.80.3 主机名:server3

2Ngginx配置:

user  nginx;

worker_processes  1;

events {

use epoll;

   worker_connections  4096;

}

http {

include      mime.types;

default_type application/octet-stream;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

       server_tokens off;

  keepalive_timeout 65;

server_names_hash_max_size1024;

gzip on;

gzip_proxied any;

gzip_min_length 1000;

gzip_comp_level 4;

gzip_types text/plain text/cssapplication/json application/x-javascript text/xml application/xmlapplication/xml+rss text/javascript;

gzip_static on; 

 

upstream tomcat {  #定义一个tomcat服务器集群,一下是包含的服务器的IP和端口;

server 172.25.80.2:8080;

server 172.25.80.3:8080;

}    

server {

       listen       80;  #定义一个监听的端口

       server_name  server1.a.com;   #定义虚拟主机的名称

       location / {

           root   html/www;   #虚拟主机的默认根目录

   index index.jspindex.html index.htm;  #识别的首页文件类型

        }

location ~* \.(jsp|do)$  {  #不区分带小写正则匹配,反请求.jspdp结尾的请求都会平均分配到后端服务器集群tomcat

   proxy_passhttp://tomcat;  #将匹配请求转发至tomcat集群

}

location ~*\.(jpg|png|gif|jgeg|pdf)$ {  #不区分大小写匹配括号内定义的文件类型

   proxy_passhttp://172.25.80.1:8080;  #转发至该服务器

}

include  html/*.conf; #读取该目录里面的.conf文件

}

3,验证:

1)   访问server1.a.com:

2)   2)访问node5.a.com/index.jsp

 

注:由于在nginx配置文件中明确定义凡精确匹配.jsp结尾的请求会被转发至tomcat集群,因此该请求不会在nginx本机完成,而是会向服务器集群转发。另外由于在集群中定义了两台服务器,所以会轮流分配用户请求,即实现负载均衡的功能: