1 代理
1.1 正向代理
1.2 反向代理
反向代理服务器决定哪台服务器提供服务。
返回代理服务器不提供服务器。也是请求的转发。
2 Nginx实现反向代理
2.1 原理
两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。
两个域名是www.sina.com.cn和www.sohu.com
nginx服务器使用虚拟机192.168.100.101
2.2 Linux和windows
第一步:安装两个tomcat,分别运行在8078和8079端口
8004 8079 8008 sina
8003 8078 8007 sohu
第二步:启动两个tomcat。
第三步:反向代理服务器的配置nginx.conf
upstream tomcat1 {
server192.168.100.101:8078;
}
server {
listen 80;
server_name www.sina.com.cn;
location / {
proxy_pass http://tomcat1;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
proxy_pass http://tomcat1;
}
}
upstreamtomcat2 {
server192.168.100.101:8079;
}
server {
listen 80;
server_name www.sohu.com;
location / {
proxy_pass http://tomcat2;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
proxy_pass http://tomcat2;
}
}
第四步:nginx重新加载配置文件
第五步:配置域名
在hosts文件中添加域名和ip的映射关系
192.168.25.148 www.sina.com.cn
192.168.25.148 www.sohu.com
3 负载均衡
再新启一个tomcat
如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。
upstream tomcat2 {
server192.168.25.148:8081;
server192.168.25.148:8082;
}
可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082 weight=2;
}
注意weight=2; 两边不能有空格