欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 nginx 高級(jí)配置

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 nginx 高級(jí)配置

http://yzkb.51969.com/

目錄

網(wǎng)頁(yè)的狀態(tài)頁(yè)

Nginx 第三方模塊安裝

變量

自定義變量

自定義訪問日志

自定義json 格式日志

Nginx壓縮功能

https 功能

自定義圖標(biāo)

重寫功能 rewrite

防盜鏈

網(wǎng)頁(yè)的狀態(tài)頁(yè)

基于nginx 模塊 ngx_http_stub_status_module 實(shí)現(xiàn),在編譯安裝nginx的時(shí)候需要添加編譯參數(shù) --with-http_stub_status_module,否則配置完成之后監(jiān)測(cè)會(huì)是提示語法錯(cuò)誤注意: 狀態(tài)頁(yè)顯示的是整個(gè)服務(wù)器的狀態(tài),而非虛擬主機(jī)的狀態(tài)

Active connections:? #當(dāng)前處于活動(dòng)狀態(tài)的客戶端連接數(shù),包括連接等待空閑連接數(shù)=reading+writing+waiting accepts: #統(tǒng)計(jì)總值,Nginx自啟動(dòng)后已經(jīng)接受的客戶端請(qǐng)求的總數(shù)。 handled: #統(tǒng)計(jì)總值,Nginx自啟動(dòng)后已經(jīng)處理完成的客戶端請(qǐng)求總數(shù),通常等于accepts,除非有因worker_connections限制等被拒絕的連接 requests: #統(tǒng)計(jì)總值,Nginx自啟動(dòng)后客戶端發(fā)來的總的請(qǐng)求數(shù)。 Reading: #當(dāng)前狀態(tài),正在讀取客戶端請(qǐng)求報(bào)文首部的連接的連接數(shù),數(shù)值越大,說明排隊(duì)現(xiàn)象嚴(yán)重,性能不足 Writing: #當(dāng)前狀態(tài),正在向客戶端發(fā)送響應(yīng)報(bào)文過程中的連接數(shù),數(shù)值越大,說明訪問量很大 Waiting: #當(dāng)前狀態(tài),正在等待客戶端發(fā)出請(qǐng)求的空閑連接數(shù),開啟 keep-alive的情況下,這個(gè)值等于active – (reading+writing) ?

Nginx 第三方模塊安裝

安裝echo模塊

需要從新編譯安裝

./configure 帶上你要安裝的模塊 第三方模塊需要使用 --add-module=文件所在路徑

./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module? ? ?--add-module=/opt/echo-nginx-module-master

make && make install

變量

$remote_addr #存放了客戶端的地址,注意是客戶端的公網(wǎng)IP

$proxy_add_x_forwarded_for #此變量表示將客戶端IP追加請(qǐng)求報(bào)文中X-Forwarded-For首部字段,多個(gè)IP之間用逗號(hào)分隔,如果請(qǐng)求中沒有X-Forwarded-For,就使用

$args; #變量中存放了URL中的參數(shù),例如:http://www.kgc.org/main/index.do?id=20190221&partner=search #返回結(jié)果為: id=20190221&partner=search ? ?存放的就是這個(gè)

$document_root #保存了針對(duì)當(dāng)前資源的請(qǐng)求的系統(tǒng)根目錄,例如:/apps/nginx/html

$document_uri #保存了當(dāng)前請(qǐng)求中不包含參數(shù)的URI,注意是不包含請(qǐng)求的指令,比 如:http://www.kgc.org/main/index.do?id=20190221&partner=search會(huì)被定義為/main/index.do? #返回結(jié)果為:/main/index.do

$host? #存放了請(qǐng)求的host名稱 服務(wù)器地址

limit_rate 10240; echo $limit_rate; #如果nginx服務(wù)器使用limit_rate配置了顯示網(wǎng)絡(luò)速率,則會(huì)顯示,如果沒有設(shè)置, 則顯示0 ?

$remote_port;? #客戶端請(qǐng)求Nginx服務(wù)器時(shí)隨機(jī)打開的端口,這是每個(gè)客戶端自己的端口

????????

