1. 正向代理
你的电脑要上网,其实是访问不到互联网的,用的都是内网IP,要上网,就得通过代理服务器,
相当于别人帮你上网,把你想知道的结果返给你。
![](https://img.haomeiwen.com/i1037735/11099f5be517db68.png)
2. 反向代理
比如访问淘宝,有很多服务器提供服务,可能是上千台服务器的集群,并发量很大。此时访问淘宝首页,其实访问的是域名(一个域名只能绑定一个IP,但一个IP可以被多个域名绑定),是用的哪个服务器呢,这个时候就要用到反向代理服务器,反向代理绑定www.taobao.com
。现在,请求反向代理服务器,进行请求转发,请求来了后,根据请求的域名,找到了3个服务器,就会把请求轮循分配。
![](https://img.haomeiwen.com/i1037735/bd25f9ec765ba813.png)
两者区别:正向代理就是通过代理服务器上网,反向代理就是有好多服务器提供服务,由反向代理服务器决定谁提供服务,主要应用在服务端。
3. 反向代理的模拟
应该有一个Nginx服务器,多个应用服务器(可以是Tomcat),然后把代码部署到Tomcat上面,由Nginx决定哪个Tomcat提供服务。
![](https://img.haomeiwen.com/i1037735/39010008ea5106a2.png)
一共2个Tomcat,在/usr/local/tomcats
下有2个,修改tomcat1或2的端口号防止用的时候冲突,然后访问通了没。
1. Nginx的配置文件
在最后一个}
的前面加上下面的内容,然后nginx重新加载配置文件
upstream tomcats{
server 192.168.25.148:8080;
server 192.168.25.148:8081;
}
server {
listen 80;
server_name tomcat.taotao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcats;
index index.html index.htm;
}
}
2. 访问tomcat.taotao.com,刷新界面
![](https://img.haomeiwen.com/i1037735/f553e691d1ea3c19.png)
![](https://img.haomeiwen.com/i1037735/cb48b8f05443f024.png)
两个结果不一样(我在Tomcat1和2的webapps下分别修改欢迎页server.xml,用以区分访问一个域名,多个服务器提供服务)。
4. 负载均衡
如果服务器中有新服务器(性能好),旧服务器同时存在,就需要用到负载均衡。就要能者多劳,性能好的多干活。
只需要在upstream
的server
后添加一个weight
即可,代表权重,权重越高,分配的请求数量就越多。
默认权重是1.
upstream tomcats{
server 192.168.25.148:8080 weight=2;
server 192.168.25.148:8081;
}
上篇:Nginx安装和配置
网友评论