Nginx簡介---01

2020-10-01 21:01:19

反向代理機制

反向代理伺服器位於使用者與目標伺服器之間,但是對於使用者而言,反向代理伺服器就相當於目標伺服器,即使用者直接存取反向代理伺服器就可以獲得目標伺服器的資源。同時,使用者不需要知道目標伺服器的地址,也無須在使用者端作任何設定。反向代理伺服器通常可用來作為Web加速,即使用反向代理作為Web伺服器的前置機來降低網路和伺服器的負載,提高存取效率。

概括:
1.位於使用者(使用者端)-伺服器之間.
2.使用者存取反向代理伺服器,以為是真實的伺服器資訊.
3.使用者根本不清楚真實的伺服器資訊到底是誰.
4.一般反向代理機制保護了真實的伺服器資訊,所以也稱之為伺服器端代理.
在這裡插入圖片描述

正向代理機制

1 需求引入

1.寬頻: 電信運營商 賬號/密碼 只能被一臺機器使用.
2.路由器: 在家庭的內部建立了區域網 使得區域網中的裝置可以通過路由器的功能與外界通訊.

2 正向代理介紹

正向代理,意思是一個位於使用者端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,使用者端向代理傳送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給使用者端。使用者端才能使用正向代理。
總結:
1.正向代理位於客戶與伺服器之間
2.使用者端在發起請求之前 確定了目標伺服器的地址.
3.伺服器不清楚到底是哪臺使用者端存取的我,以為只是路由器存取的.
4.正向代理保護了客戶的資訊,所以也稱之為 使用者端代理
在這裡插入圖片描述

Nginx介紹

Nginx (engine x) 是一個高效能的HTTP和反向代理web伺服器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫為俄羅斯存取量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0釋出於2004年10月4日。
其將原始碼以類BSD許可證的形式釋出,因它的穩定性、豐富的功能集、範例組態檔和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4釋出。
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,在BSD-like 協定下發行。其特點是佔有記憶體少,並行能力強,事實上nginx的並行能力在同型別的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、京東、新浪、網易、騰訊、淘寶等。

特點

1.記憶體少 不超過2M tomcat伺服器大約佔用600M
2.並行能力強 3-5萬次/秒 tomcat伺服器大約 150-220之間

Nginx安裝使用

在這裡插入圖片描述
注意事項:

  1. 不要將nginx放到C槽及系統目錄中 注意中文路徑和空格.
  2. nginx伺服器啟動的速度特別快, 視窗會閃退 只啟動一次即可
  3. nginx啟動會佔用80埠.
  4. nginx命令的執行必須在nginx.exe所在的目錄中執行.

Nginx命令

Windows cmd
1).啟動命令 start nginx
2).重新啟動命令 nginx -s reload
3).停止命令 nginx -s stop

linux
啟動nginx
cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx
[root@localhost sbin]# ./nginx -s reload

Nginx伺服器啟動項說明

說明:nginx啟動時會佔用80埠.所以需要釋放80資源.

步驟1: 查詢 80埠被哪個程序佔用

netstat -ano
netstat -ano | findstr 80

在這裡插入圖片描述
步驟2: 關閉程序
在這裡插入圖片描述

Windows中殺死佔用某個埠的程序

第一步,開啟cmd命令視窗,輸入命令,根據埠號查詢對應的程序號

netstat -ano | findstr 80 //列出程序極其佔用的埠,且包含 80

在這裡插入圖片描述

發現 8080 埠被 PID(程序號)為 9268 的程序佔用。

第二步, 據程序號尋找程序名稱

tasklist | findstr 9268

在這裡插入圖片描述
根據程序號從工作管理員中查詢該程式,手動殺死即可。

但是我發現,在工作管理員中找不到該程式。只好從命令列殺死該程式了,命令如下:

第三步, 據程序號殺程序名稱

taskkill -PID <程序號> -F //強制關閉某個程序

在這裡插入圖片描述

關於nginx反向代理說明


http {
	# 一個反向代理就是一個server
    server {
    	#監聽 80埠
        listen       80;
        #監聽的域名  域名不能重複.
        server_name  localhost;
		#執行的反向代理的動作   / 攔截所有的路徑
        location / {
        	# root關鍵字  代理的是一個目錄
            root   html;
            #預設跳轉頁面
            index  index.html index.htm;
        }	
	}

}

在這裡插入圖片描述

nginx負載均衡實現

在這裡插入圖片描述

1 輪詢機制

說明: 按照組態檔的順序 依次存取伺服器.

#設定京淘後臺管理伺服器
	# manage.jt.com  localhost:8091伺服器
	server {
		listen 80;
		server_name manage.jt.com;

		location / {

			#對映伺服器
			#proxy_pass  http://localhost:8091;
			proxy_pass   http://jtWindows;    
		}
	}

	# 設定tomcat伺服器叢集  1.輪詢策略
	upstream jtWindows {

		#server代表伺服器地址
		server 127.0.0.1:8081;
		server 127.0.0.1:8082;	
	}

2 權重機制


    # 商品管理伺服器  監聽的是使用者 manager.jt.com:80  對映的是url地址
	server {
		listen   80;
		server_name  manager.jt.com;

		#進行反向代理
		location / {
			#對映的url請求網址.	
		    proxy_pass http://jtWindows;
		}  
	}

    #設定負載均衡 設定叢集 1.輪詢策略 2.權重策略 3.iphash策略
    upstream jtWindows{
  
    server localhost:8081  weight=6;  
    server localhost:8082  weight=3;
    server localhost:8083  weight=1;
    
    }

3 IPHASH策略(瞭解)

由於某些資料與伺服器進行了繫結,則後來必須要求使用者存取指定的伺服器時,使用IPHASH策略

# 設定tomcat伺服器叢集  1.輪詢策略  2.權重策略  3.iphash策略
	upstream jtWindows {

		#server代表伺服器地址
		ip_hash;
		server 127.0.0.1:8081 weight=8;
		server 127.0.0.1:8082 weight=2;	
	}

修改hosts檔案

1.HOSTS檔案的說明:

在這裡插入圖片描述

2.HOSTS檔案的位置

在這裡插入圖片描述

3).以超級管理員身份執行

在這裡插入圖片描述
在這裡插入圖片描述