成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

基于Nginx的中間件架構(gòu)(一):配置語(yǔ)法、Nginx模塊、請(qǐng)求限制和訪問(wèn)控制、靜態(tài)WEB服務(wù)

william / 1342人閱讀

摘要:被調(diào)用者通過(guò)狀態(tài)通知機(jī)制等來(lái)通知調(diào)用者,或通過(guò)回調(diào)函數(shù)來(lái)處理結(jié)果阻塞和非阻塞關(guān)注的是調(diào)用者等待被調(diào)用者返回調(diào)用結(jié)果時(shí)的狀態(tài)。每當(dāng)就緒,采用系統(tǒng)的回調(diào)函數(shù)之間將放入,效率更高,最大連接無(wú)限制。

一、I/O介紹和Nginx簡(jiǎn)介 1.1 I/O 類(lèi)型(理解)

同步和異步:關(guān)注的是消息通知機(jī)制;

同步:調(diào)用發(fā)出之后不會(huì)立即返回,但一旦返回,則返回最終結(jié)果;

異步:調(diào)用發(fā)出之后,被調(diào)用方立即返回消息但返回的并非最終結(jié)果。被調(diào)用者通過(guò)狀態(tài)、通知機(jī)制等來(lái)通知調(diào)用者,或通過(guò)回調(diào)函數(shù)來(lái)處理結(jié)果;

阻塞block和非阻塞nonblock:關(guān)注的是調(diào)用者等待被調(diào)用者返回調(diào)用結(jié)果時(shí)的狀態(tài)。

阻塞:調(diào)用結(jié)果返回之前,調(diào)用者會(huì)被掛起,調(diào)用者只有在得到返回結(jié)果之后才能繼續(xù)。 

非阻塞:調(diào)用者在結(jié)果返回之前,不會(huì)被掛起;

1.2 I/O模型
blocking IO:阻塞式IO 
nonblocking IO:非阻塞IO
multiplexing:多路復(fù)用IO 
signal driven IO:事件驅(qū)動(dòng)式IO 
asynchronous IO:異步IO 

真正執(zhí)行IO過(guò)程的階段是內(nèi)核內(nèi)存數(shù)據(jù)拷貝到進(jìn)程內(nèi)存中。

