最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Nginx服務(wù)器的nginx-http-footer-filter模塊配置

 更新時間:2016年01月13日 17:30:50   投稿:goldensun  
這篇文章主要介紹了Nginx服務(wù)器的nginx-http-footer-filter模塊配置,nginx-http-footer-filter用作在請求的頁面底部插入代碼,需要的朋友可以參考下

nginx-http-footer-filter想必大家都覺得很陌生,那我們就來認(rèn)識一下它吧,這是淘寶開發(fā)的nginx模塊. 它用于nginx在響應(yīng)請求文件底部追加內(nèi)容. 今天抽空研究下這個插件,希望對大家有所幫助。為什么發(fā)現(xiàn)了這個插件,因為這幾天公司需要在所有shtml文件后面追加一個js代碼用來做統(tǒng)計(之前統(tǒng)計代碼沒加齊全),在尋求解決方法的過程中找到了它認(rèn)識了它最后喜歡上了它,你可能以為我用這個插件去實現(xiàn)了我要的功能,其實在認(rèn)識他之前我用shell腳本替換齊全了. 不過我還是決定研究測試一下nginx-http-footer-filter,或許以后的需求上能有幫助,更或許能幫上其他需要幫助的人.進入正題吧.
1. nginx-http-footer-filter到底是做什么的?
說白了,就是在請求的頁面底部插入你要插入的代碼。
2. 我們能用nginx-http-footer-filter來做什么?
1、統(tǒng)一追加js代碼用于統(tǒng)計(我是這么想的)
2、底部追加響應(yīng)這個請求的realsver(后端真實服務(wù)器)信息,便于系統(tǒng)管理員排查故障.
3、你管理著數(shù)量龐大的虛擬主機,在所有web后面追加你的廣告代碼,黑鏈?zhǔn)裁吹模ê軣o恥)
4、舉一反三吧,自己想想能用來做什么吧.
淘寶用它來做什么?
打開淘寶首頁,查看他源代碼,拖到最下面,內(nèi)容如下:

<!--city: fuzhou-->
<!--province: unknown-->
<!--hostname: -->
<!--hostname: home1.cn199-->

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

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

可以看到他這邊給這頁面追加了一個js代碼,淘寶開發(fā)這個模塊的用意想必大家都明白了,集思廣益,或許大家還有更好的用處.
3. 怎么安裝nginx-http-footer-filter
3.1 下載地址:

https://github.com/alibaba/nginx-http-footer-filter/tree/1.2.2
3.2 安裝nginx-footer模塊
之前已經(jīng)安裝過nginx,所以我選擇覆蓋nginx文件。

# cd /usr/local/src/
# wget https://codeload.github.com/alibaba/nginx-http-footer-filter/zip/1.2.2
# unzip 1.2.2
 
# http://nginx.org/download/nginx-1.4.1.tar.gz
# tar -xzvf nginx-1.4.1.tar.gz
# cd nginx-1.4.1
# ./configure --prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_module --with-http_realip_module \
--add-module=../nginx-http-footer-filter-1.2.2
# make
# mv /usr/local/nginx-1.4.1/sbin/nginx /usr/local/nginx-1.4.1/sbin/old_nginx
# mv objs/nginx /usr/local/nginx-1.4.1/sbin/
# /usr/local/nginx-1.4.1/sbin/nginx -s stop
# /usr/local/nginx-1.4.1/sbin/nginx

3.3 驗證模塊是否安裝成功

# /usr/local/nginx-1.4.1/sbin/nginx -V
nginx version: nginx/1.4.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.4.1 
--with-http_stub_status_module 
--with-http_realip_module 
--add-module=../nginx-http-footer-filter-1.2.2

4. 怎么使用nginx-http-footer-filter模塊
4.1 配置location
在location中使用footer "你的內(nèi)容" 即可.看如下配置

