一、原理概述
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後再試,就成功了!
閱讀更多 程序員界的彭于晏 的文章