INSTALAÇÃO VARNISH 3.0 UBUNTU C/ DRUPAL
Vejamos como instalar o Varnish 3.0 para agilizar o Drupal. Encontrei muita informação desnecessária que faz você viajar 40 anos no deserto pra achar a terra prometida, enquanto que, precisamos ir direto ao assunto sem muitos detalhes acadêmicos. Daí, resolví publicar o passo-a-passo juntando tudo o que interessa pra fazer o Varnish rodar com o Drupal sem muito estudo.
Os sites em Drupal são ótimos, mas pesados. O ideal é rodar o site em um provedor VPS para agilizar a reenderização; utilizar caches etc. Usar um servidor VPS com o Varnish já melhora 10x a velocidade do seu site feito em Drupal. No meu caso, a velocidade do carregamento do site caiu de 60´ para 6´. Ninguém gosta de sites lentos, então vamos lá.
Você precisa de acesso SSH (Secure Shell) a um servidor VPS. Eu tenho um na Dreamhost que roda na plataforma Ubuntu 12Lts.
Faça login no seu painel da Dreamhost. Então, você precisa criar um superusuário VPS > Admin Users > Add a new admin user
Faça login via SSH. Pode usar o Putty para utilizar as seguintes linhas de comando.
Siga esses passos para instalar o Varnish 3.0 no servidor Ubuntu via Secure Shell (SSH):
sudo su
apt-get install apt-transport-https
curl https://repo.varnish-cache.org/ubuntu/GPG-key.txt | apt-key add -
echo "deb https://repo.varnish-cache.org/ubuntu/ precise varnish-3.0" >> /etc/apt/sources.list.d/varnish-cache.list
apt-get update
apt-get install varnish
Se deu tudo certo, o Varnish já está rodando no seu servidor.
Pronto! Agora vá em admin/settings/varnish configurar o Varnish na página de administração do Drupal. Coloque esse código que você viu no arquivo /etc/varnish/secret no campo VARNISH CONTROL KEY. Salve e veja a mensagem " Varnish running.".
-------------------------------------------x-x--------------------------------------------------------
Você verá que o Drupal vai dizer que o Varnish está rodando normalmente. Entretanto, existem outras configurações que a fazer que não sei se são realmente necessárias e que podem deixar o seu servidor fora do ar por mal configuração. Isto porque existem várias plataformas (Ubuntu, Red hat, Debian, Ngix etc) e nelas várias configurações. Dificilmente se ensina o que temos que fazer, facilmente encontramos várias "receitas de bolo" que não servem para o nosso caso. Todavia, vou colocar aqui essas informações assim mesmo. Siga-as por sua própria conta e risco. No meu caso deu tudo errado e precisei solicitar o suporte técnica para restaurar a minha conta ao padrão original.
Veja em que porta o seu servidor está respondendo o protocolo HTTP. No caso o meu servidor VPS está na porta 80. Então, precisamos configurar o Varnish para escutar a porta certa editando o arquivo /etc/varnish/default.vcl
Abra o arquivo default.vcl com o editor VIM:
cd /etc/varnish
vim default.vcl
Encontre:
Depois salve o arquivo. Para isso, tecle Esc para entrar em modo de comando do VIM, então digite : (esse sinal de dois pontos indica que o que segue é um comando do VIM) e wq
O comando w quer dizer write (salvar) e o q (quit) abandonar. Isto é, salva e sai.
Caso você tenha bagunçado o arquivo e precise sair sem salvar, então tecle Esc :q!
Resumindo:
Agora você precisa configurar o módulo Varnish do Drupal com a chave secreta.
Vai precisar ler o conteúdo do arquivo "secret" que está na pasta "/etc/varnish". Execute a seguinte linha de comando shell:
vim /etc/varnish/secret
-------------------------------------------x-x--------------------------------------------------------
Você verá que o Drupal vai dizer que o Varnish está rodando normalmente. Entretanto, existem outras configurações que a fazer que não sei se são realmente necessárias e que podem deixar o seu servidor fora do ar por mal configuração. Isto porque existem várias plataformas (Ubuntu, Red hat, Debian, Ngix etc) e nelas várias configurações. Dificilmente se ensina o que temos que fazer, facilmente encontramos várias "receitas de bolo" que não servem para o nosso caso. Todavia, vou colocar aqui essas informações assim mesmo. Siga-as por sua própria conta e risco. No meu caso deu tudo errado e precisei solicitar o suporte técnica para restaurar a minha conta ao padrão original.
Veja em que porta o seu servidor está respondendo o protocolo HTTP. No caso o meu servidor VPS está na porta 80. Então, precisamos configurar o Varnish para escutar a porta certa editando o arquivo /etc/varnish/default.vcl
Abra o arquivo default.vcl com o editor VIM:
cd /etc/varnish
vim default.vcl
Encontre:
backend default {e deixe assim:
.host = "127.0.0.1";.port = "8080";}
## Redirect requests to Apache, running on port 8000 on localhost
backend apache {.host = "127.0.0.1";.port = "8000";}## Fetchsub vcl_fetch {## Remove the X-Forwarded-For header if it exists.remove req.http.X-Forwarded-For;## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.set req.http.X-Forwarded-For = req.http.rlnclientipaddr;
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver
if (req.url ~ "^/w00tw00t") {error 403 "Not permitted";}## Deliver the contentreturn(deliver);}
## Deliver
sub vcl_deliver {## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.## Since we're not caching (yet), why bother telling people we use it?remove resp.http.X-Varnish;remove resp.http.Via;remove resp.http.Age;## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.remove resp.http.X-Powered-By;}
Depois salve o arquivo. Para isso, tecle Esc para entrar em modo de comando do VIM, então digite : (esse sinal de dois pontos indica que o que segue é um comando do VIM) e wq
O comando w quer dizer write (salvar) e o q (quit) abandonar. Isto é, salva e sai.
Caso você tenha bagunçado o arquivo e precise sair sem salvar, então tecle Esc :q!
Resumindo:
- Salvar e sair do vim: Esc :wq
- Sair sem salvar do vim: Esc :q!
Instale o apache2
apt-get install libapache2-mod-rpaf
Deixe o Apache2 escutando a mesma porta do Varnish. Execute o comando:
vim /etc/apache2/ports.conf
Então você vai alterar as seguintes linhas assim:
NameVirtualHost *:80 Listen 80
Para:
NameVirtualHost *:8000 Listen 127.0.0.1:8000
NameVirtualHost *:8000 has no VirtualHosts. Para evitar esse erro, antes de reiniciar os serviços varnish e httpd2 você tem que mudar a configuração dos vhosts assim:
<VirtualHost *:80>
Para:
<VirtualHost *:8000>
Mas que bendito é vhosts? Bem, no meu caso fui achar arquivos com estas strings (palavras) no seguinte arquivo:
- /dh/apache2/apache2-psXXXXX/etc/httpd.conf
Onde "psXXXXX" é o nome do seu servidor VPS na Dreamhost.
Edite com o vim: vim /dh/apache2/apache2-psXXXXX/etc/httpd.conf
Edite com o vim: vim /dh/apache2/apache2-psXXXXX/etc/httpd.conf
Feitas as alterações agora sim você vai precisar reiniciar o Varnish e o Apache2. Execute a seguinte linha de comando:
sudo /etc/init.d/varnish restart
sudo /etc/init.d/httpd2 restart
Com o mouse copie e cole o código do arquivo "secret" no campo de configuração do Varnish do Drupal; Deixe o Varnish versão 3.0 e Ban-Lurker. Não precisa mexer em mais nada. Salve e veja que o Varnish está executando.
Caso você precise apagar o cache do Varnish (Varnish flush cache) você pode usar o comando:
varnishadm -T 127.0.0.1:6082 url.purge
Algumas fontes consultadas:
https://www.varnish-cache.org/installation/ubuntu
http://www.tecmint.com/install-varnish-cache-web-accelerator/
http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian
Nenhum comentário:
Postar um comentário