Varnish and Drupal.

  • 2,978 views
Uploaded on

* Что такое Varnish? …

* Что такое Varnish?
* Установка и настройка (пошаговая инструкция).
* Куча полезных ссылок.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,978
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Varnish and Drupal
  • 2. Speaker: Vlad Savitsky Working at Skype: vlad_savitsky ICQ: 205535814 vlad.savitsky@gmail.com +38096 530 27 12
  • 3. План● Что такое Varnish?● Установка и настройка
  • 4. Varnish – этореверс-прокси
  • 5. Varnish – этореверс-прокси
  • 6. Установка и настройка
  • 7. Поставить Varnish● Varnish не входит в CentOS: ● 64bit: – rpm -Uvh http://download.fedora.redhat.com/pub/epel/5Server/x86_64/epel-release- 5-4.noarch.rpm ● 32bit: – rpm -Uvh http://download.fedora.redhat.com/pub/epel/5Server/i386/epel- release-5-4.noarch.rpm● yum -y install varnish● chkconfig varnish on; chkconfig varnish --list; service varnish start
  • 8. Меняем порты в Apache● nano /etc/httpd/conf/httpd.conf ● Search for: Listen ● Заменить: Listen 80 ● На: Listen 8080● nano /etc/varnish/default.vcl ● Найти :backend default ● Заменить: .port = "80" ● На: .port = "8080"● service varnish restart; service httpd restart●
  • 9. Меняем порт с 6081 на 80 в Varnish● nano /etc/sysconfig/varnish ● DAEMON_OPTS="-a :80 ● -T localhost:6082 ● -f /etc/varnish/default.vcl ● -u varnish -g varnish ● -s file,/var/lib/varnish/varnish_storage.bin,1G"
  • 10. Проверка● Открыть браузер и обновить страницу для проверки - сайт должен нормально показываться.● Открыть Firebug● Вкладка Net - ответ сервера. Должен быть параметр X-Varnish (это timestamp. 1я цифра - это текущ ее время, а вторая - время создания кешированной версии страницы)● Cache-Control: public, max-age=180
  • 11. Настройка Drupal● Открыть страницу "Производительность"● Выбрать "External", потому что мы используем Varnish. ● Друпал не будет использовать внутренний кеш и не будет некоторых заголовков в HTTP ответе.● Page cache maximum age: 10 min● Logout
  • 12. Проверка● Несколько раз перезагрузить страницу● Открыть Firebug (chrome://net-internals)● Посмотреть заголовки (время жизни кеша (Cache-Control) и отсутствие друпал- параметра.● Cache-Control: public, max-age=600
  • 13. Передача IP в Apache (1)● nano /etc/varnish/default.vcl● Add ● sub vcl_recv { # Add a unique header containing the client address ● remove req.http.X-Forwarded-For; ● set req.http.X-Forwarded-For = client.ip; ● }
  • 14. Передача IP в Apache (2)● nano /etc/httpd/conf/httpd.conf● Add ● LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b" varnishcommon ● LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" varnishcombined
  • 15. Передача IP в Apache (3)● nano /etc/httpd/conf.d/site.conf● Add ● CustomLog /var/log/httpd/access_log varnishcommon ● CustomLog logs/ssl_request_log ● "%t %{X-Forwarded-For}i %{SSL_PROTOCOL}x % {SSL_CIPHER}x "%r" %b"
  • 16. Передача IP в Drupal● nano sites/default/settings.php ● Search for reverse_proxy ● Add at the end of file: – $conf[reverse_proxy] = TRUE; – $conf[reverse_proxy_addresses] = array(127.0.0.1);● 127.0.0.1 - если прокси работает на том же сервере, если на другом - будет другой IP.
  • 17. Проверка● Проверить правильность настройки можно в логах друпала - там указывается IP с которого был сделан запрос. Тип: user● Нужно перелогиниться и проверить снова.
  • 18. varnishstat● http://kly.no/posts/2009_12_08__Varnishstat_fo r_dummies__.html
  • 19. Почитать: Varnish● https://www.varnish-cache.org/● Varnish Book https://www.varnish-software.com/static/book/● http://pressflow.org/● http://drupal.org/project/varnish●
  • 20. Почитать: Установка● http://habrahabr.ru/post/68301/● http://plone.lucidsolutions.co.nz/web/reversepro xyandcache/installing-varnish-web-cache-on-a- centos-5-vm● http://blog.quilitz.de/2010/02/varnish-on-centos/● http://janaksingh.com/blog/install-pressflow- drupal-varnish-apc-and-apache-centos-55-13
  • 21. Почитать: Мониторинг● http://www.varnish- cache.org/docs/2.1/tutorial/statistics.html● Varnishstat ● http://kly.no/posts/2009_12_08__Varnishstat_for_dummie s__.html● varnishlog● http://www.varnish-cache.org/trac/ticket/85● http://kristianlyng.wordpress.com/2009/12/08/varnish stat-for-dummies/
  • 22. Почитать: Оптимизация● http://kristianlyng.wordpress.com/2010/01/26/va rnish-best-practices/● http://cluster.planetlarg.com/add-customer- services/prepare-varnish/measure-varnish- speed-ab● http://kristianlyng.wordpress.com/2009/05/25/co mmon-varnish-issues/
  • 23. Почитать: Ошибки Varinsh● http://serverfault.com/questions/146605/underst anding-this-error-apr-socket-recv-connection- reset-by-peer-104
  • 24. Questions to speaker Vlad Savitsky http://shvetsgroup.com Skype: vlad_savitsky vlad.savitsky@gmail.com +38 096 530 27 12