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分布式緩存代理伺服器:
特點:()
- 開源,基于GNU通用公共許可證,意味着你可以在同等開源協定下使用和修改Squid。
- 支援多種協定,目前支援http、ftp、gopher、wais、ssl等網絡協定。
- 支援分布式叢集,Squid使用TCP(HTTP)和UDP(ICP/HTCP)通訊來确定鄰居cache的狀态。
- 支援通路控制,通過設定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