$remote_user;? #已經(jīng)經(jīng)過Auth Basic Module驗(yàn)證的用戶名

$request_body_file;? #做反向代理時(shí)發(fā)給后端服務(wù)器的本地資源的名稱

$request_method;? #請(qǐng)求資源的方式,GET/PUT/DELETE等

$request_filename;? #當(dāng)前請(qǐng)求的資源文件的磁盤路徑,由root或alias指令與URI請(qǐng)求生成的文件絕對(duì)路徑,如:/apps/nginx/html/main/index.html

$request_uri; ? https:// www.baidu.com/main/index.do?id=20190221&partner=search? #包含請(qǐng)求參數(shù)的原始URI,不包含主機(jī)名,相當(dāng)于:$document_uri?$args,例如:/main/index.do?id=20190221&partner=search?

$scheme;? #請(qǐng)求的協(xié)議,例如:http,https,ftp等

$server_protocol;? #保存了客戶端請(qǐng)求資源使用的協(xié)議的版本,例如:HTTP/1.0,HTTP/1.1,HTTP/2.0等

$server_addr;? #保存了服務(wù)器的IP地址

$server_name;? #請(qǐng)求的服務(wù)器的主機(jī)名

$server_port; ?443 ?https? #請(qǐng)求的服務(wù)器的端口號(hào)

$http_ #name為任意請(qǐng)求報(bào)文首部字段,表示記錄請(qǐng)求報(bào)文的首部字段 arbitrary request header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores? #用下劃線代替橫線 #示例: echo $http_User_Agent; ?

$http_user_agent;? #客戶端瀏覽器的詳細(xì)信息

$http_cookie;? #客戶端的cookie信息

$cookie_ #name為任意請(qǐng)求報(bào)文首部字部cookie的key名

$http_ #name為任意請(qǐng)求報(bào)文首部字段,表示記錄請(qǐng)求報(bào)文的首部字段,ame的對(duì)應(yīng)的首部字段名需要為小寫,如果有 橫線需要替換為下劃線 arbitrary request header field; the last part of a variable name is the field? name converted to lower case with dashes replaced by underscores #用下劃線代替橫線 #示例:? echo $http_user_agent;? echo $http_host;

$sent_http_ #name為響應(yīng)報(bào)文的首部字段,name的對(duì)應(yīng)的首部字段名需要為小寫,如果有橫線需要替換為下劃線,此變量有問題 echo $sent_http_server;

$arg_ #此變量存放了URL中的指定參數(shù),name為請(qǐng)求url中指定的參數(shù) #對(duì)比 變量 ?$arg ?是全部, 如果 要id ? 如下 echo $arg_id;

自定義變量

假如需要自定義變量名稱和值,使用指令 set $variable value;

可以在server, location, if

自定義訪問日志

log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" ' ? ? ? ? ? ? ? ? ? ? ? '$status $body_bytes_sent "$http_referer" ' ? ? ? ? ? ? ? ? ? ? ? '"$http_user_agent" "$http_x_forwarded_for"' ? ? ? ? ? ? ? ? ? ? ? '$server_name:$server_port';

log_format ?test ?'$remote_addr - $remote_user [$time_local] "$request" ' ? ? ? ? ? ? ? ? ? ? ? '$status $body_bytes_sent "$http_referer" ' ? ? ? ? ? ? ? ? ? ? ? '"$http_user_agent" "$http_x_forwarded_for"' ? ? ? ? ? ? ? ? ? ? ? '$server_name:$server_port';

格式可以定義多個(gè)

###注意如果開啟 include ?注意定義自配置文件與 日志格式的上下關(guān)系 ?, ? 日志格式一定要在 ?include 之前 否則會(huì)不生效。

自定義json 格式日志

方便ELK收集日志

log_format access_json '{"@timestamp":"$time_iso8601",' ????????'"host":"$server_addr",' ????????'"clientip":"$remote_addr",' ????????'"size":$body_bytes_sent,' ????????'"responsetime":$request_time,' ????????'"upstreamtime":"$upstream_response_time",' ????????'"upstreamhost":"$upstream_addr",' ? ????????'"http_host":"$host",' ????????'"uri":"$uri",' ????????'"xff":"$http_x_forwarded_for",' ????????'"referer":"$http_referer",' ????????'"tcp_xff":"$proxy_protocol_addr",' ????????'"http_user_agent":"$http_user_agent",' ????????'"status":"$status"}';

