一权埠、基本用法
1.下載nginx
http://nginx.org/en/download.html ,下載穩(wěn)定版本即可帖蔓。下載后解壓檬贰,解壓后如下
2.啟動(dòng)nginx
有很多種方法啟動(dòng)nginx
:
- (1)直接雙擊
nginx.exe
,雙擊后一個(gè)黑色的彈窗一閃而過(guò) - (2)打開(kāi)
cmd
命令窗口遵湖,切換到nginx
解壓目錄下悔政,輸入命令nginx.exe
或者start nginx
,回車即可
3.檢查nginx
是否啟動(dòng)成功
直接在瀏覽器地址欄輸入網(wǎng)址 http://localhost:80
延旧,回車谋国,出現(xiàn)以下頁(yè)面說(shuō)明啟動(dòng)成功
也可以在cmd
命令窗口輸入命令 tasklist /fi "imagename eq nginx.exe"
,出現(xiàn)如下結(jié)果說(shuō)明啟動(dòng)成功
-
nginx
的配置文件是conf
目錄下的nginx.conf
迁沫,默認(rèn)配置的nginx
監(jiān)聽(tīng)的端口為80
芦瘾,如果80
端口被占用可以修改為未被占用的端口即可
- 檢查
80
端口是否被占用的命令是:netstat -ano | findstr 0.0.0.0:80
或netstat -ano | findstr "80"
- 當(dāng)我們修改了
nginx
的配置文件nginx.conf
時(shí),不需要關(guān)閉nginx
后重新啟動(dòng)集畅,只需要執(zhí)行命令nginx -s reload
即可讓改動(dòng)生效
4.關(guān)閉nginx
如果使用cmd
命令窗口啟動(dòng)nginx
近弟,關(guān)閉cmd
窗口是不能結(jié)束nginx
進(jìn)程的,可使用兩種方法關(guān)閉nginx
- (1)輸入命令
nginx -s stop
(快速停止) 或nginx -s quit
(完整有序的停止) - (2)使用
taskkill
:taskkill /f /t /im nginx.exe
二挺智、負(fù)載均衡之 upstream
配置在http 下
方式1: 輪詢
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
** 方式2: 權(quán)重輪詢**
upstream xxx_server_name{
server 192.168.10.1:80 weight=1;
server 192.168.10.2:80 weight=2;
server 192.168.10.3:80 weight=3;
}
方式3: ip_hash
每一個(gè)請(qǐng)求按訪問(wèn)ip
的hash
結(jié)果分配
upstream xxx_server_name{
ip_hash;
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
方式4: 按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求祷愉。響應(yīng)時(shí)間短的優(yōu)先分配
fair
(第三方), 顧名思義,公平地按照后端服務(wù)器的響應(yīng)時(shí)間(rt
)來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短即rt
小的后端服務(wù)器優(yōu)先分配請(qǐng)求。如果需要使用這種調(diào)度算法,必須下載Nginx
的upstr_fair
模塊逃贝。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
fair;
}
方式5:url_hash
目前用consistent_hash
替代url_hash
谣辞,與ip_hash
類似,但是按照訪問(wèn)url
的hash
結(jié)果來(lái)分配請(qǐng)求,使得每個(gè)url
定向到同一個(gè)后端服務(wù)器,主要應(yīng)用于后端服務(wù)器為緩存時(shí)的場(chǎng)景下。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
hash $request_uri;
hash_method crc32;
}
使用方式
將server
節(jié)點(diǎn)下的location
節(jié)點(diǎn)中的proxy_pass
配置為:http:// <upstream>
沐扳,即http://xxx_server_name
泥从。示例:
location / {
root html;
index index.html index.htm;
proxy_pass http://xxx_server_name;
}
看下面的截圖:
upstream參數(shù)
upstream xxx_server_name {
server 127.0.0.1:8050 weight=1 max_fails=1 fail_timeout=20;
server 127.0.0.1:8060 weight=1;
}
下面這一節(jié):Nginx 負(fù)載均衡演示之 upstream 參數(shù) & location 參數(shù)
① server
、location
沪摄、upstream
之間的關(guān)系:
② nginx
動(dòng)靜分離演示
1.為了區(qū)分,我們?cè)趙eb1 中 放一張圖片 images/tomcat.png
cd webapps
//創(chuàng)建一個(gè)images文件夾
mkdir images
//復(fù)制圖片到images文件中
cp tomcat.png images/tomcat.png
2.進(jìn)入nginx
配置躯嫉,當(dāng)然也可以用正則表示式的方式,這里是簡(jiǎn)單演示
其他
...
另外這里做個(gè)記錄:正向代理與反向代理的區(qū)別
正向代理類似一個(gè)跳板機(jī)杨拐,代理訪問(wèn)外部資源祈餐。比如我們國(guó)內(nèi)訪問(wèn)谷歌,直接訪問(wèn)訪問(wèn)不到哄陶,我們可以通過(guò)一個(gè)正向代理服務(wù)器帆阳,請(qǐng)求發(fā)到代理服,代理服務(wù)器能夠訪問(wèn)谷歌屋吨,這樣由代理去谷歌取到返回?cái)?shù)據(jù)蜒谤,再返回給我們山宾,這樣我們就能訪問(wèn)谷歌了
正向代理的用途:
- 訪問(wèn)原來(lái)無(wú)法訪問(wèn)的資源,如google
- 可以做緩存鳍徽,加速訪問(wèn)資源
- 對(duì)客戶端訪問(wèn)授權(quán)资锰,上網(wǎng)進(jìn)行認(rèn)證
- 代理可以記錄用戶訪問(wèn)記錄(上網(wǎng)行為管理),對(duì)外隱藏用戶信息
[圖片上傳中...(image.png-ebed7c-1593409333574-0)]
反向代理(Reverse Proxy)實(shí)際運(yùn)行方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求阶祭,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器绷杜,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器
反向代理的作用
- 保證內(nèi)網(wǎng)的安全濒募,阻止web攻擊鞭盟,大型網(wǎng)站,通常將反向代理作為公網(wǎng)訪問(wèn)地址萨咳,Web服務(wù)器是內(nèi)網(wǎng)
- 負(fù)載均衡懊缺,通過(guò)反向代理服務(wù)器來(lái)優(yōu)化網(wǎng)站的負(fù)載