日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Nginx初探

發(fā)布時(shí)間:2025/5/22 151 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx初探 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

2016-08-23?王維?王女士的IT之旅

引言

在項(xiàng)目質(zhì)量保障過程中,尤其是在測(cè)試環(huán)境的搭建和維護(hù)時(shí),經(jīng)常要與nginx打交道,比如短鏈接、api的ACL控制等配置都與nginx相關(guān)。筆者從研究項(xiàng)目的nginx配置出發(fā),然后在本地搭建了nginx服務(wù),開展了進(jìn)一步探索,將學(xué)習(xí)的過程記錄于此,一是對(duì)自己知識(shí)的梳理,二是希望對(duì)有緣人有點(diǎn)幫助。

正文

nginx是一個(gè)web網(wǎng)站常用的高性能http和反向代理服務(wù)器,其具有較好的并發(fā)能力,被網(wǎng)易、百度、騰訊、新浪等網(wǎng)站廣泛使用。

1.首先弄清楚正向代理和反向代理

正向代理:代理客戶端,替客戶端收發(fā)請(qǐng)求,使真實(shí)的客戶端對(duì)服務(wù)器不可見。如圖所示,proxy和client同屬于一個(gè)網(wǎng)絡(luò),對(duì)server透明

?


反向代理:代理服務(wù)器,提服務(wù)器收發(fā)請(qǐng)求,使真實(shí)的服務(wù)器對(duì)客戶端不可見。如圖所示,proxy和server同屬于一個(gè)網(wǎng)絡(luò),對(duì)client透明

?



實(shí)際上proxy都是代為收發(fā)請(qǐng)求和響應(yīng),只是在結(jié)構(gòu)上左右換了下,所以一個(gè)叫正向代理,另一個(gè)叫反向代理。

2.nginx的反向代理原理

如下圖所示:nginx作為反向代理服務(wù)器接收來(lái)自客戶端的http請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)的web服務(wù)器,同時(shí)接收來(lái)自web服務(wù)器的response結(jié)果,并返回給客戶端。此時(shí)nginx代理服務(wù)器對(duì)外展現(xiàn)為一個(gè)服務(wù)器。

?

3.nginx的反向代理的作用

(1)負(fù)載均衡。nginx可以將來(lái)自客戶端的請(qǐng)求均衡的分發(fā)到web服務(wù)器集群中的不同機(jī)器上進(jìn)行處理,平衡集群中各個(gè)服務(wù)器的壓力。這對(duì)于大訪問量的web網(wǎng)站來(lái)說(shuō),是需要的。
(2)安全保障。客戶端直接訪問的不是提供內(nèi)容的web服務(wù)器,為保護(hù)網(wǎng)站服務(wù)器提供了一層屏障,有利于保護(hù)網(wǎng)站的安全。
(3)加速web請(qǐng)求。nginx可以配置緩存,存儲(chǔ)真實(shí)web服務(wù)器的某些資源和響應(yīng),減輕真實(shí)服務(wù)器的壓力,同時(shí)加速web請(qǐng)求

4.本地搭建nginx服務(wù)

