Nginx——代理
1、反向代理
代理服务器根据其代理对象的不同,可以分为正向代理服务器与反向代理服务器。这里 的“正”与“反”均是站在客户端角度来说的。
1.1、 正向代理服务器
正向代理是对客户端的代理。客户端 C 想要从服务端 S 获取资源,但由于某些原因 不能,直接访问服务端,而是通过另外一台主机 P 向服务端发送请求。当服务端处理完毕 请求后,将响应发送给主机 P,主机 P 在接收到来自服务端的响应后,将响应又转给了客 户端 C。此时的主机 P,就称为客户端 C 的正向代理服务器。
客户端在使用正向代理服务器时是知道其要访问的目标服务器的地址等信息的。正向代 理服务器是为服务用户(客户端)而架设的主机,与服务端无关,对服务器端透明。
1.2、反向代理服务器
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请 求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
1.3、 反向代理之负载均衡
**负载均衡(Load Balancing):**就是将对请求的处理分摊到多个操作单元上进行。这 个均衡是指在大批量访问前提下的一种基本均衡,并非是绝对的平均。对于 Web 工程中的 负载均衡,就是将相同的 Web 应用部署到多个不同的 Web 服务器上,形成多个 Web 应用服务器。当请求到来时,由负载均衡服务器负责将请求按照事先设定好的比例向 Web 应 用服务器进行分发,从而增加系统的整体吞吐量。
负载均衡可以通过负载均衡软件实现,也可通过硬件负载均衡器实现。
(1 ) 硬件负载均衡
硬件负载均衡器的性能稳定,且有生产厂商作为专业的服务团队。但其成本很高,一台硬件 负载均衡器的价格一般都在十几万到几十万,甚至上百万。知名的负载均衡器有 F5、Array、 深信服、梭子鱼等。
(2 ) 软件负载均衡
软件负载均衡成本几乎为零,基本都是开源软件。例如:LVS、HAProxy、Nginx 等。
该机群包含一台 Nginx 服务器,两台 Web 服务器(node2 和 node3)。
修改 nginx.conf 文件
upstream rss{
server 192.168.20.102;
server 192.168.20.103;
}server {
listen 80;
server_name www.sxthenhao.com; access_log logs/myfmt.log myfmt; location / {
root /mnt;
autoindex on;
}location /toms {
proxy_pass http://rss/;
}
重启 nginx,请求测试:http://www.sxthenhao.com/toms,发现已经实现了负载均 衡。(中小企业一般使用该方式)
也可以通过在 Nginx 服务器上配置 hosts 本地域名解析:
[root@nginx1 conf]# vim /etc/hosts 192.168.20.101 node1
192.168.20.102 node2 xxx
192.168.20.103 node3 xxx
192.168.20.104 node4
修改 nginx.conf 配置文件,添加如下配置
location /cats {
proxy_pass http://xxx/;
}
重启 nginx,测试:http://www.sxthenhao.com/cats 一样能够实现负载均衡的目的(大型企业使用该方式,一般还会搭建一个 DNS 域名解析服务器,只需要修改 DNS 域名解析服务器就 ok 了)。
Nginx 会用到域名解析,如果一个域名解析出多个 ip 地址,会在这些 ip 地址之间做负载均衡
- 点赞
- 收藏
- 关注作者
评论(0)