成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淘寶開發:Nginx模塊Nginx-Http-Footer-Filter

開發 后端 前端
Nginx-Http-Footer-Filter想必大家都覺得很陌生,那我們就來認識一下它吧,這是淘寶開發的Nginx模塊. 它用于nginx在響應請求文件底部追加內容. 今天抽空研究下這個插件,希望對大家有所幫助。為什么發現了這個插件,因為這幾天公司需要在所有shtml文件后面追加一個js代碼用來做統計(之前統計 代碼沒加齊全),在尋求解決方法的過程中找到了它認識了它最后喜歡上了它。

Nginx-Http-Footer-Filter想必大家都覺得很陌生,那我們就來認識一下它吧,這是淘寶開發的Nginx模塊. 它用于nginx在響應請求文件底部追加內容. 今天抽空研究下這個插件,希望對大家有所幫助。為什么發現了這個插件,因為這幾天公司需要在所有shtml文件后面追加一個js代碼用來做統計(之前統計 代碼沒加齊全),在尋求解決方法的過程中找到了它認識了它***喜歡上了它,你可能以為我用這個插件去實現了我要的功能,其實在認識他之前我用shell腳 本替換齊全了. 不過我還是決定研究測試一下Nginx-Http-Footer-Filter,或許以后的需求上能有幫助,更或許能幫上其他需要幫助的人.進入正題吧.

1. Nginx-Http-Footer-Filter到底是做什么的?

說白了,就是在請求的頁面底部插入你要插入的代碼。

2. 我們能用Nginx-Http-Footer-Filter來做什么?

1、統一追加js代碼用于統計(我是這么想的)

2、底部追加響應這個請求的realsver(后端真實服務器)信息,便于系統管理員排查故障.

3、你管理著數量龐大的虛擬主機,在所有web后面追加你的廣告代碼,黑鏈什么的(很無恥)

4、舉一反三吧,自己想想能用來做什么吧. 淘寶用它來做什么? 打開淘寶首頁,查看他源代碼,拖到最下面,內容如下:

  1. <!--city: fuzhou-->  
  2. <!--province: unknown-->  
  3. <!--hostname: -->  
  4. <!--hostname: home1.cn199--> 

我們可以很清晰的看到,這邊有省和地區還有主機名,也就是淘寶真實服務器的主機名,處理我這個請求的主機名為home1.cn199, city取到了fuzhou,provinece省份沒取到,估計是它Geo的問題
或者隨便打開一個商品頁面, 查看源代碼,如下:

  1. </html> 
  2. <script type="text/javascript">TShop.initFoot({});</script> 

可以看到他這邊給這頁面追加了一個js代碼,淘寶開發這個模塊的用意想必大家都明白了,集思廣益,或許大家還有更好的用處.

3. 怎么安裝Nginx-Http-Footer-Filter

3.1 下載地址:

https://github.com/alibaba/Nginx-Http-Footer-Filter/tree/1.2.2

3.2 安裝Nginx-Footer模塊

之前已經安裝過Nginx,所以我選擇覆蓋Nginx文件。

  1. # cd /usr/local/src/  
  2. # wget https://codeload.github.com/alibaba/Nginx-Http-Footer-Filter/zip/1.2.2  
  3. # unzip 1.2.2 
  4.  
  5. # http://nginx.org/download/nginx-1.4.1.tar.gz  
  6. # tar -xzvf nginx-1.4.1.tar.gz  
  7. # cd nginx-1.4.1 
  8. # ./configure --prefix=/usr/local/nginx-1.4.1 \  
  9. --with-http_stub_status_module --with-http_realip_module \  
  10. --add-module=../Nginx-Http-Footer-Filter-1.2.2 
  11. # make  
  12. # mv /usr/local/nginx-1.4.1/sbin/nginx /usr/local/nginx-1.4.1/sbin/old_nginx  
  13. # mv objs/nginx /usr/local/nginx-1.4.1/sbin/  
  14. # /usr/local/nginx-1.4.1/sbin/nginx -s stop  
  15. # /usr/local/nginx-1.4.1/sbin/nginx 

3.3 驗證模塊是否安裝成功

  1. # /usr/local/nginx-1.4.1/sbin/nginx -V  
  2. nginx version: nginx/1.4.1 
  3. built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)  
  4. TLS SNI support enabled  
  5. configure arguments: --prefix=/usr/local/nginx-1.4.1   
  6. --with-http_stub_status_module   
  7. --with-http_realip_module    
  8. --add-module=../Nginx-Http-Footer-Filter-1.2.2 

4. 怎么使用Nginx-Http-Footer-Filter模塊

4.1 配置location