工作機(jī)器是windows環(huán)境:
Step1: nginx官網(wǎng)下載nginx壓縮包。
Step2: 進(jìn)行解壓到nginx目錄
Step3:啟動(dòng)nginx,命令:
cd nginx start nginx.exe 啟動(dòng)成功標(biāo)志:在瀏覽器輸入127.0.0.1 會(huì)出現(xiàn)nginx的歡迎頁(yè)面
Step4:配置nginx的conf文件
nginx.conf里面有很多配置參數(shù),主要有:工作模式、最大連接數(shù)配置(events)和http服務(wù)器設(shè)置
(1)將baidu的html頁(yè)面保存至nginx/html的新建文件夾nginxFiles下,然后進(jìn)行如下的配置:
server{ ? ?

listen 80; ? ? ?

server_name localhost; ? ?

location / { ? ? ? ? ? ? ? ? root html/nginxFiles; ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? index baidu.html; ? ? ?

? ? ? ? ? ? }

}
以上配置代表:將域名localhost,端口80的“/”下請(qǐng)求,定位到本地root的位置,默認(rèn)的首頁(yè)是baidu.html。配置后重啟nginx,在瀏覽器中再次輸入127.0.0.1就會(huì)自動(dòng)出現(xiàn)baidu的頁(yè)面。
(2)配置負(fù)載均衡 首先在http中配置負(fù)載均衡機(jī)器列表,如下所示:每個(gè)server代表一臺(tái)機(jī)器,后面加上ip地址:端口,weight代表權(quán)重,權(quán)重越大,則nginx把客戶端請(qǐng)求轉(zhuǎn)發(fā)給他的可能性就越大。
upstream vivi{ ? ?

server 127.0.0.1:8050 ?weight=1; ? ? ? ?

server 127.0.0.1:8060 ?weight=2;

}
然后配置server中的location,如下:表示攔截域名后帶/所有請(qǐng)求,轉(zhuǎn)發(fā)至vivi中的機(jī)器進(jìn)行處理,實(shí)現(xiàn)負(fù)載均衡。proxy_pass表示請(qǐng)求轉(zhuǎn)向自定義服務(wù)器列表。項(xiàng)目中的短鏈接服務(wù),就是用proxy_pass請(qǐng)求轉(zhuǎn)向短鏈接服務(wù)器即可。
location / {

? ? proxy_pass http://vivi;

}
Step5:修改配置后,重啟nginx服務(wù)生效。常用的nginx命令
start nginx.exe ?#啟動(dòng)

nginx nginx -s stop ?#關(guān)閉

nginx nginx -s reload #重啟nginx

5.nginx支持多域名配置

可以在一個(gè)文件中配置多個(gè)server,如下:
server{ ? ? ?listen 80; ? ?

?server_name www.vivi.com; #綁定域名 ?

?index index.htm index.html index.php #默認(rèn)文件 ? ?

?root /home/www/vivi.com #網(wǎng)站根目錄 ? ? ? ? ? ?

?include location.conf #調(diào)用其他規(guī)則,也可去除 }

?

server{ ? ?

listen 81; ? ?

server_name www.test.com; #綁定域名 ?

index index.htm index.html index.php #默認(rèn)文件 ?

root ? ? ? ?/home/www/msn.web126.com #網(wǎng)站根目錄 ? ?

include location.conf #調(diào)用其他規(guī)則,也可去除

}


也可以在一個(gè)server中的server_name后面配置多個(gè)域名,如:
server{ ? ? ?

? listen 80; ?

? server_name www.vivi.vom www.test.com

}

6.nginx的域名匹配順序

(1)準(zhǔn)確的server_name匹配,如下配置:只精準(zhǔn)vivi.info 和 www.vivi.info兩個(gè)域名:

server{ ?listen 80;

? ? ? ? ?server_name vivi.info www.vivi.info; ?

? ? ? ? ?... }

(2)以通配符開始的字符串,如下配置:能匹配以vivi.info結(jié)尾的所有域名

server{ listen 80;

? ? ? ? ?server_name *.vivi.info;

? ? ? ?... }

(3)以通配符結(jié)束的字符串,如下配置:能匹配以www開頭的所有域名

server{ listen 80;

? ? ? ? server_name www.*; ...

? ? ?}

(4)匹配正則表達(dá)式,如下配置:能匹配以vivi.org結(jié)尾的所有域名

server{ listen 80;

? ? ? ? server_name vivi\.org$; ...

?

? ? ? ? }

結(jié)語(yǔ)

本文只根據(jù)項(xiàng)目的需要,研究了項(xiàng)目中常用的配置,為了提高nginx性能,還有很多高級(jí)的配置參數(shù),可以根據(jù)需要進(jìn)行深入學(xué)習(xí)
推薦學(xué)習(xí)資料:nginx官網(wǎng)文檔

轉(zhuǎn)載于:https://www.cnblogs.com/zengkefu/p/5814793.html

總結(jié)

以上是生活随笔為你收集整理的Nginx初探的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。