久久久久久久性爱潮,国产又粗又猛又爽又黄下载视频,尤物国产在线一区视频,欧美日本国产在线不卡

<sup id="4uqqy"><ol id="4uqqy"></ol></sup>
  • <th id="4uqqy"></th>

      • <strike id="4uqqy"><nobr id="4uqqy"><ins id="4uqqy"></ins></nobr></strike><sup id="4uqqy"></sup><strong id="4uqqy"><u id="4uqqy"></u></strong>
        <sub id="4uqqy"></sub>

          綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

          綠色資源網(wǎng)

          技術(shù)教程
          您的位置:首頁服務(wù)器類Linux服務(wù)器 → Linux服務(wù)器反向代理軟件varnish安裝、配置和監(jiān)控教程

          Linux服務(wù)器反向代理軟件varnish安裝、配置和監(jiān)控教程

          我要評(píng)論 2013/03/29 12:47:27 來源:綠色資源網(wǎng) 編輯:www.kiwanis-srv.org [ ] 評(píng)論:0 點(diǎn)擊:326次

          Varnish作為反向代理軟件,應(yīng)用于Web 前端,其良好的Cache性能使得網(wǎng)站承載能力有很大提升,下面記錄下最近使用在Varnish學(xué)習(xí)與應(yīng)用中的實(shí)踐體會(huì),本篇主要內(nèi)容:安裝 配置 監(jiān)控。

          一、varnish安裝
          通常有兩種方法:
          1.下載安裝文件,本地編譯安裝
          2.連到官網(wǎng),自動(dòng)安裝(比較簡(jiǎn)單)
          https://www.varnish-cache.org/installation/redhat

          二、配置文件
          1、配置Varnish 啟動(dòng)運(yùn)行參數(shù),如指定對(duì)應(yīng)執(zhí)行腳本,即vcl文件
          Varnish管理端口,默認(rèn)為6082,可以改為自己定義的端口,如2000
          VARNISH_ADMIN_LISTEN_PORT=2000
          監(jiān)聽端口,默認(rèn)為8080,一般改為80
          VARNISH_LISTEN_PORT=80
          指定緩存文件存放路徑
          VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
          緩存文件varnish_storage.bin在32位操作系統(tǒng)下,最大僅能支持2G,
          如果需要更大緩存文件則需要安裝64為L(zhǎng)inux操作系統(tǒng)

          2、配置varnish為服務(wù)形式運(yùn)行
          3.0以上版本,安裝好varnish后自動(dòng)配置好了,即直接可以使用service varnish start命令執(zhí)行
          3.0以下版本,需要手動(dòng)配置一下相應(yīng)的配置文件
          1)找到對(duì)應(yīng)版本的安裝包下varnish.initr文件,如
          C:/.../varnish-3.0.1/redhat/varnish-3.0.1/redhat/varnish.initrc
          2) 更改varnish.initrc中配置項(xiàng),主要執(zhí)行參數(shù)
          3) 若參數(shù)是默認(rèn)的配置形式etc/sysconfig/varnish,可以省略第2)步
          4) 將varnish.initrc改名為varnish
          5) copy varnish 到 /etc/rc.d/init.d/下
          6) 給varnish指定執(zhí)行權(quán)限chmod 700 /etc/rc.d/init.d/varnish
          7) chkconfig --add varnish
          三、查看Varnish運(yùn)行狀態(tài)
          ps -aux|grep varnishd
          正常結(jié)果如下

          也可以通過top |grep varnishd查看
          四、查看Varnish日志
          1、使用varnishlog命令查看日志,可以加些參數(shù),具體可通過-h獲得參數(shù)說明
          如varnishlog -i txurl 命令去查看是哪些URL導(dǎo)致回源的
          2、將日志保存到一文件
          需要用到varnishncsa指令,如
          varnishncsa -w /var/lib/varnish/varnish.log 將varnishlog 保存在一個(gè)文件里
          文件格式為文本格式,比較方便查看
          五、查看Varnish緩存情況
          1、通過varnishstat 查看當(dāng)前及自啟動(dòng)以來的請(qǐng)求及緩存命中情況
           

          結(jié)果數(shù)據(jù)的含義:

          第一行顯示的是varnish自啟動(dòng)到現(xiàn)在運(yùn)行了多長(zhǎng)時(shí)間,如上圖顯示的是45天0小時(shí)11分27秒
          第二行顯示的是啟動(dòng)這個(gè)命令的時(shí)間,這個(gè)三數(shù)字最終會(huì)變?yōu)?0,100,1000;分別代表10秒,100秒,1000秒
          第三行顯示的是命中率,分別對(duì)象上面的時(shí)間,分別是10秒內(nèi)的命中率,100秒內(nèi)的命中率,1000秒內(nèi)的命中率
          從第四行開始下面的數(shù)據(jù)就分為4列
          第一列為總數(shù)值,第二列為每秒中的數(shù)值,第三列自命令(varnishstat)啟動(dòng)以來的平均值,第四列是描述

          其中幾個(gè)比較重要的是

          Client connections accepted:表示客戶端向反向代理服務(wù)器成功發(fā)送HTTP請(qǐng)求的總數(shù)量
          Client requests received:表示到現(xiàn)在為止,瀏覽器向反向代理服務(wù)器發(fā)送HTTP請(qǐng)求的累積次數(shù),由于可能會(huì)使用長(zhǎng)連接,所以這個(gè)值一般會(huì)大于Client connections accepted
          cache-hit :代表緩存命中次數(shù)
          miss-hit :代表未命中次數(shù)
          worker threads :代表當(dāng)前工作線程的數(shù)量
          expired objects :代表過期對(duì)象的個(gè)數(shù)
          LRU nuked objects :代表緩存可使用的內(nèi)存以達(dá)上線而不得不移除的對(duì)象個(gè)數(shù)
          LRU moved objects :代表LRU策略被移動(dòng)的對(duì)象個(gè)數(shù)
          Total header bytes :代表緩存的請(qǐng)求頭對(duì)象的大小
          Total body bytes:代表緩存的請(qǐng)求體對(duì)象大小

          命中率公式:cache-hit / Client requests received

          2、若每次查看varnish當(dāng)前緩存情況都要登錄Server,有點(diǎn)麻煩
          可以用php(可以用其它語言)編寫一段程序,遠(yuǎn)程查看
          代碼可以參考如下,3.0以下的版本可以通過Socket連接到Varnish管理端口,通過stat命令查看,3.0以上沒有stat命令,只能通過下面的方法解決

          <?php 
           

          $outfile=shell_exec("/usr/bin/varnishstat -x ");
          $xml=simplexml_load_string($outfile);
          echo $xml->getName() . "<br />";
          foreach($xml->children() as $child)
            {
                //$tmpName="";
                foreach($child->children() as $subChild)
                {
                  if ($subChild->getName() =="name" )
                   {
                      $tmpName=$subChild;
                  }
                  else  if ($subChild->getName() =="value" )
                  {
                      if ($tmpName!="")
                      {
                         $arys["$tmpName"]=$subChild;
                         $tmpName="";
                      }
                  }
                  else
                   {
                      continue;
                  }
                }
            }
            function byteReduce($bytes)
            {
                if ($bytes>1099511627776)
                {
                    return round($bytes/1099511627776)."TB";
                }
                else if ($bytes > 1073741824)
                {
                    return round($bytes/1073741824)."GB";
                }
                else if ($bytes>1048576)
                {
                    return round($bytes/1048576)."MB";
                }
                else if ($bytes>1024)
                {
                    return round($bytes/1024)."KB";
                }
                else
                {
                    return $bytes."B";
                }
            }
            echo "client_conn: ".$arys["client_conn"] . "<br />";
            echo "client_req: ".$arys["client_req"] . "<br />";
            echo "cache_hit: ".$arys["cache_hit"] . "<br />";
            echo "cache_miss: ".$arys["cache_miss"] . "<br />";
            echo "Cache hit rate: ".round(($arys["cache_hit"]/$arys["client_req"])*100)." % <br/>";
            echo "LRU nuked objects: ".$arys[n_lru_nuked]."<br/>";
            echo " ".byteReduce($arys["s_bodybytes"]+$arys["s_hdrbytes"])." Acc Content (".byteReduce($arys["s_hdrbytes"])." header ".byteReduce($arys["s_bodybytes"])." Body)";
          ?>

          頁面效果如
           

          當(dāng)然為了查看實(shí)時(shí)情況,可以在這監(jiān)控頁加個(gè)html定時(shí)刷新

          若已經(jīng)部署了專業(yè)的監(jiān)控工具如catic ,則可以通過配置,在catic中查看Varnish 運(yùn)行狀態(tài)

          3.0以上版本,需要一個(gè)php頁面輸出結(jié)果echo shell_exec("/usr/bin/varnishstat -x ");然后catic中配置下即可

          關(guān)鍵詞:Linux服務(wù)器

          閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

          • 1 歡迎喜歡
          • 1 白癡
          • 1 拜托
          • 1 哇
          • 1 加油
          • 1 鄙視