1. 程式人生 > >nginx正向代理反向代理負載均衡

nginx正向代理反向代理負載均衡

索引 三方 send nec nginx 服務端 nbsp 公網 服務器配置


1.1 Nginx簡介
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、新浪、網易、騰訊等。

負載均衡是nginx最流行最出名的功能,做為一款分發軟件,nginx接收來自客戶端的大量訪問進行平均分發到後端的多個服務器進行處理。單個nginx服務可支持過萬的並發量,很好得解決了大量web類訪問。同時,通過nginx服務器可做到內網與外網的物理隔離。

標準組網如下:技術分享

1.2.1 安裝
[[email protected] nginx-1.7.0]# ./configure [[email protected] nginx-1.7.0]# make
[[email protected] nginx-1.7.0]# make install
1.2.2 配置
默認安裝的配置文件為:
/usr/local/nginx/conf下的nginx.conf文件 編輯配置文件:
[[email protected] ~]# cd /usr/local/nginx/conf/ [[email protected] 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服務器訪問公網。

nginx正向代理反向代理負載均衡