1.3 Nginx優(yōu)點(diǎn)
Nginx(發(fā)音同engine x)是一個(gè)異步框架的 Web服務(wù)器,也可以用作反向代理,負(fù)載平衡器請(qǐng)求分發(fā)
1.3.1 I/O多路復(fù)用(重點(diǎn)
多個(gè)描述符的IO操作都能夠在一個(gè)線程內(nèi)并發(fā)交替的順序完成,這就叫做IO多路復(fù)用,這里的復(fù)用指的是復(fù)用同一個(gè)線程。(就像多個(gè)學(xué)生同時(shí)完成作業(yè),同時(shí)共享一個(gè)老師,學(xué)生做完作業(yè)舉手請(qǐng)求老師。)

select線性遍歷,效率低,監(jiān)視文件描述符的數(shù)量存在最大限制為1024。
epoll:每當(dāng)FD就緒,采用系統(tǒng)的回調(diào)函數(shù)之間將FD放入,效率更高,最大連接無(wú)限制。(例:服務(wù)器告訴老板給顧客結(jié)賬,"select"只告訴老板有客人結(jié)賬,老板需要挨個(gè)詢(xún)問(wèn),而"epoll"同時(shí)告訴老板是哪些顧客要結(jié)賬。)
Nginx就是采用的epoll模型。

1.3.2 輕量級(jí)

1、功能模塊少
2、代碼模塊化(易讀易開(kāi)發(fā))

1.3.3 CPU的親和(affinity)

nginx的CPU的親和,有多個(gè)工作進(jìn)程運(yùn)行方式減少性能損耗,是一種把CPU核心和nginx工作進(jìn)程綁定方式,把每個(gè)worker進(jìn)程固定在一個(gè)cpu上執(zhí)行,減少切換cpucache miss,獲得更好的性能。

1.3.4 sendfile

不通過(guò)User space,減少靜態(tài)文件用戶(hù)空間切換,直接通過(guò)內(nèi)核零拷貝,明顯提高傳輸效率。

二、配置語(yǔ)法(非常常用 2.1 默認(rèn)配置語(yǔ)法

nginx.conf 作為主配置文件
include /etc/nginx/conf.d/*.conf 讀到這會(huì)把該目錄的.conf也讀進(jìn)來(lái)

1、全局性的和服務(wù)級(jí)別的

user 設(shè)置使用用戶(hù)
worker_processes 進(jìn)行增大并發(fā)連接數(shù)的處理 跟cpu保持一致 八核設(shè)置八個(gè)
error_log nginx的錯(cuò)誤日志
pid  nginx服務(wù)啟動(dòng)時(shí)候pid 

2、event對(duì)事件的模塊

worker_connections 一個(gè)進(jìn)程允許處理的最大連接數(shù)
use 定義使用的內(nèi)核模型

3、server

root 首頁(yè)的路徑
index 首頁(yè)默認(rèn)訪問(wèn)哪個(gè)頁(yè)面
error_page 500 502 503 504  /50x.html  錯(cuò)誤頁(yè)面 前面的500是**`http狀態(tài)碼`**

systemctl restart nginx.service 重啟nginx
systemctl reload nginx.service 不關(guān)閉服務(wù)柔和地重啟
2.2 HTTP

curl -v http://www.baidu.com >/dev/null #-v 同時(shí)顯示狀態(tài)碼等信息
nginx -V #顯示nginx版本及配置文件等信息
2.3 日志

日志類(lèi)型:error.logaccess.log

error.log(記錄處理http請(qǐng)求的錯(cuò)誤狀態(tài)以及nginx本身服務(wù)的錯(cuò)誤狀態(tài))
access.log(每次http請(qǐng)求的訪問(wèn)狀態(tài))

log_format:設(shè)置了日志的記錄格式,定義日志以什么樣的樣式記錄到error.log、access.log中,log_format的配置只能配置在http模塊中。

access_log配置在http中。

2.4 變量

三、Nginx模塊
Nginx官方模塊
第三方模塊
3.1 默認(rèn)模塊
http_stub_status_module:監(jiān)控NGINX客戶(hù)端狀態(tài)

location /mystatus{
        stub_status;
        }

瀏覽器訪問(wèn):www.xxxx.com/mystatus

random_index off |  on  寫(xiě)在默認(rèn)的配置文件loaction 里面,這個(gè)配置是隨機(jī)訪問(wèn)主頁(yè)頁(yè)面,如果有隱藏的主頁(yè)面則不會(huì)訪問(wèn)(以.開(kāi)頭的文件)

sub_filter 字符串替換
sub_filter_once默認(rèn)是開(kāi)啟(on)只替換一個(gè),改為off的話,多個(gè)要替換的都會(huì)替換掉;這個(gè)配置作用在 http server location這三個(gè)作用域中
四、請(qǐng)求限制和訪問(wèn)控制 4.1 請(qǐng)求限制
limit_conn_module 連接頻率限制
limit_req_module 請(qǐng)求頻率限制

HTTP請(qǐng)求事建立在TCP之上的,會(huì)進(jìn)行三次握手;
長(zhǎng)連接:keepalive

鏈接限制:

請(qǐng)求限制:

Syntax: limit_req_zone key zone=name:size rate =rate;
Default:——
Context:http

Syntax: limit_req_zone=name [burst=number] [nodelay];
Default:——
Context:http,server,location

存儲(chǔ)remote_add回避binary_remote_addr多10個(gè)字節(jié)
CentOS 7 安裝 ab(Apache Benchmark)壓力測(cè)試工具

sudo yum -y install httpd-tools

ab -n 50 -c 20 http://www.xxx.com/xxx.html # -n 發(fā)起的請(qǐng)求數(shù)  -c 并發(fā)數(shù)
4.2 訪問(wèn)控制 4.2.1 基于IP的訪問(wèn)控制 - http_access_module
  Syntax: allow address | CIDR | unix: | all;
  Default:——
  Context:http,server,location,limit_except

  Syntax:deny address | CIDR | unix: | all;
  Default:——
  Context:http,server,location,limit_except

location ~(模式匹配)

4.2.2 基于用戶(hù)的信任登錄 - http_auth_basic_module 五、靜態(tài)資源WEB服務(wù)

5.1 靜態(tài)資源類(lèi)型

5.2 靜態(tài)資源服務(wù)場(chǎng)景-CND

5.3 壓縮與解壓縮

5.4 瀏覽器緩存(重要)

5.4.1 瀏覽器無(wú)緩存

5.4.2 瀏覽器有緩存

5.4.3 校驗(yàn)過(guò)期機(jī)制

5.4.4 配置語(yǔ)法 - expires

5.5 跨站訪問(wèn)

5.5.1 為什么瀏覽器禁止跨站訪問(wèn)
不安全,容易出現(xiàn)CSRF攻擊!

5.6 防盜鏈(重要)
防止資源被盜用

防盜鏈思路:

首要方式:區(qū)別哪些請(qǐng)求時(shí)非正常的用戶(hù)請(qǐng)求
5.6.1 基于http_refer防盜鏈配置模塊

curl -I http://api.go-qxd.com/static/images/nx-xds-logo.jpg # 只請(qǐng)求頭信息    
curl -e "http://baidu.com" -I http://api.go-qxd.com/static/images/nx-xds-logo.jpg #表示從百度refer過(guò)去的
下一篇:基于Nginx的中間件架構(gòu)(二):代理服務(wù)、負(fù)載均衡、緩存服務(wù)、動(dòng)靜分離

參考視頻資料:Nginx入門(mén)到實(shí)踐 不管是運(yùn)維還是開(kāi)發(fā) Nginx都是你的必備技能

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39819.html

相關(guān)文章

  • 基于Nginx間件架構(gòu)(二):代理服務(wù)、負(fù)載均衡、緩存服務(wù)、動(dòng)靜分離

    摘要:缺點(diǎn)客戶(hù)端可能會(huì)再用一層代理三緩存服務(wù)理解緩存類(lèi)型配置語(yǔ)法協(xié)議等域名請(qǐng)求參數(shù)清理指定緩存讓部分頁(yè)面不緩存大文件分片請(qǐng)求四動(dòng)靜分離參考視頻資料入門(mén)到實(shí)踐不管是運(yùn)維還是開(kāi)發(fā)都是你的必備技能下一篇基于的中間件架構(gòu)三規(guī)則和讀取地域信息模塊服務(wù) 上一篇:基于Nginx的中間件架構(gòu)(一):配置語(yǔ)法、Nginx模塊、請(qǐng)求限制和訪問(wèn)控制、靜態(tài)WEB服務(wù) 一、代理服務(wù)(理解) 代理 - 代為辦理(如代...

    Wuv1Up 評(píng)論0 收藏0
  • Nginx-深度學(xué)習(xí)篇

    摘要:深度學(xué)習(xí)篇一動(dòng)靜分離通過(guò)中間件將動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求進(jìn)行分離。原因分離資源,減少不必要的請(qǐng)求消耗,減少請(qǐng)求延時(shí)。關(guān)閉后,重定向會(huì)失效。驗(yàn)證規(guī)則保持一致。啟動(dòng),也會(huì)要求你輸入密碼。根據(jù)用戶(hù)的信息等信息區(qū)別根據(jù)用戶(hù)的地址實(shí)現(xiàn)灰度發(fā)布示意圖 Nginx-深度學(xué)習(xí)篇 一、動(dòng)靜分離 通過(guò)中間件將動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求進(jìn)行分離。原因:分離資源,減少不必要的請(qǐng)求消耗,減少請(qǐng)求延時(shí)。 動(dòng)態(tài)和靜態(tài)請(qǐng)求圖例:s...

    Carson 評(píng)論0 收藏0
  • Nginx-深度學(xué)習(xí)篇

    摘要:深度學(xué)習(xí)篇一動(dòng)靜分離通過(guò)中間件將動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求進(jìn)行分離。原因分離資源,減少不必要的請(qǐng)求消耗,減少請(qǐng)求延時(shí)。關(guān)閉后,重定向會(huì)失效。驗(yàn)證規(guī)則保持一致。啟動(dòng),也會(huì)要求你輸入密碼。根據(jù)用戶(hù)的信息等信息區(qū)別根據(jù)用戶(hù)的地址實(shí)現(xiàn)灰度發(fā)布示意圖 Nginx-深度學(xué)習(xí)篇 一、動(dòng)靜分離 通過(guò)中間件將動(dòng)態(tài)請(qǐng)求和靜態(tài)請(qǐng)求進(jìn)行分離。原因:分離資源,減少不必要的請(qǐng)求消耗,減少請(qǐng)求延時(shí)。 動(dòng)態(tài)和靜態(tài)請(qǐng)求圖例:s...

    wh469012917 評(píng)論0 收藏0
  • Nginx+Tomcat整合體驗(yàn)

    摘要:題外話,由于使用經(jīng)常需要編輯,我們可以借助來(lái)使語(yǔ)法高亮,看起來(lái)更清晰明了。移動(dòng)到目錄在中添加再打開(kāi),已經(jīng)有語(yǔ)法高亮了里面提供了很多可以調(diào)節(jié)優(yōu)化的地方,這里簡(jiǎn)要了解模塊的幾個(gè)常用參數(shù)。允許或禁止基于請(qǐng)求響應(yīng)的壓縮。表示匹配的路徑。 Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。在Java的Web架構(gòu)中,通常使用Tomcat和Nginx進(jìn)行...

    heartFollower 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<