1、环境:
前端Nginx服务器:主机名:node5.a.com
IP:192.168.10.205 编译安装nginx 1.6.3
后端tomcat:
Server1--ip:192.168.10.209 主机名:node9.a.com
Server2--ip:192.168.10.210 主机名: node10.a.com
2、Ngginx配置:
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_size 1024;
gzip on;
gzip_proxied any;
gzip_min_length 1000;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_static on;
upstream tomcat { #定义一个tomcat服务器集群,一下是包含的服务器的IP和端口;
server 192.168.10.209:8080;
server 192.168.10.210:8080;
}
server {
listen 80; #定义一个监听的端口
server_name node5.a.com; #定义虚拟主机的名称
location / {
root html/www; #虚拟主机的默认根目录
index index.jsp index.html index.htm; #识别的首页文件类型
}
location ~* \.(jsp|do)$ { #不区分带小写正则匹配,反请求.jsp和dp结尾的请求都会平均分配到后端服务器集群tomcat。
proxy_pass http://tomcat; #将匹配请求转发至tomcat集群
}
location ~* \.(jpg|png|gif|jgeg|pdf)$ { #不区分大小写匹配括号内定义的文件类型
proxy_pass http://192.168.10.209:8080; #转发至该服务器
}
}
include html/*.conf; #读取该目录里面的.conf文件
}
3,验证:
1)访问node5.a.com:
2)访问node5.a.com/index.jsp
刷新一下:
注:由于在nginx配置文件中明确定义凡精确匹配.jsp结尾的请求会被转发至tomcat集群,因此该请求不会在nginx本机完成,而是会向服务器集群转发。另外由于在集群中定义了两台服务器,所以会轮流分配用户请求,即实现负载均衡的功能:
3)访问node5.a.com/1.jpg
注:在Nginx.cong中定义~* \.(jpg|png|gif|jgeg|pdf)$ 即凡是以jpg|png|gif|jgeg|pdf结尾的请求都转发至192.168.10.209服务器处理,因此需要把1.jpg文件放在192.168.10.209下的/opt/ROOT/1.jpg。
本文出自 “Linux” 博客,请务必保留此出处http://zhangshijie.blog.51cto.com/806066/1649758
原文地址:http://zhangshijie.blog.51cto.com/806066/1649758