1.反向代理
在上一次完成nginx服务器配置之后,就可以为服务器设置反向代理了,关于反向代理,借用一下高手制作图片基本就可以秒懂了。。。
这里“老鸨”就是反向代理服务器,负责向客户端分配服务器资源。
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的链接请求,然后将请求发给内部网络上请求链接的客户端,此时代理服务器对外表现为一个反向代理服务器。
一般情况向下,nginx在前端抗负载和处理静态页面请求,后端服务器挂载Apache,Tomcat,IIS等处理复杂业务的动态Web服务器。
具体配置如图(转):
2.nginx.conf配置文件
两台server的ip地址是192.168.82.101和192.168.82.103,先配置要代理的服务器信息
#设置反向代理
upstream domain1.me{
server 192.168.82.101:80;
}
upstream domain2.me{
server 192.168.82.103:80;
}
#name1 - 192.168.82.101
server{
#监听的端口
listen 80;
#通过指定域名访问当前的web服务器
server_name domain1.com
location / {
#设置代理
proxy_pass http://domain1.me;
}
}
#name2 - 192.168.82.103
server{
#监听的端口
listen 80;
#通过指定域名访问当前的web服务器
server_name domain2.com
location / {
#设置代理
proxy_pass http://domain2.me;
}
}
通过域名访问两台server效果如下
192.168.82.101
192.168.82.103
3.设置负载均衡
设置负载均衡需要更改nginx.conf文件设置如下
#gzip on;
#设置反向代理
upstream mly.me{
server 192.168.82.101:80 weight = 4;
server 192.168.82.103:80 weight = 1;
}
#配置要代理的服务器信息
server{
#监听的端口
listen 80;
server_name localhost;
location / {
proxy_pass http://mly.me;
}
}
设置负载均衡后client的请求就以4:1的比例分配到两个服务器上。
4.可能出现的问题
设置反向代理服务器后,可能出现CSS样式表加载不成功的问题,一种可能的解决方案是 关闭主机的Firewall,更多的解决方案还在研究中….