{"id":6636,"date":"2014-07-03T14:13:52","date_gmt":"2014-07-03T17:13:52","guid":{"rendered":"https:\/\/king.host\/blog\/?p=6636"},"modified":"2024-06-04T09:03:15","modified_gmt":"2024-06-04T12:03:15","slug":"configurando-o-varnish-cache-para-horizontalizacao-de-aplicacoes-em-wordpress","status":"publish","type":"post","link":"https:\/\/king.host\/blog\/tutoriais\/configurando-o-varnish-cache-para-horizontalizacao-de-aplicacoes-em-wordpress\/","title":{"rendered":"Configurando o Varnish Cache para horizontaliza\u00e7\u00e3o de aplica\u00e7\u00f5es em WP"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"https:\/\/king.host\/blog\/wp-content\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho.png\" rel=\"attachment wp-att-6645\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-6645 aligncenter\" alt=\"FEED KingHost iMasters julho\" src=\"https:\/\/king.host\/blog\/wp-content\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-300x300.png\" width=\"300\" height=\"300\" title=\"\" srcset=\"https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-300x300.png 300w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-150x150.png 150w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-400x400.png 400w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-177x177.png 177w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-380x380.png 380w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho.png 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Na \u00faltima postagem sobre horizontaliza\u00e7\u00e3o de WordPress, mostramos como voc\u00ea pode fazer isso utilizando Varnish Cache + Cloud Computing. Agora, voc\u00ea confere como realizar a configura\u00e7\u00e3o do Varnish Cache.<\/p>\n<p>O Varnish geralmente tem tr\u00eas pontos de configura\u00e7\u00e3o. O script de inicializa\u00e7\u00e3o, a configura\u00e7\u00e3o de todo o sistema, e o arquivo VCL que faz a maior parte do trabalho.<\/p>\n<p>O primeiro script que inicia-se normalmente \u00e9 localizado com o resto de seus scripts de inicializa\u00e7\u00e3o do sistema em \/etc\/init.d\/varnish. Este arquivo raramente precisa de ajustes, mas pode ser interessante para ler ou ajudar a localizar configura\u00e7\u00e3o adicional (uma vez que o script de inicializa\u00e7\u00e3o \u00e9 respons\u00e1vel por chamar o pr\u00f3ximo arquivo).<\/p>\n<p>O segundo arquivo \u00e9 geralmente localizado em \/etc\/sysconfig\/varnish. Este arquivo define a configura\u00e7\u00e3o global para o Varnish, como qual porta ele deve ser executado e onde ele deve armazenar seu cache. Normalmente, ele cont\u00e9m 5 maneiras diferentes de escrever a mesma coisa. N\u00e3o importa qual op\u00e7\u00e3o voc\u00ea usar: s\u00f3 n\u00e3o se esque\u00e7a de mudar o seu backend de armazenamento. O padr\u00e3o \u00e9 geralmente &#8220;file&#8221;, que armazena informa\u00e7\u00f5es em cache no disco. Tenha absoluta certeza de mudar isso para &#8220;malloc&#8221;, que armazena informa\u00e7\u00f5es na mem\u00f3ria! Se voc\u00ea n\u00e3o tem mem\u00f3ria suficiente em para um cache (digamos alguns gigabytes), considere um upgrade de mem\u00f3ria.<\/p>\n<p><b>Configura\u00e7\u00e3o VCL <\/b><\/p>\n<p>O arquivo VCL \u00e9 o principal local para a configura\u00e7\u00e3o de Varnish. \u00c9 importante notar que o Varnish inclui um grande conjunto de padr\u00f5es que sempre s\u00e3o acrescentados automaticamente para as regras que voc\u00ea especificou. A menos que voc\u00ea for\u00e7ar um determinado comando como &#8220;pipe&#8221;, &#8220;pass&#8221;, ou &#8221; lookup\u2019&#8221;, os padr\u00f5es ser\u00e3o executados.<\/p>\n<p>O arquivo VCL \u00e9 normalmente configurado para lidar com o tr\u00e1fego HTTP e HTTPS, por isso \u00e9 preciso&nbsp; definir uma lista de servidores web pelo seu endere\u00e7o IP duas vezes; uma vez para a porta 80, que fornece p\u00e1ginas normais e novamente para a porta 443 para conex\u00f5es seguras.<\/p>\n<p>A \u00faltima parte da configura\u00e7\u00e3o acima faz parte da sub-rotina vcl_recv. \u00c9 o que define o conjunto de servidores ser\u00e1 utilizado com base na porta pela qual Varnish recebeu o tr\u00e1fego.<\/p>\n<p>O ideal \u00e9 certificar-se que cada servidor web est\u00e1 pronto para entregar o tr\u00e1fego. Uma forma de fazer isso \u00e9 usar um arquivo localizado diretamente na raiz do servidor web chamado &#8220;Status.php&#8221; Este arquivo faz estas verifica\u00e7\u00f5es.<\/p>\n<p>Se qualquer uma dessas verifica\u00e7\u00f5es falhar, o arquivo gera um erro 500 do servidor e o Varnish ter\u00e1 o servidor web de rota\u00e7\u00e3o. O arquivo Status.php tamb\u00e9m \u00e9 extremamente \u00fatil para tirar intencionalmente um servidor web de rota\u00e7\u00e3o. Basta mover o arquivo Status.php para uma nova localiza\u00e7\u00e3o (como o estado-temp.php) e Varnish ir\u00e1 remover automaticamente o servidor de rota\u00e7\u00e3o, enquanto o pr\u00f3prio servidor permanece acima de modo que possa ser atendido de forma independente dos outros servidores web. Este procedimento \u00e9 comum ao executar instala\u00e7\u00f5es ou atualiza\u00e7\u00f5es do novo software nos servidores web.<\/p>\n<p><i>*Artigo desenvolvido em colabora\u00e7\u00e3o com Alessandro Huber \u2013 Analista de Infraestrutura da KingHost.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p style=\"text-align: center;\"><a href=\"https:\/\/king.host\/blog\/wp-content\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho.png\" rel=\"attachment wp-att-6645\"><img decoding=\"async\" class=\"size-medium wp-image-6645 aligncenter\" alt=\"FEED KingHost iMasters julho\" src=\"https:\/\/king.host\/blog\/wp-content\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-300x300.png\" width=\"300\" height=\"300\" srcset=\"https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-300x300.png 300w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-150x150.png 150w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-400x400.png 400w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-177x177.png 177w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho-380x380.png 380w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2014\/07\/FEED-KingHost-iMasters-julho.png 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Na \u00faltima postagem sobre horizontaliza\u00e7\u00e3o de WordPress, mostramos como voc\u00ea pode fazer isso utilizando Varnish Cache + Cloud Computing. Agora, voc\u00ea confere como realizar a configura\u00e7\u00e3o do Varnish Cache.<\/p>\n","protected":false},"author":140,"featured_media":7031,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[156],"tags":[1375],"class_list":["post-6636","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriais","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/6636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/users\/140"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/comments?post=6636"}],"version-history":[{"count":2,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/6636\/revisions"}],"predecessor-version":[{"id":31104,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/6636\/revisions\/31104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media\/7031"}],"wp:attachment":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media?parent=6636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/categories?post=6636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/tags?post=6636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}