在location中使用footer "你的內容" 即可.看如下配置

  1. server {  
  2. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 173.255.219.122:80;  
  3. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server_name&nbsp; test.ttlsa.com;  
  4. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; access_log&nbsp; /data/logs/nginx/test.ttlsa.com.access.log&nbsp; main;  
  5.  
  6. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index index.html index.php index.html;  
  7. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root /data/site/test.ttlsa.com;  
  8.         location / {  
  9.            footer "<!-- $date_gmt -->";  
  10.            index index.html;  
  11.         }  
  12.  
  13.         location =/html/2252.css {  
  14.            footer_types text/css;  
  15.            footer "/* host: $server_name - $date_local */";  

4.2 測試Nginx-Footer效果

  1. # cat 2252.shtml  
  2. <html>  
  3.     <head>  
  4.     <title>test</title>  
  5.     </head>  
  6.     <body>  
  7.         this is webpage  
  8.     </body>  
  9. </html> 

訪問站點test.ttlsa.com/html/2252.shtml

nginx追加底部代碼

nginx追加底部代碼

如圖,我們可以看到文件***部加上了<!-- 1376063369 -->,怎么變成了時間撮了,因為我這邊是ssi的語法,如果你不知道什么是ssi,那么請參考文章什么是ssi.

他僅僅是在文件的***一行追加,而不是<body>里面.這點大家要注意了.

4.3 再來測試一下css文件

  1. # cat 2242.css  
  2. this is css file 

如下是訪問結果:

  1. this is css file  
  2. /* host: test.ttlsa.com - 1376064324 */  

看圖:

nginx footer追加底部代碼css

nginx footer追加底部代碼css

#p#

5. 我能寫多個footer指令嗎?

不行,以下我寫了兩個footer

  1. location / {  
  2.     footer "12312321321";  
  3.     footer "<!-- $date_gmt -->";  
  4.     index index.html;  

如下測試,提示footer指令重復了

  1. # /usr/local/nginx-1.4.1/sbin/nginx -t  
  2. nginx: [emerg] "footer" directive is duplicate in /usr/local/nginx-1.4.1/conf/vhost/test.ttlsa.com.conf:13 
  3. nginx: configuration file /usr/local/nginx-1.4.1/conf/nginx.conf test failed 

6. 只能用ssi變量嗎?

當然不是,隨便你寫,可以是ssi指令,也可以是nginx變量,也可以是任何無意義的字符串

如下:

  1. footer "12312321321";  
  2. footer "<!--12312321321-->";  
  3. footer "<!--$remote_addr-->";  

比如我想知道這個頁面是哪臺web服務器處理的,那么我在底部插入主機名即可.這樣,有500錯誤,我便可以馬上定位到具體的服務器了

  1. footer "<!--$hostname-->"

返回結果如下:

nginx footer 追加底部代碼nginx變量hostname

nginx footer 追加底部代碼nginx變量hostname

7. 服務器返回500,404,403等錯誤, 是否還會追加內容到底部

會,如果不追加,就無法通過返回的頁面得知哪臺web出現故障,這明顯就不符合作者的初衷了,有些同學可能覺得我在后端設置一個header不就可以了,為什么還要去裝一個插件,麻煩不麻煩?不信你試試404,500這些錯誤頭部能不能看到。況且你面對的用戶都是小白們,難道讓他提交錯誤的時候,問他你看下你的http頭部的某值是多少,別人傻眼了。現在你只要說,哥們,網頁保存下來傳給我。

配置如下:

  1. location / {  
  2.     return 500;  
  3.     footer "<!--$hostname-->";  

結果如下:

nginx footer追加底部代碼500錯誤

nginx footer追加底部代碼500錯誤

8. 模塊指令說明:

footer模塊非常簡單,就只有兩個指令,具體說明如下

footer字符串

默認值: ``

配置段: http, server, location

這個定義了將什么內容追加到文件內容的底部 footer_types MIME類型

默認值: footer_types: text/html

配置段: http, server, location

定義被追加底部文件的MIME返回類型,默認值是text/html

原文鏈接:http://www.ttlsa.com/html/2252.html

責任編輯:林師授 來源: ttlsa.com
相關推薦

2017-05-10 11:40:29

緩存Nginx HTTP

2010-03-30 18:56:13

Nginx配置模塊

2024-05-30 17:43:38

2010-03-30 18:04:45

Nginx http服

2012-12-07 10:14:48

Nginx負載均衡

2015-12-15 15:27:37

NginxHTTP網絡協議

2020-11-18 09:29:06

NginxHTTPHTTPS

2021-01-21 10:21:11

NginxHTTP 3.0Linux

2013-09-10 09:54:50

2019-12-24 14:42:51

Nginx服務器架構

2020-05-12 21:17:18

Nginx服務器架構

2019-09-10 15:22:17

Nginx服務器架構

2013-04-25 10:01:35

Nginx

2011-09-21 13:25:20

Nginx

2018-02-26 11:25:33

2018-06-10 15:30:36

2019-09-04 08:54:48

API網關Nginx

2011-11-28 14:47:58

Nginx 安裝

2024-02-29 07:45:38

Nginx服務模塊

2011-11-28 09:25:17

Nginx概述
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美日韩免费| 国产成人一区二区三区电影 | 夜夜爽99久久国产综合精品女不卡 | 欧美日韩在线综合 | 一本一道久久a久久精品蜜桃 | 国产一区二区三区欧美 | 日本一区不卡 | 国产一区二区 | 色婷婷精品国产一区二区三区 | 91一区二区三区在线观看 | 久久久久久影院 | 久久久精品网站 | 日韩图区| 99精品电影| 国产精品观看 | 欧美成人一区二区 | 久草视频观看 | 国产欧美一区二区三区在线看 | 国产在线精品一区二区三区 | 午夜免费精品视频 | 国产成人午夜高潮毛片 | 精品亚洲一区二区 | 亚洲精品视频在线播放 | 亚洲国产成人精品久久 | 亚洲视频在线免费观看 | 久久人| 一级毛片大全免费播放 | 国产精品久久久久久久一区探花 | 欧美激情精品久久久久久变态 | 久久精品二区 | 国产三级精品三级在线观看四季网 | 久久精品国产99国产精品 | 中文字幕成人av | 在线观看免费国产 | 日韩一区二区三区四区五区 | 欧美三级电影在线播放 | 国产中文 | 国产精彩视频 | 青青草一区 | 一级毛片免费看 | 亚洲精品国产第一综合99久久 |