Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Criar uma pilha e executar uma aplicação - AWS OpsWorks

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á.

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á.

Criar uma pilha e executar uma aplicação

Importante

O AWS OpsWorks Stacks 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 a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

Esta seção mostra como usar o livro de receitas do Tomcat para implementar uma configuração de pilha básica que execute uma aplicação JSP simples chamada SimpleJSP. A pilha consiste em uma camada personalizada baseada em Tomcat chamada e TomCustom uma camada MySQL. O SimpleJSP é implantado TomCustom e exibe algumas informações do banco de dados MySQL. Se você ainda não está familiarizado com o básico de como usar o AWS OpsWorks Stacks, leia primeiro. Conceitos básicos das pilhas Linux do Chef 11

A aplicação SimpleJSP

A aplicação SimpleJSP demonstra os conceitos básicos de como configurar uma conexão de banco de dados e recuperar dados do banco de dados MySQL da pilha.

<html> <head> <title>DB Access</title> </head> <body> <%@ page language="java" import="java.sql.*,javax.naming.*,javax.sql.*" %> <% StringBuffer output = new StringBuffer(); DataSource ds = null; Connection con = null; Statement stmt = null; ResultSet rs = null; try { Context initCtx = new InitialContext(); ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/mydb"); con = ds.getConnection(); output.append("Databases found:<br>"); stmt = con.createStatement(); rs = stmt.executeQuery("show databases"); while (rs.next()) { output.append(rs.getString(1)); output.append("<br>"); } } catch (Exception e) { output.append("Exception: "); output.append(e.getMessage()); output.append("<br>"); } finally { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } catch (Exception e) { output.append("Exception (during close of connection): "); output.append(e.getMessage()); output.append("<br>"); } } %> <%= output.toString() %> </body> </html>

SimpleJSP usa um objeto DataSource para se comunicar com o banco de dados MySQL. O Tomcat usa os dados no web app context configuration file para criar e inicializar um objeto DataSource e o associar a um nome lógico. Em seguida, ele registra o nome lógico usando um serviço de nomenclatura Java Naming and Directory Interface (JNDI). Para obter uma instância do objeto DataSource apropriado, você cria um objeto InitialContext e passa o nome lógico do recurso para o método lookup do objeto, que recupera o objeto apropriado. O nome lógico do exemplo SimpleJSP, java:comp/env/jdbc/mydb, tem os seguintes componentes:

  • O namespace raiz, java, separado do resto do nome por dois-pontos (:).

  • Eventuais namespaces adicionais, separados por barras (/).

    O Tomcat adiciona automaticamente os recursos ao namespace comp/env.

  • O nome do recurso, definido no arquivo de configuração do contexto da aplicação da web e separado dos namespaces por uma barra.

    O nome do recurso deste exemplo é jdbc/mydb.

Para estabelecer uma conexão com o banco de dados, SimpleJSP faz o seguinte:

  1. Chama o método DataSource do objeto getConnection, que retorna um objeto Connection.

  2. Chama o método Connection do objeto createStatement para criar um objeto Statement, que você usa para se comunicar com o banco de dados.

  3. Comunica-se com o banco de dados chamando o método Statement apropriado.

    SimpleJSP chama executeQuery para executar uma consulta SHOW DATABASES, que lista os bancos de dados do servidor.

O método executeQuery retorna um objeto ResultSet, que contém os resultados da consulta. SimpleJSP obtém os nomes do banco de dados do objeto ResultSet retornado e os concatena para criar uma string de saída. Por fim, o exemplo fecha os objetos ResultSet, Statement e Connection. Para obter mais informações sobre JSP e JDBC, consulte JavaServer Pages Technology e JDBC Basics, respectivamente.

Para usar SimpleJSP com uma pilha, você deve colocá-lo em um repositório. Você pode usar qualquer um dos repositórios compatíveis, mas para usar SimpleJSP com a pilha de exemplo abordada na seção a seguir, você deve colocá-lo em um arquivo S3 público. Para obter informações sobre como usar os outros repositórios padrão, consulte Repositórios de livro de receitas.

Para colocar SimpleJSP em um repositório de arquivo S3
  1. Copie o código de exemplo para um arquivo chamado simplejsp.jsp e coloque o arquivo em um diretório chamado simplejsp.

  2. Crie um arquivo .zip do diretório simplejsp.

  3. Crie um bucket do Amazon S3 público, faça upload de simplejsp.zip no bucket e torne o arquivo público.

    Para obter uma descrição de como realizar esta tarefa, consulte Começar a usar o Amazon Simple Storage Service.

Criar um stack

Para executar SimpleJSP você precisa de uma pilha com as camadas a seguir.

  • A camada do MySQL, que dá suporte ao servidor MySQL back-end.

  • Uma camada personalizada que usa o livro de receitas do Tomcat para dar suporte a instâncias do servidor Tomcat.

Para criar a pilha
  1. No painel de AWS OpsWorks pilhas, clique em Adicionar pilha para criar uma nova pilha e clique em Avançado >> para exibir todas as opções. Configure a pilha da maneira a seguir.

    • Nome — Um nome de pilha definido pelo usuário; este exemplo usa. TomStack

    • Usar livros de receitas do Chef personalizados: defina o botão seletor como Sim para exibir opções adicionais.

    • Tipo de repositório: Git.

    • URL do repositório: git://github.com/amazonwebservices/opsworks-example-cookbooks.git.

    • JSON do Chef personalizado: adicione o seguinte JSON:

      { "tomcat": { "base_version": 7, "java_opts": "-Djava.awt.headless=true -Xmx256m" }, "datasources": { "ROOT": "jdbc/mydb" } }

    Para as opções restantes, você pode aceitar os valores padrão.

    O JSON personalizado faz o seguinte:

    • Substitui o atributo ['base_version'] do livro de receitas do Tomcat para definir o Tomcat versão como 7; o valor padrão é 6.

    • Substitui o atributo ['java_opts'] do livro de receitas do Tomcat para especificar que a instância é descentralizada e definir o tamanho máximo do heap do JVM como 256 MB; o valor padrão não define opções para instâncias que executem o Amazon Linux.

    • Especifica o valor do atributo ['datasources], que atribui um nome de recurso JDBC (jdbc/mydb) ao nome de contexto da aplicação da web (ROOT), conforme abordado em tomcat::context.

      Este último atributo não tem valor padrão. Você deve defini-lo com JSON personalizado.

    Configuration Management interface showing Chef version options and custom JSON input field.
  2. Clique em Add a layer. Em Layer type, selecione MySQL. Em seguida, clique em Add Layer.

  3. No painel de navegação, clique em Instances e em Add an instance. Clique em Add Instance para aceitar os padrões. Na linha da instância, clique em start.

  4. Retorne à página Layers e clique em + Layer para adicionar uma camada. Para Layer type (Tipo de camada), clique em Custom (Personalizado). O exemplo usa TomCustom e tomcustom como o nome da camada e o nome abreviado, respectivamente.

    Add Layer form with Custom layer type, Name, and Short name fields for creating a customized layer.
  5. Na página Layers, para a camada personalizada, clique em Recipes e, em seguida, em Edit. Em Custom Chef Recipes, atribua as receitas do livro do Tomcat aos eventos do ciclo de vida da camada, da seguinte forma:

    • Para Setup (Instalar), digite tomcat::setup e clique em +.

    • Para Configure (Configurar), digite tomcat::configure e clique em +.

    • Para Deploy (Implantar), digite tomcat::deploy e clique em +. Em seguida, clique em Save.

      .

    Custom Chef Recipes interface showing setup, configure, and deploy steps with options.
  6. No painel de navegação, clique em Apps e em Add an app. Especifique as opções a seguir e clique em Add App:

    • Nome — O nome do aplicativo; o exemplo usa SimpleJSP e o nome curto gerado pelo AWS OpsWorks Stacks será simplejsp.

    • Tipo de aplicativo: defina essa opção como Outro.

      AWS OpsWorks O Stacks implanta automaticamente os tipos de aplicativos padrão nas instâncias do servidor associadas. Caso você defina App type (Tipo de aplicativo) como Other (Outro), o AWS OpsWorks Stacks simplesmente executará as receitas de implantação e permitirá que elas lidem com a implantação.

    • Raiz do documento: defina essa opção como ROOT.

      O valor Document root especifica o nome do contexto.

    • Tipo de repositório: defina essa opção como Arquivamento do S3.

    • URL do repositório: defina como o URL do Amazon S3 do aplicativo que você criou anteriormente.

    Use as configurações padrão para as outras opções.

    Application settings form with fields for name, app type, document root, and source details.
  7. Use a página Instâncias para adicionar uma instância à TomCustom camada e iniciá-la. AWS OpsWorks O Stacks executa automaticamente as receitas de implantação em uma nova instância após a conclusão das receitas de configuração. Portanto, iniciar a instância também implanta o SimpleJSP.

  8. Quando a TomCustom instância estiver on-line, clique no nome da instância na página Instâncias para ver seus detalhes. Copie o endereço IP público. Em seguida, construa uma URL da seguinte forma: http://publicIPappname.jsp/tc/. Para o exemplo, esse URL será semelhante a http://50.218.191.172/tc/simplejsp.jsp.

    nota

    O URL do Apache que encaminha solicitações para o Tomcat é definido como o atributo ['tomcat']['apache_tomcat_bind_path'] padrão, /tc/. A raiz do documento SimpleJSP é definida como ROOT, que é um valor especial resolvido como /. Por isso, o URL é ".../tc/simplejsp.jsp".

  9. Cole o URL da etapa anterior no navegador. Você deve ver o seguinte:

    Databases found: information_schema simplejsp test
    nota

    Se sua pilha tiver uma instância do MySQL AWS OpsWorks , o Stacks cria automaticamente um banco de dados para cada aplicativo, nomeado com o nome abreviado do aplicativo.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.