Установка Varnish Cache на самом деле очень простая.
Устанавливаем нужные RPM пакеты и ставим сам Varnish
rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/x86_64/varnish-3.0.2-1.el5.x86_64.rpm rpm -ivh http://mirror.chpc.utah.edu/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm yum install libedit -y yum install varnish -y |
Стартуем Varnish
/etc/init.d/varnish start |
Меняем стандартный порт 6081 на котором работает Varnish на 80
replace 'VARNISH_LISTEN_PORT=6081' 'VARNISH_LISTEN_PORT=80' -- /etc/sysconfig/varnish |
Далее меняем стандартный порт на котором работает Apache на 8081. Если у Вас установлен сPanel тогда это сделать просто в WHM >> Server Configuration >> Tweak Settings
Находим “Apache non-SSL IP/port” и меняем порт на “0.0.0.0:8081”
Потом в конфигурационном файле Varnish указываем что Аpache работает на порте 8081
Открываем /etc/varnish/default.vcl
находим блок
backend default { .host = "127.0.0.1"; .port = "80"; } |
и меняем его на
backend default { .host = "127.0.0.1"; .port = "8081"; .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; .max_connections = 800; } backend newbackend { .host = "192.168.0.1"; .port = "8081"; .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; .max_connections = 800; } sub vcl_deliver { if (obj.hits > 0) { set resp.http.X-Cache = "HIT"; } else { set resp.http.X-Cache = "MISS"; } } sub vcl_recv { if (server.ip == "192.168.0.1") { set req.backend = newbackend; } else { set req.backend = default; } } |
где 192.168.0.1 – ІР адрес Вашего сервера
Перезапускаем Varnish
/etc/init.d/varnish restart |
И проверяем или все правильно работает
netstat -nltp | grep 80 |
Результат должен быть приблизительно таковым
root@test [~]# netstat -nltp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 29043/varnishd tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 28772/httpd tcp 0 0 :::80 :::* LISTEN 29043/varnishd |
Все, установка закончена. Проверяем сайты 🙂