Nginx 的正向代理、反向代理、負載均衡

一、原理概述

1 正向代理

正向代理通俗的講就是通過Nginx服務器,讓客戶端去訪問原本訪問不到的服務器。例如我們常見的翻牆去訪問國外的網站。此時Nginx服務器就是作為一箇中介。這種代理方式中,服務器清楚的知道需要訪問的目標網站,但是屏蔽了請求的來源,我們只知道請求從哪個代理服務器過來,但是不知道具體是從哪個客戶端來。

2 反向代理

反向代理代理的是服務器端,當服務是由一組服務器共同提供時,代理服務器把客戶端發出的分發到不同的服務器上去,並把這個服務器返回的內容送給客戶端。對於客戶端來講,它只知道內容從代理服務器中來,但不知道內容具體是從哪裡獲取來的。

3 負載均衡

說完了反向代理,再說負載均衡就會簡單很多。負載均衡的意思就是在反向代理的基礎上加上“均衡”的概念。就是說,當客戶端請求量很大時,代理服務器會把請求分發到壓力最小的那臺服務器中,這樣服務器集群中的每臺服務器壓力就會趨於平衡。讓多臺服務器共同提供服務器,避免併發量高的時候,服務器崩潰。

二、實踐

1.安裝Nginx

安裝細節這邊不做過多講解,網上一搜多的是。在安裝過程中,可能會由於沒有pcre zlib庫導致安裝失敗,這個在安裝的過程中系統會提示,根據提示下載安裝相應的庫即可。

2.啟動Nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

這個是以默認的配置啟動Nginx ,也可以修改配置後重啟。

三、遇到的問題

1.端口被佔用

我在啟動的時候報錯了,說80端口已被佔用,我看了一下就是我Nginx佔用的,可能是以前搞的。不管他,查出Nginx的進程號ps -ef| grep nginx,然後停止他kill -QUIT 進程號,然後再次啟動 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf,成功!如果不是Nginx佔用的,那就查一下80端口是哪個佔用的,然後停掉他再啟動

2.啟動成功後無法訪問

這個我查了不少時間,最後發現是因為我用的阿里雲服務器,安全組裡面我開放的端口是8080/8989,沒包括80,改成80/8989後再試,就成功了!

Nginx 的正向代理、反向代理、負載均衡


分享到:


相關文章: