Skip to content

andreclimaco/buildout.plone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
andre.barbosa
Mar 10, 2021
b5d7109 · Mar 10, 2021

History

66 Commits
Sep 25, 2013
Aug 19, 2013
Aug 23, 2013
Mar 10, 2021
Aug 19, 2013
Aug 19, 2013
Aug 23, 2013
Aug 19, 2013

Repository files navigation

Buildout Plone

Introdução

A configuração proposta, a seguir, é destinada a aumentar o desempenho de um ambiente de produção para o Plone.

Para aumentar o desempenho, devemos atingir alguns objetivos:

  • O navegador web do usuário deverá armazenar a maior quantidade de informações em cache possível.
  • O servidor de cache (Varnish) deverá otimizar o armazenamento das informações do backend.
  • Automatizar a atualização do conteúdo em cache (Varnish).
  • Balanceamneto de carga entra as instâncias, para evitar sobrecarga.
  • Acesso diferenciado para usuários autenticados e anônimos.
  • Os serviços serão gerenciados(start|stop|restart) pelo Supervisor.

Arquitetura porposta

  • Nginx - servidor web frontend: interface de comunicação entre o usuário e o Plone.
  • Varnish - cache: recebe as solicitações do Nginx e decidi se elas serão servidas a partir do cache ou para ser processadas pelas ZEO-Clients/ZEO-Server.
  • HAProxy - load-balancer: distribui todos as solicitações que vêm do Varnish para cada ZEO-Client.
  • ZEO-Client 1-7/ZEO-Server: recebe as solicitações do HAProxy e processa as requisições utilizando o ZEO-Server.
  • Supervisor: monitora os serviços definidos nesta configuração.

Preparação do ambiente

Observação: Antes de tudo, instale os pacotes do sistema operacional necessários para o Plone. Instruções

Monte seu ambiente python utilizando o virtualenv com python 2.7.

Utilizando o pacote buildout.python é possível a montagem do ambiente necessário para a criação do virtualenv.

Ativando o virtualenv

$ source /path/to/env/bin/activate

ZEO-Server

Preparando as configurações antes de rodar o buildout:

$ cd /path/to/zeo
$ vim settings.cfg

No arquivo, alterar as variáveis:

[blobstorage]
directory = /path/to/blobstorage

[tmp]
directory = /path/to/tmpPortal

Executar o buildout:

$ cd /path/to/zeo
$ python bootstrap.py
$ bin/buildout -v

ZEO-Clients - Instances

Preparando as configurações antes de rodar o buildout:

$ cd /path/to/app
$ vim settings.cfg

No arquivo, alterar as variáveis:

[users]
effective-user = user/local/machine

[blobstorage]
directory = /path/to/blobstorage

[tmp]
directory = /path/to/tmpPortal

Executar o buildout:

$ cd /path/to/app
$ python bootstrap.py
$ bin/buildout -v

Frontend

Preparando as configurações antes de rodar o buildout:

$ cd /path/to/frontend
$ vim settings.cfg

No arquivo, alterar as variáveis:

[users]
os = user/local/machine

[hostname]
portal = hostname/machine/instance

[varnish-purge-hosts]
hosts =
"hostname/machine/instance";

Executar o buildout:

$ cd /path/to/frontend
$ python bootstrap.py
$ bin/buildout -v

Iniciando os serviços

ZEO-Server

$ cd /path/to/zeo
$ ./bin/supervisord
$ ./bin/supervisorctl status

ZEO-Clients

$ cd /path/to/app
$ ./bin/supervisord
$ ./bin/supervisorctl status

Frontend

$ cd /path/to/frontend
$ ./bin/supervisord
$ ./bin/supervisorctl status

HowTo - Setting Plone infrastructure using buildout

HowTo - Setting Plone infrastructure using buildout

Powered:

Sponsored by

Referências: