As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Receitas de configuração
Importante
A ferramenta AWS OpsWorks Stacks o serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com o AWS Support Equipe em AWS Re:post
As receitas de configuração são atribuídas ao evento do ciclo de vida de configuração da camada, que ocorre em todas as instâncias da pilha sempre que uma instância entra ou sai do estado online. Você usa receitas de configuração a fim de ajustar a configuração de uma instância para responder à alteração, conforme apropriado. Ao implementar uma receita de configuração, lembre-se de que uma alteração feita na configuração da pilha pode envolver instâncias que não têm nada a ver com essa camada. A receita deve ser capaz de responder devidamente, o que pode significar não fazer nada em alguns casos.
tomcat::configure
A receita tomcat::configure
se destina a um evento do ciclo de vida de configuração da camada.
include_recipe 'tomcat::context' # Optional: Trigger a Tomcat restart in case of a configure event, if relevant # settings in custom JSON have changed (e.g. java_opts/JAVA_OPTS): #include_recipe 'tomcat::container_config'
A receita tomcat::configure
é basicamente uma metarreceita que executa duas receitas dependentes.
-
A receita
tomcat::context
cria um arquivo de configuração de contexto da aplicação da web.Esse arquivo configura os JDBC recursos que os aplicativos usam para se comunicar com a SQL instância My, conforme discutido na próxima seção. A execução dessa receita em resposta a um evento de configuração permite que a camada atualize o arquivo de configuração de contexto da aplicação da web caso a camada do banco de dados tenha sido alterada.
-
A receita de configuração
tomcat::container_config
é reexecutada para capturar eventuais alterações feitas na configuração do contêiner.
O include
de tomcat::container_config
é comentado neste exemplo. Se quiser usar o personalizado JSON para modificar as configurações do Tomcat, você pode remover o comentário. Um evento do ciclo de vida de configuração acaba executando tomcat::container_config
, que atualiza os arquivos de configuração relacionados ao Tomcat, conforme descrito em tomcat::container_config e reinicia o serviço Tomcat.
tomcat::context
O livro de receitas do Tomcat permite que os aplicativos acessem um servidor SQL de banco de dados My, que pode ser executado em uma instância separada, usando um objeto DataSourceJ2EE
A finalidade principal da receita tomcat::context
é criar esse arquivo de configuração.
include_recipe 'tomcat::service' node[:deploy].each do |application, deploy| context_name = deploy[:document_root].blank? ? application : deploy[:document_root] template "context file for #{application} (context name: #{context_name})" do path ::File.join(node['tomcat']['catalina_base_dir'], 'Catalina', 'localhost', "#{context_name}.xml") source 'webapp_context.xml.erb' owner node['tomcat']['user'] group node['tomcat']['group'] mode 0640 backup false only_if { node['datasources'][context_name] } variables(:resource_name => node['datasources'][context_name], :webapp_name => application) notifies :restart, resources(:service => 'tomcat') end end
Além dos atributos do livro de receitas do Tomcat, essa receita usa os atributos de configuração e implantação da pilha que AWS OpsWorks O Stacks é instalado com o evento Configure. A ferramenta AWS OpsWorks O serviço Stacks adiciona atributos ao objeto de nó de cada instância que contêm as informações que as receitas normalmente obteriam usando pacotes de dados ou pesquisas e instala os atributos em cada instância. Os atributos contêm informações detalhadas sobre a configuração da pilha, as aplicações implantadas e eventuais dados personalizados que um usuário deseja incluir. As receitas podem obter dados dos atributos de configuração e implantação da pilha usando a sintaxe de nó do Chef padrão. Para obter mais informações, consulte Configuração de pilha e atributos de implantação. Com as pilhas do Chef 11.10, você também pode usar o Chef para obter os dados configuração e implantação da pilha. Para obter mais informações, consulte Utilização da pesquisa do Chef.
deploy
attributes se refere ao [:deploy]
namespace, que contém atributos relacionados à implantação que são definidos por meio do console ou API gerados pelo AWS OpsWorks Serviço Stacks. O atributo deploy
inclui um atributo para cada aplicação implantada, com o nome abreviado da aplicação. Cada atributo da aplicação contém um conjunto de atributos que caracterizam a aplicação, como a raiz do documento ([:deploy][:
).appname
][:document_root]
A receita context
primeiro garante que o serviço seja definido para esta execução do Chef chamando tomcat::service. Em seguida, ele define uma variável context_name
que representa o nome do arquivo de configuração, excluindo a extensão .xml
. Caso você use a raiz do documento padrão, context_name
é definido como o nome abreviado da aplicação. Do contrário, ele é definido como a raiz do documento especificada. O exemplo discutido em Criar uma pilha e executar uma aplicação define a raiz do documento como"ROOT"
, portanto, o contexto é ROOT e o arquivo de configuração é nomeadoROOT.xml
.
A maior parte da receita passa pela lista de aplicações implantadas e, para cada aplicação, usa o modelo webapp_context.xml.erb
para criar um arquivo de configuração. O exemplo implanta apenas uma aplicação, mas a definição do atributo deploy
exige que você o trate como uma lista de aplicações independentemente disso.
O modelo webapp_context.xml.erb
não é específico para sistema operacional, por isso está localizado no subdiretório templates
, no diretório default
.
A receita cria o arquivo de configuração da seguinte forma:
-
Usando-se valores de atributo padrão, o nome do arquivo de configuração é definido como
e instalado no diretóriocontext_name
.xml/etc/tomcat6/Catalina/localhost/
.O
['datasources']
nó dos atributos de configuração da pilha contém um ou mais atributos, cada um dos quais mapeia um nome de contexto para o recurso de JDBC dados que o aplicativo associado usará para se comunicar com o banco de dados. O nó e seu conteúdo são definidos de forma personalizada JSON quando você cria a pilha, conforme descrito posteriormente emCriar uma pilha e executar uma aplicação. O exemplo tem um único atributo que associa o nome do ROOT contexto a um JDBC recurso chamado jdbc/mydb. -
Usando valores de atributo padrão, o usuário do arquivo e o grupo são definidos como os valores definidos pelo pacote do Tomcat:
tomcat
(Amazon Linux) outomcat6
(Ubuntu). -
O recurso
template
só cria o arquivo de configuração caso o nó['datasources']
exista e inclui um atributocontext_name
. -
O recurso
template
define duas variáveis,resource_name
ewebapp_name
.resource_name
é definido como o nome do recurso associado acontext_name
ewebapp_name
é definido como o nome abreviado da aplicação. -
O recurso do modelo reinicia o serviço Tomcat para carregar e ativar as alterações.
O modelo webapp_context.xml.erb
consiste em um elemento Context
que contém um elemento Resource
com o próprio conjunto de atributos.
Os atributos Resource
caracterizam a configuração do contexto:
-
name — O nome do JDBC recurso, que é definido com o
resource_name
valor definido emtomcat::context
.Por exemplo, o nome do recurso é definido como jdbc/mydb.
-
auth e type — Essas são as configurações padrão para JDBC
DataSource
conexões. -
maxActive, maxIdle, e maxWait— O número máximo de conexões ativas e ociosas e o tempo máximo de espera para que uma conexão seja retornada.
-
username e password: o nome de usuário e a senha raiz do banco de dados, obtidos junto aos atributos
deploy
. -
driverClassName—O nome da classe do JDBC driver, que é definido como Meu SQL driver.
-
url — A conexãoURL.
O prefixo depende do banco de dados. Ele deve ser definido como
jdbc:mysql
para MySQL,jdbc:postgresql
para Postgres ejdbc:sqlserver
para SQL Server. O exemplo define o URL parajdbc:mysql://
, ondehost_IP_Address
:3306:simplejspsimplejsp
é o nome curto do aplicativo. -
factory — A
DataSource
fábrica, que é necessária para Meus SQL bancos de dados.
Para obter mais informações sobre esse arquivo de configuração, consulte o DataSources tópico Usando