server {
    listen    173.255.219.122:80;
    server_name test.ttlsa.com;
    access_log /data/logs/nginx/test.ttlsa.com.access.log main;
 
    index index.html index.php index.html;
    root /data/site/test.ttlsa.com;
    location / {
      footer "<!-- $date_gmt -->";
      index index.html;
    }
 
    location =/html/2252.css {
      footer_types text/css;
      footer "/* host: $server_name - $date_local */";
}

4.2 測試nginx-footer效果

# cat 2252.shtml
<html>
  <head>
  <title>test</title>
  </head>
  <body>
    this is webpage
  </body>
</html>

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

2016113172756783.jpg (643×430)

如圖,我們可以看到文件最底部加上了<!-- 1376063369 -->,怎么變成了時間撮了,因為我這邊是ssi的語法,如果你不知道什么是ssi,那么請參考文章什么是ssi.
[warning]他僅僅是在文件的最后一行追加,而不是<body>里面.這點大家要注意了.[/warning]
4.3 再來測試一下css文件

# cat 2242.css
# this is css file

如下是訪問結(jié)果:

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

看圖:

2016113172910451.jpg (492×318)

5. 我能寫多個footer指令嗎?
不行,以下我寫了兩個footer

location / {
  footer "12312321321";
  footer "<!-- $date_gmt -->";
  index index.html;
}

如下測試,提示footer指令重復(fù)了

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

6. 只能用ssi變量嗎?
當(dāng)然不是,隨便你寫,可以是ssi指令,也可以是nginx變量,也可以是任何無意義的字符串
如下:

footer "12312321321";
footer "<!--12312321321-->";
footer "<!--$remote_addr-->";

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

footer "<!--$hostname-->";

返回結(jié)果如下:

2016113172930540.jpg (637×361)

7. 服務(wù)器返回500,404,403等錯誤, 是否還會追加內(nèi)容到底部
會,如果不追加,就無法通過返回的頁面得知哪臺web出現(xiàn)故障,這明顯就不符合作者的初衷了
配置如下:

location / {
  return 500;
  footer "<!--$hostname-->";
}

結(jié)果如下:

2016113172947861.jpg (604×427)

8. 模塊指令說明:
footer模塊非常簡單,就只有兩個指令,具體說明如下
footer字符串
默認(rèn)值:
配置段: http, server, location
這個定義了將什么內(nèi)容追加到文件內(nèi)容的底部
footer_types MIME類型
默認(rèn)值: footer_types: text/html
配置段: http, server, location
定義被追加底部文件的MIME返回類型,默認(rèn)值是text/html

相關(guān)文章

  • nginx利用ctx實現(xiàn)數(shù)據(jù)共享、修改上下文功能

    nginx利用ctx實現(xiàn)數(shù)據(jù)共享、修改上下文功能

    這篇文章主要給大家介紹了關(guān)于nginx利用ctx實現(xiàn)數(shù)據(jù)共享、修改上下文功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • nginx服務(wù)器通過配置來解決API的跨域問題

    nginx服務(wù)器通過配置來解決API的跨域問題

    這篇文章主要給大家介紹了關(guān)于nginx服務(wù)器是如何配置來解決API跨域問題的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 淺談nginx基于請求頭或請求內(nèi)容的防護

    淺談nginx基于請求頭或請求內(nèi)容的防護

    本文主要介紹了淺談nginx基于請求頭或請求內(nèi)容的防護,通常涉及到對請求進行過濾,檢查其是否包含某些特定的值或模式,感興趣的可以了解一下
    2023-10-10
  • Nginx基本命令&不停機版本升級

    Nginx基本命令&不停機版本升級

    這篇文章主要為大家介紹了Nginx基本命令&不停機版本升級,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實現(xiàn)

    Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實現(xiàn)

    這篇文章主要介紹了Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Debian下搭建Nginx和Tomcat服務(wù)器實現(xiàn)負載均衡的方案

    Debian下搭建Nginx和Tomcat服務(wù)器實現(xiàn)負載均衡的方案

    這篇文章主要介紹了Debian下搭建Nginx和Tomcat服務(wù)器實現(xiàn)負載均衡的方案,其主要思想依然是動靜分離并且以Nginx來進行反向代理這樣的路子,需要的朋友可以參考下
    2015-12-12
  • 解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯誤

    解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯誤

    昨日,有朋友問我,他將Web服務(wù)器換成Nginx 0.6.31 + PHP 4.4.7(FastCGI)后,有時候訪問會出現(xiàn)“502 Bad Gateway”錯誤,如何解決。
    2009-10-10
  • nginx訪問控制的實現(xiàn)示例

    nginx訪問控制的實現(xiàn)示例

    這篇文章主要介紹了nginx訪問控制的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Nginx防盜鏈的3種方法

    Nginx防盜鏈的3種方法

    Nginx防盜鏈的3種方法,需要的朋友可以參考下。
    2010-12-12
  • nginx中斜杠(/)詳解

    nginx中斜杠(/)詳解

    本文主要介紹了nginx中斜杠(/)詳解,配置location、proxy_pass時,加“/”與不加“/”的區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

长沙市| 博罗县| 名山县| 乃东县| 从江县| 定结县| 福州市| 渑池县| 临沧市| 饶阳县| 肇州县| 上高县| 嘉兴市| 乌兰县| 大英县| 洛扎县| 阳西县| 白河县| 谷城县| 临沂市| 石渠县| 裕民县| 龙门县| 新竹县| 通城县| 宜昌市| 汤阴县| 彰化县| 延庆县| 重庆市| 容城县| 大足县| 临汾市| 博客| 定南县| 台东市| 大洼县| 漾濞| 宜章县| 潞城市| 余姚市|