Hiển thị các bài đăng có nhãn varnish. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn varnish. Hiển thị tất cả bài đăng

Thứ Bảy, 28 tháng 6, 2014

Flush cache của varnish

Flush hay clear cache của varnish được thực hiện qua tool varnishadm. Trong varnish, hành động này gọi là "ban" để làm cho cache trở nên invalidate. Varnish có lắng nghe trên một port mặc định 6082 (Xem trong /etc/default/varnish) để nhận các yêu cầu quản trị.

Trước hết vi /etc/default/varnish để chắc chắn về interface quản trị của varnish

######################
 DAEMON_OPTS="-a :80 \
               -T localhost:6082 \
               -f /etc/varnish/default.vcl \
               -S /etc/varnish/secret \
               -s malloc,256m"
######################


Chắc chắn interface là localhost:6082, tôi tiến hành connect theo command sau:
sudo varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret

Sau đó tại dấu nhắc bạn gõ dòng sau để invalidate response cho request URL:
varnish> ban.url <URL>

Ví dụ:
ban.url /index.html

Chủ Nhật, 22 tháng 6, 2014

Bước đầu triển khai varnish - Cơ bản

Varnish là một reverse HTTP proxy nằm trước một web server để thực hiện caching data cho web server. Tutorial này tập trung vào việc triển khai varnish trên debian Ubuntu. Varnish sẽ làm reverse proxy cho apache server.

Tìm và cài đặt theo hướng dẫn tại đây: 
https://www.varnish-cache.org/installation/debian

wget http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
echo "deb http://repo.varnish-cache.org/debian/ wheezy varnish-3.0" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install varnish


Cấu hình varnish

sudo vi /etc/default/varnish
Uncomment các dòng thuộc tùy chọn "DAEMON_OPTS" thuộc Alternative 2:
DAEMON_OPTS="-a :80 \
               -T localhost:6082 \

               -f /etc/varnish/default.vcl \
               -S /etc/varnish/secret \
               -s malloc,256m"


Dòng trên cho biết varnish service sẽ lắng nghe trên port 80. Thông số cấu hình cho varnish biết nó làm reverse cho service nào nằm trong hồ sơ /etc/varnish/default.vcl


sudo vi /etc/varnish/default.vcl
Nếu file chưa có thì bổ sung:
backend default {
     .host = "127.0.0.1";
     .port = "8080";
}
Những dòng trên cho biết varnish sẽ làm reverse proxy cho web service trên port 8080

Cấu hình apache
Chỉnh sửa trong httpd.conf

Listen 127.0.0.1:8080

Sau đó restart httpd và varnishd. 

Chú ý: Varnish sẽ không cache các http request có trường cookie nên cần xóa cookie của trình duyệt trước khi kiểm tra varnish.