Linux

Centos Plesk Sunucuya Varnish Cache Kurulumu

sunucu linux kernel
Share

Merhabalar,
Makalemizde Varnish Cache Nedir, Varnish Kurulumu, Varnish Optimizasyonu, Varnish Ayarları, Plesk Konfigürasyonu konularına değineceğiz.

Varnish Cache Nedir ?

Varnish basitçe, yapılan istekleri, belli kurallar ile önbelleğe alıp, istemciye dönen, genelde web sunucuların önünde konumlandırılan servistir. İstekler Varnish’e geliyor, Varnish önbelleğinde varsa isteği buradan dönüyor, eğer yoksa “backend”den fetch ediyor.

İstekler Varnish’e gelir önbelleğinde varsa döner yoksa web sunucusuna gider önbelleğine alır ve buradan isteklere cevap vermeye devam eder. Aynı zamanda Load Balancer görevi de görür. Oldukça esnektir. vcl denilen, javascript syntax’ına yakın bir dil ile gerekli ayarlamaları yapılmaktadır.Facebook’un da kullandığı bir teknolojidir.

Centos Plesk Panel’e Varnish Cache Kurulumu

Öncelikle yapmamız gereken Apache portunu değiştirmek olacaktır.

mysql -uadmin -p$(cat /etc/psa/.psa.shadow) -D psa -e'replace into misc (param, val) values ("http_port", 8088);'
/usr/local/psa/admin/bin/httpdmng --reconfigure-all

Apache portunu örnekteki uygulamada 8088 olarak değiştirdik. Sizlerde kendinize göre bir port belirtebilirsiniz.

nano -w /etc/httpd/conf/httpd.conf

httpd.conf dosyası içerisinde bulunan listen 80 kısmını değiştirmiş olduğumuz port numarasını yazalım.

wget https://dl.fedoraproject.org/pub/epel/6/x86_64/jemalloc-3.6.0-1.el6.x86_64.rpm
rpm -ivv --force jemalloc-3.6.0-1.el6.x86_64.rpm

 

yum update -y
yum clean all -y
cat << EOF >> /etc/yum.repos.d/varnish.repo
[varnish]
name=Varnish for Enterprise Linux 6
baseurl=https://repo.varnish-cache.org/redhat/varnish-4.0/el6/
enabled=1
gpgkey=https://repo.varnish-cache.org/GPG-key.txt
gpgcheck=1
EOF
yum install -y varnish

Varnish Kontrolünü Gerçekleştirelim.

service varnish status
varnishd -V

Varnish Optimizasyonu ve Ayarları

nano -w /etc/sysconfig/varnish

 

## Alternative 3, Advanced configuration
#
# See varnishd(1) for more information.
#
# # Main configuration file. You probably want to change it :)
VARNISH_VCL_CONF=/etc/varnish/default.vcl
#
# # Default address and port to bind to
# # Blank address means all IPv4 and IPv6 interfaces, otherwise specify
# # a host name, an IPv4 dotted quad, or an IPv6 address in brackets.
# VARNISH_LISTEN_ADDRESS=
VARNISH_LISTEN_PORT=80
#
# # Telnet admin interface listen address and port
VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
VARNISH_ADMIN_LISTEN_PORT=6082
#
# # Shared secret file for admin interface
VARNISH_SECRET_FILE=/etc/varnish/secret
#
# # The minimum number of worker threads to start
VARNISH_MIN_THREADS=50
#
# # The Maximum number of worker threads to start
VARNISH_MAX_THREADS=1000
#
# # Idle timeout for worker threads
VARNISH_THREAD_TIMEOUT=120
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=256M
#
# # Backend storage specification
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"
#
# # Default TTL used when the backend does not specify one
VARNISH_TTL=120
#
# # DAEMON_OPTS is used by the init script.  If you add or remove options, make
# # sure you update this section, too.
DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \
             -f ${VARNISH_VCL_CONF} \
             -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
             -t ${VARNISH_TTL} \
             -p thread_pool_min=${VARNISH_MIN_THREADS} \
             -p thread_pool_max=${VARNISH_MAX_THREADS} \
             -p thread_pool_timeout=${VARNISH_THREAD_TIMEOUT} \
             -u varnish -g varnish \
             -S ${VARNISH_SECRET_FILE} \
             -s ${VARNISH_STORAGE}"

 

chkconfig --add varnish
chkconfig varnish on

Varnish Cache Komutları

varnishlog – Varnish Loglarını Listeler
varnishhist – Varnish İsteklerini Listeler
varnishstat – Varnish İstatistikleri
varnishtop – Varnish Log