天天看點

運維之進階服務篇------1. 運維概述 、 Squid代理伺服器 、 Varnish伺服器

ONE DAY

如果你能看到一個低墒世界,那個低嫡世界遲早也能看到你,隻是時間問題。是以,什麼事情都等别人做是危險的      ----劉慈欣

謹記:服務這東西看到的隻是冰山一角;此為簡單的模型環境建立,根據不同需求需要配置檔案大量參數内容。

squid varnish

運維:運作與維護

Operation & Maintance

傳統運維技術特點:單一化,簡單化,被動管理

Linux運維最佳:

集中化

自動化

标準化

虛拟化

分布式

Proxy:代理人,經紀人,中介

代理伺服器

1代理伺服器可以将遠端的Web伺服器頁面緩存在本地 

2代理伺服器端口設定為80端口 

3使用者通過通路代理伺服器即可獲得遠端Web伺服器上的頁面内容 

4遠端Web伺服器對用戶端使用者是透明的 

5利用緩存機制提高網站的響應速度 

一:反向代理

WEB伺服器:

yum  -y  install  httpd

systemctl start httpd  ;  systemctl enable httpd

 netstat  -anptu  |  grep httpd

vim /var/www/html/index.html 

<html>

<title>Welcome</title>

<body>

<h1>192.168.2.100</h1>

</body>

</html>

Squid分布式緩存代理伺服器:

特點:()

  1. 開源,基于GNU通用公共許可證,意味着你可以在同等開源協定下使用和修改Squid。
  2. 支援多種協定,目前支援http、ftp、gopher、wais、ssl等網絡協定。
  3. 支援分布式叢集,Squid使用TCP(HTTP)和UDP(ICP/HTCP)通訊來确定鄰居cache的狀态。
  4. 支援通路控制,通過設定ACL和ARL來限制某些通路

yum  -y  install  squid

vim /etc/squid/squid.conf

http_port 80 vhost                            //設定反向代理

visible_hostname svr5.tarena.com                //設定主機名,預設沒有該語句

cache_peer  192.168.2.100  parent 80   0  originserver    //定義後端真實伺服器資訊

cache_dir ufs /var/spool/squid 200 16 256        //硬碟緩存,緩存容量為200M,自動建立16個一級子目錄和256個二級子目錄

http_access allow all                             //允許本機所有主機使用代理伺服器

3systemctl start squid; systemctl enable squid

4netstat  -anptu  |  grep 80

用戶端測試

curl  http://192.168.4.5            //傳回的是2.100服務的頁面

二.Varnish加速Web

使用Varnish加速後端Apache Web服務 

使用varnishadm指令管理緩存頁面 

使用varnishstat指令檢視Varnish狀态 

Web伺服器:(同上已略)

Varnish緩存伺服器:

1yum -y install gcc readline-devel pcre-devel    //安裝軟體依賴包

2useradd -s /sbin/nologin varnish                //建立賬戶#啟服務最好用普通使用者

3tar -xzf varnish-3.0.6.tar.gz

4cd varnish-3.0.6

5 ./configure --prefix=/usr/local/varnish

6 make && make install

7cp redhat/varnish.initrc /etc/init.d/varnish

8cp redhat/varnish.sysconfig /etc/sysconfig/varnish

9vim /etc/sysconfig/varnish

66行:VARNISH_LISTEN_PORT=80                                #預設端口

89行:VARNISH_STORAGE_SIZE=64M                                #定義緩存大小

92行:VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"        #基于記憶體方式緩存

注意:緩存存儲方式可以是檔案夾

VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"

10mkdir /etc/varnish

11cp etc/default.vcl /etc/varnish/

12uuidgen > /etc/varnish/secret

13vim  /etc/varnish/default.vcl

backend default {

      .host = "192.168.2.100";

      .port = "80";

   }

Backend web1 {

.host = “192.168.2.201”;

.port = “80”;

}

9service  varnish  start或者/etc/init.d/varnish start

用戶端測試:

curl http://192.168.4.5

Varnish服務操作:

varnishlog                    //varnish日志檢視判斷監測與真實網站伺服器是否連接配接

varnishncsa                    //通路日志

varnishadm –S /etc/varnish/secret –T 127.0.0.1:6082 ban.url 頁面檔案名

varnish -S /etc/varnish/secret -T 127.0.0.1:6082 help