Nginx壓縮功能

支持對(duì)指定類型的文件進(jìn)行壓縮然后再傳輸給客戶端,而且壓縮還可以設(shè)置壓縮比例,壓縮后的文件大小將比源文件顯著變小,這樣有助于降低出口帶寬的利用率,降低企業(yè)的IT支出,不過會(huì)占用相應(yīng)的CPU資源。Nginx對(duì)文件的壓縮功能是依賴于模塊 ngx_http_gzip_module

注意,不要壓縮圖片,壓了也是白壓,太小的文件沒必要壓縮,壓縮說不定變大了

#啟用或禁用gzip壓縮,默認(rèn)關(guān)閉gzip on | off;?

#壓縮比由低到高從1到9,默認(rèn)為1gzip_comp_level level;

#禁用IE6 gzip功能gzip_disable "MSIE [1-6]\.";?

#gzip壓縮的最小文件,小于設(shè)置值的文件將不會(huì)壓縮gzip_min_length 1k;?

#啟用壓縮功能時(shí),協(xié)議的最小版本,默認(rèn)HTTP/1.1gzip_http_version 1.0 | 1.1;?

#指定Nginx服務(wù)需要向服務(wù)器申請(qǐng)的緩存空間的個(gè)數(shù)和大小,平臺(tái)不同,默認(rèn):32 4k或者16 8k; gzip_buffers number size; ?

#指明僅對(duì)哪些類型的資源執(zhí)行壓縮操作;默認(rèn)為gzip_types text/html,不用顯示指定,否則出錯(cuò)gzip_types mime-type ...; ? ??

#如果啟用壓縮,是否在響應(yīng)報(bào)文首部插入“Vary: Accept-Encoding”,一般建議打開gzip_vary on | off;

#預(yù)壓縮,先壓縮好,不用臨時(shí)壓縮,消耗cpugzip_static on | off;

https 功能

ssl on | off; ?? #為指定的虛擬主機(jī)配置是否啟用ssl功能,此功能在1.15.0廢棄,使用listen [ssl]替代 listen 443 ssl;

ssl_certificate /path/to/file; #指向包含當(dāng)前虛擬主機(jī)和CA的兩個(gè)證書信息的文件,一般是crt文件

ssl_certificate_key /path/to/file; #當(dāng)前虛擬主機(jī)使用的私鑰文件,一般是key文件

ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];? #支持ssl協(xié)議版本,早期為ssl現(xiàn)在是TLS,默認(rèn)為后三個(gè)

ssl_session_cache off | none | [builtin[:size]] [shared:name:size]; #配置ssl緩存 ?off: #關(guān)閉緩存 ?none: ?#通知客戶端支持ssl session cache,但實(shí)際不支持 ?builtin[:size]:#使用OpenSSL內(nèi)建緩存,為每worker進(jìn)程私有 ?[shared:name:size]:#在各worker之間使用一個(gè)共享的緩存,需要定義一個(gè)緩存名稱和緩存空間大小,一兆可以存儲(chǔ)4000個(gè)會(huì)話信息,多個(gè)虛擬主機(jī)可以使用相同的緩存名稱

ssl_session_timeout time; #客戶端連接可以復(fù)用ssl session cache中緩存的有效時(shí)長(zhǎng),默認(rèn)5m

https功能需要證書,請(qǐng)自行搜索查看,太復(fù)雜

自定義圖標(biāo)

favicon.ico 文件是瀏覽器收藏網(wǎng)址時(shí)顯示的圖標(biāo),當(dāng)客戶端使用瀏覽器問頁(yè)面時(shí),瀏覽器會(huì)自己主動(dòng)發(fā)起請(qǐng)求獲取頁(yè)面的favicon.ico文件,但是當(dāng)瀏覽器請(qǐng)求的favicon.ico文件不存在時(shí),服務(wù)器會(huì)記錄404日志,而且瀏覽器也會(huì)顯示404報(bào)錯(cuò)

