nginx正向代理反向代理负载均衡
1.1 Nginx简介
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等。
负载均衡是nginx最流行最出名的功能,做为一款分发软件,nginx接收来自客户端的大量访问进行平均分发到后端的多个服务器进行处理。单个nginx服务可支持过万的并发量,很好得解决了大量web类访问。同时,通过nginx服务器可做到内网与外网的物理隔离。
标准组网如下:
1.2.1 安装
[root@PXE nginx-1.7.0]# ./configure [root@PXE nginx-1.7.0]# make
[root@PXE nginx-1.7.0]# make install
1.2.2 配置
默认安装的配置文件为:
/usr/local/nginx/conf下的nginx.conf文件 编辑配置文件:
[root@PXE ~]# cd /usr/local/nginx/conf/ [root@PXE conf]# vim nginx.conf
nginx.conf
worker_processes 1; #规定worker进程数量,与CPU核数相同
events {
worker_connections 1024; #规定worker进程最大连接数 }
http {
include mime.types;
default_type application/octet-stream; sendfile on;
upstream www.hysec.com { #负载均衡包括的服务器 server 192.168.170.101:28080; server 192.168.170.102:28080; }
server {
listen 80; #监听本机的80端口 server_name localhost; #规定访问类型 location /{
proxy_pass http://www.hysec.com; #监听到访问80端口的访问就转给负载均衡 } } }
1.3 反向代理
实际上负载均衡功能即是反向代理的应用,只不过负载均衡是代理多台服务器,更注重其均衡转发功能。此处要特别说的是,通常情况下单一的反向代理功能主要应用于内网服务器通过nginx反向代理服务器(支持公网)去访问某一特定的站点。例如内网服务器通过nginx外网转发去访问支付宝服务端以达到内网业务的第三方支付功能。
1.4 正向代理
正向代理主要应用于内网环境中只有某台特定服务器支持连接互联网,而其它同一局域网的服务器IP都不支持直接连接互联网,此时可以在支持连接公网的服务器配置nginx的正向代理,局域网内其它机器可通过此台服务器连接公网。
如图,服务器①的IP没有访问公网的权限,nginx服务器同时连接了内网和公网,则服务器①可通过nginx服务器访问公网。