Wordpress kurulu sunucuyu hızlandirabilmek için Bazı arkadaşlarım Varnish-cache önerdiler.
Varnish kurulumu oldukça kolay.
sudo apt-get install varnish
Varnish ontamınlı olarak 6081 portunu dinliyor
Cache işleminin çalışması için Varnis in 80. portu dinlemesi gerekmektedir
bunun için /etc/default/varnish dosyasındaki "DAEMON_OPTS" direktifini değiştirmemiz gerekli.
nano /etc/default/varnish
DAEMON_OPTS="-a :6081
-T localhost:6082
-f /etc/varnish/default.vcl
-S /etc/varnish/secret
-s malloc,256m"
bu satırları bulup. Aşağıdaki şekilde düzenlemelisiniz.
DAEMON_OPTS="-a :80
-T localhost:6082
-f /etc/varnish/default.vcl
-S /etc/varnish/secret
-s malloc,256m"
Varnishi başlatmadan önce wwww sunucunuzun portunu 8080 olarak set etmeniz gerekmektedir.
Ben NginX kullandım bunun için.listen kısmını 80 olan değeri 8080 olarak değiştiriyoruz.
nano /etc/nginx/sites-enabled/default
server {
listen 8080 default_server;
...
...
Tabiki burada diğer bloglarda varnizh ile ilgli bahsedilmeyen bir detay var.
Varnish in yapılandırma dosyası her ne kadar /etc/default/varnish olsada.
Varnis startup dosyası başka bir yerde bulunuyor.
bunun için systemd yapılandırma dosyasını editlemek gerekiyor. Dosyanın içeriği bu şekildedir.
nano /etc/systemd/system/multi-user.target.wants/varnish.service
[Unit]
Description=Varnish HTTP accelerator
[Service]
Type=forking
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStartPre=/usr/sbin/varnishd -C -f /etc/varnish/default.vcl
ExecStart=/usr/sbin/varnishd -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
[Install]
WantedBy=multi-user.target
Düzenleyip aşağıdaki hale getirmeliyiz.
[Unit]
Description=Varnish HTTP accelerator
[Service]
Type=forking
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStartPre=/usr/sbin/varnishd -C -f /etc/varnish/default.vcl
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
[Install]
WantedBy=multi-user.target
Şimdi servisi systemd ile yeniden başlatalım. bu işlemi yapmazsak Varnish uyarı veriyor
root@truvacloud:~# service varnish restart
Warning: Unit file of varnish.service changed on disk, 'systemctl daemon-reload' recommended.
root@truvacloud:~# systemctl daemon-reload
root@truvacloud:~# service varnish restart
Şimdi Varnisi kontrol edelim çalışıyormu.
root@truvacloud:~# netstat -plutn | grep varnish
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23267/varnishd
tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 23266/varnishd
tcp6 0 0 :::80 :::* LISTEN 23267/varnishd
root@truvacloud:~#
varnish i takip etmek isterseniz konsoldan
varnishtop komutunu kullanabilirsiniz.
Umarım yararlı olur.
Kaynaklar:
1 - http://www.wearemobedia.com/blog/varnish-and-debian-8-jessie/
2 - http://sonsuzdongu.com/blog/varnish-ile-hizli-web
Yorum Gönder