Varnish and Drupal.

3,471 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,471
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Varnish and Drupal.

  1. 1. Varnish and Drupal
  2. 2. Speaker: Vlad Savitsky Working at Skype: vlad_savitsky ICQ: 205535814 vlad.savitsky@gmail.com +38096 530 27 12
  3. 3. План● Что такое Varnish?● Установка и настройка
  4. 4. Varnish – этореверс-прокси
  5. 5. Varnish – этореверс-прокси
  6. 6. Установка и настройка
  7. 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. 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. 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. 10. Проверка● Открыть браузер и обновить страницу для проверки - сайт должен нормально показываться.● Открыть Firebug● Вкладка Net - ответ сервера. Должен быть параметр X-Varnish (это timestamp. 1я цифра - это текущ ее время, а вторая - время создания кешированной версии страницы)● Cache-Control: public, max-age=180
  11. 11. Настройка Drupal● Открыть страницу "Производительность"● Выбрать "External", потому что мы используем Varnish. ● Друпал не будет использовать внутренний кеш и не будет некоторых заголовков в HTTP ответе.● Page cache maximum age: 10 min● Logout
  12. 12. Проверка● Несколько раз перезагрузить страницу● Открыть Firebug (chrome://net-internals)● Посмотреть заголовки (время жизни кеша (Cache-Control) и отсутствие друпал- параметра.● Cache-Control: public, max-age=600
  13. 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. 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. 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. 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. 17. Проверка● Проверить правильность настройки можно в логах друпала - там указывается IP с которого был сделан запрос. Тип: user● Нужно перелогиниться и проверить снова.
  18. 18. varnishstat● http://kly.no/posts/2009_12_08__Varnishstat_fo r_dummies__.html
  19. 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. 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. 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. 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. 23. Почитать: Ошибки Varinsh● http://serverfault.com/questions/146605/underst anding-this-error-apr-socket-recv-connection- reset-by-peer-104
  24. 24. Questions to speaker Vlad Savitsky http://shvetsgroup.com Skype: vlad_savitsky vlad.savitsky@gmail.com +38 096 530 27 12

×