將 favicon.ico 放在主目錄就可以了

重寫功能 rewrite

Nginx服務(wù)器利用 ngx_http_rewrite_module 模塊解析和處理rewrite請(qǐng)求,此功能依靠 PCRE(perl compatible regular expression),因此編譯之前要安裝PCRE庫(kù),rewrite是nginx服務(wù)器的重要功能之一,用于實(shí)現(xiàn)URL的重寫,URL的重寫是非常有用的功能,比如它可以在我們改變網(wǎng)站結(jié)構(gòu)之后,不需要客戶端修改原來的書簽,也無需其他網(wǎng)站修改我們的鏈接,就可以設(shè)置為自動(dòng)訪問,另外還可以在一定程度上提高網(wǎng)站的安全性。

if指令

if (條件匹配) { ?? ?action }

使用正則表達(dá)式對(duì)變量進(jìn)行匹配,匹配成功時(shí)if指令認(rèn)為條件為true,否則認(rèn)為false,變量與表達(dá)式之間使用以下符號(hào)鏈接:

= #比較變量和字符串是否相等,相等時(shí)if指令認(rèn)為該條件為true,反之為false != ?#比較變量和字符串是否不相等,不相等時(shí)if指令認(rèn)為條件為true,反之為false ~ #區(qū)分大小寫字符,可以通過正則表達(dá)式匹配,滿足匹配條件為真,不滿足匹配條件為假 !~ #區(qū)分大小寫字符,判斷是否匹配,不滿足匹配條件為真,滿足匹配條件為假

~* #不區(qū)分大小寫字符,可以通過正則表達(dá)式匹配,滿足匹配條件為真,不滿足匹配條件為假 !~* #不區(qū)分大小字符,判斷是否匹配,滿足匹配條件為假,不滿足匹配條件為真

-f 和 !-f #判斷請(qǐng)求的文件是否存在和是否不存在 -d 和 !-d #判斷請(qǐng)求的目錄是否存在和是否不存在 -x 和 !-x #判斷文件是否可執(zhí)行和是否不可執(zhí)行 -e 和 !-e #判斷請(qǐng)求的文件或目錄是否存在和是否不存在(包括文件,目錄,軟鏈接) #注意: #如果$變量的值為空字符串或0,則if指令認(rèn)為該條件為false,其他條件為true。 #nginx 1.0.1之前$變量的值如果以0開頭的任意字符串會(huì)返回false

3字打頭重定向 301 ?永久重定向 ?將緩存記錄在瀏覽器中 302 ?臨時(shí)重定向 ?沒有緩存 ?每次都要重定向?

return

return用于完成對(duì)請(qǐng)求的處理,并直接向客戶端返回響應(yīng)狀態(tài)碼,比如:可以指定重定向URL(對(duì)于特殊重定向狀態(tài)碼,301/302等) 或者是指定提示文本內(nèi)容(對(duì)于特殊狀態(tài)碼403/500等),處于此指令后的所有配置都將不被執(zhí)行,return可以在server、if 和 location塊進(jìn)行配置

set?

指定key并給其定義一個(gè)變量,變量可以調(diào)用Nginx內(nèi)置變量賦值給key,另外set定義格式為set $key value,value可以是text, variables和兩者的組合。

break

用于中斷當(dāng)前相同作用域(location)中的其他Nginx配置,與該指令處于同一作用域的Nginx配置中,位于它前面的配置生效,位于后面的 ngx_http_rewrite_module 模塊中指令就不再執(zhí)行,Nginx服務(wù)器在根據(jù)配置處理請(qǐng)求的過程中遇到該指令的時(shí)候,回到上一層作用域繼續(xù)向下讀取配置,該指令可以在server塊和locationif塊中使用

注意: 如果break指令在location塊中后續(xù)指令還會(huì)繼續(xù)執(zhí)行,只是不執(zhí)行 ngx_http_rewrite_module 模塊的指令,其它指令還會(huì)執(zhí)行

rewrite 指令

通過正則表達(dá)式的匹配來改變URI,可以同時(shí)存在一個(gè)或多個(gè)指令,按照順序依次對(duì)URI進(jìn)行匹配,rewrite主要是針對(duì)用戶請(qǐng)求的URL或者是URI做具體處理

