1.DNS域名解析:
host文件:在Windows中可以通過C:\Windows\System32\drivers\etc\hosts文件來設置。
2.外網映射工具:
可以讓外網訪問本地應用程序:常用的外網測試工具有natapp、ngrok
3.nginx應用場景:
1、http服務器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態服務器。
2、虛擬主機。可以實現在一臺服務器虛擬出多個網站,例如個人網站使用的虛擬機。
3、反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集羣可以使用nginx做反向代理。並且多臺服務器可以平均分擔負載,不會應爲某臺服務器負載高宕機而某臺服務器閒置的情況。
4、nginz 中也可以配置安全管理、比如可以使用Nginx搭建API接口網關,對每個接口服務進行攔截。
4.nginx虛擬主機配置:
基於域名配置虛擬主機:修改nginx conf下的nginx.conf配置文件,其中的server設置如下,當客戶端訪問www.oltest.com時,直接跳轉到nginx下data/test去找index.html index.htm文件。
server
{
listen 80;
server_name www.oltest.com;
location / {
root data/test;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.oltest2.com;
location / {
root data/test2;
index index.html index.htm;
}
}
5.nginx反向代理:
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個反向代理服務器。
反向代理的好處
反向代理的好處隱藏真實內部ip地址,請求先訪問nginx代理服務器(外網可以訪問到),在使用nginx服務器轉發到真實服務器中。
反向代理配置文件nginx.conf server配置:
server {
listen 80;
server_name www.oltest.com;
#匹配所有以/開頭請求
location / {
proxy_pass http://127.0.0.1:8080; 配置轉發路徑
index index.html index.htm;
}
}
location的作用
location指令的作用是根據用戶請求的URI來執行不同的應用,也就是根據用戶請求的網站URL進行匹配,匹配成功即進行相關的操作。
location的語法
已=開頭表示精確匹配; ^~ 開頭表示uri以某個常規字符串開頭,不是正則匹配
~ 開頭表示區分大小寫的正則匹配; ~* 開頭表示不區分大小寫的正則匹配
/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到
6.nginx負載均衡:
什麼是負載均衡:
爲了解決高併發,負載均衡器攔截到所有請求,再採用負載均衡算法(輪詢,權重,ip綁定)分配到不同真實的服務上。
負載均衡的作用:
減輕單臺服務器壓力
服務器集羣(分佈式中常見問題)
1.分佈式Session一致性問題 2.分佈式Job冪等性(唯一性)問題 3.分佈式生成全局 id
4.分佈式鎖解決方案 5.分佈式配置中心 6.分佈式日誌收集系統
四層負載和七層負載均衡的區別:
四層負載均衡,在網絡模型中的傳輸層中,基於主要是基於tcp協議報文實現負載均衡(比如LVS、haproxy就是四層負載均衡器),使用改寫報文的源地址和目的地址。
七層負載均衡,在網絡模型中應用層中,基於URL或者HTTP協議實現負載均衡,Web服務器。
nginx配置負載均衡:
upstream backServer{
server 127.0.0.1:8080; //真實服務器地址 默認輪詢算法實現負載均衡
server 127.0.0.1:8081;
}
輪詢:每個請求按時間順序逐一分配到不同的後端服務,如果後端某臺服務器死機,自動剔除故障系統,使用戶訪問不受影響。
----------------------------------------------------------------------------------------------------------------------------
權重方式:
upstream backServer{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=3;
}
------------------------------------------------------------------------------------------------------------------------------
Ip綁定方式:可以解決session 一致性問題,但是不常用。
upstream backServer{
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
ip_hash;
}
每個請求按訪問IP的哈希結果分配,使來自同一個IP的訪客固定訪問一臺後端服務器,並且可以有效解決動態網頁存在的session共享問題。俗稱IP綁定。
---------------------------------------------------------------------------------------------------------------------------
server {
listen 80;
server_name www.test.com; //瀏覽器輸入域名
location / {
### 指定上游服務器負載均衡服務器
proxy_pass http://backServer;
index index.html index.htm;
}
}
7.nginx配置故障轉移:
當上遊服務器(真實訪問服務器),一旦出現故障或者是沒有及時響應的話,應該直接輪訓到下一臺服務器,保證服務器的高可用。
server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服務器負載均衡服務器
proxy_pass http://backServer;
###nginx與上游服務器(真實訪問的服務器)超時時間 後端服務器連接的超時時間_發起握手等候響應超時時間
proxy_connect_timeout 3s;
###nginx發送給上游服務器(真實訪問的服務器)超時時間
proxy_send_timeout 3s;
### nginx接受上游服務器(真實訪問的服務器)超時時間
proxy_read_timeout 3s;
index index.html index.htm;
}
}