可以配置在 server、location、if

rewrite將用戶請(qǐng)求的URI基于regex所描述的模式進(jìn)行檢查,匹配到時(shí)將其替換為表達(dá)式指定的新的URI

注意:如果在同一級(jí)配置塊中存在多個(gè)rewrite規(guī)則,那么會(huì)自上而下逐個(gè)檢查;被某條件規(guī)則替換完成后,會(huì)重新一輪的替換檢查,隱含有循環(huán)機(jī)制,但不超過10次;如果超過,提示500響應(yīng)碼,[flag]所表示的標(biāo)志位用于控制此循環(huán)機(jī)制如果替換后的URL是以http://或https://開頭,則替換結(jié)果會(huì)直接以重定向返回給客戶端, 即永久重定向 301

rewrite flag 使用介紹

利用nginx的rewrite的指令,可以實(shí)現(xiàn)url的重新跳轉(zhuǎn),rewrtie有四種不同的flag,分別是redirect(臨時(shí)重定向302)、permanent(永久重定向301)、break和last。其中前兩種是跳轉(zhuǎn)型的flag,后兩種是代理型

跳轉(zhuǎn)型指由客戶端瀏覽器重新對(duì)新地址進(jìn)行請(qǐng)求 代理型是在WEB服務(wù)器內(nèi)部實(shí)現(xiàn)跳轉(zhuǎn)

可以配置在 server、location、if

flag 說明

redirect;302 #臨時(shí)重定向,重寫完成后以臨時(shí)重定向方式直接返回重寫后生成的新URL給客戶端,由客戶端重新發(fā)起請(qǐng)求;使用相對(duì)路徑,或者h(yuǎn)ttp://或https://開頭,狀態(tài)碼:302

permanent;301 ? ? ? www.bj.com ? ? www.beijing.com #重寫完成后以永久重定向方式直接返回重寫后生成的新URL給客戶端,由客戶端重新發(fā)起請(qǐng)求,狀態(tài)碼:301

break; ? ? ? www.bj.com #重寫完成后,停止對(duì)當(dāng)前URL在當(dāng)前l(fā)ocation中后續(xù)的其它重寫操作,而后直接跳轉(zhuǎn)至重寫規(guī)則配置塊之后的其它配置;結(jié)束循環(huán),建議在location中使用 #適用于一個(gè)URL一次重寫? ?

last; #重寫完成后,停止對(duì)當(dāng)前URI在當(dāng)前l(fā)ocation中后續(xù)的其它重寫操作,而后對(duì)新的URL啟動(dòng)新一輪重寫檢查,不建議在location中使用 #適用于一個(gè)URL多次重寫,要注意避免出現(xiàn)超過十次以及URL重寫后返回錯(cuò)誤的給用戶301

防盜鏈

防盜鏈基于客戶端攜帶的referer實(shí)現(xiàn),referer是記錄打開一個(gè)頁(yè)面之前記錄是從哪個(gè)頁(yè)面跳轉(zhuǎn)過來的標(biāo)記信息,如果別人只鏈接了自己網(wǎng)站圖片或某個(gè)單獨(dú)的資源,而不是打開了網(wǎng)站的整個(gè)頁(yè)面,這就是盜鏈,referer就是之前的那個(gè)網(wǎng)站域名,正常的referer信息有以下幾種

none:#請(qǐng)求報(bào)文首部沒有referer首部,比如用戶直接在瀏覽器輸入域名訪問web網(wǎng)站,就沒有referer信息。 blocked:#請(qǐng)求報(bào)文有referer首部,但無有效值,比如為空。 server_names:#referer首部中包含本主機(jī)名及即nginx 監(jiān)聽的server_name。 arbitrary_string:#自定義指定字符串,但可使用*作通配符。示例: *.eee.org www.eee.* regular expression:#被指定的正則表達(dá)式模式匹配到的字符串,要使用~開頭,例如:~.*\.eee\.com

設(shè)置防盜鏈

再訪問

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 nginx 高級(jí)配置

http://yzkb.51969.com/

參考文章

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18804318.html

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

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