Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creare uno stack ed eseguire un'applicazione
Importante
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su AWS re:post
Questa sezione mostra come utilizzare il ricettario Tomcat per implementare una configurazione di base dello stack che esegue una semplice applicazione Java server pages () JSP denominata Simple. JSP Lo stack è costituito da un livello personalizzato basato su Tomcat denominato e da un livello My. TomCustom SQL Simple JSP viene distribuito TomCustom e visualizza alcune informazioni dal database My. SQL Se non conosci già le nozioni di base su come usare AWS OpsWorks Stacks, dovresti prima leggere. Nozioni di base sugli stack Linux Chef 11
La semplice applicazione JSP
L'JSPapplicazione Simple illustra le basi su come configurare una connessione al database e recuperare i dati dal database My dello stack. SQL
<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>
JSPSimple utilizza un DataSource
oggetto per comunicare con il database My. SQL Tomcat usa i dati nel file di configurazione del contesto dell'app Web per creare e inizializzare un oggetto DataSource
e associarlo a un nome logico. Quindi registra il nome logico con un servizio di denominazione Java Naming and Directory Interface (JNDI). Per ottenere un'istanza dell'oggetto DataSource
appropriato, devi creare un oggetto InitialContext
e passare il nome logico della risorsa al metodo lookup
dell'oggetto, che recupera l'oggetto appropriato. Il nome logico dell'JSPesempio Simplejava:comp/env/jdbc/mydb
, ha i seguenti componenti:
-
Lo spazio dei nomi radice,
java
, che è separato dal resto del nome da due punti (:). -
Eventuali spazi dei nomi aggiuntivi, separati da barre (/).
Tomcat aggiunge automaticamente le risorse allo spazio dei nomi
comp/env
. -
Il nome della risorsa, definito nel file di configurazione del contesto dell'app Web e separato dagli spazi dei nomi per mezzo di una barra.
In questo esempio il nome della risorsa è
jdbc/mydb
.
Per stabilire una connessione al database, Simple JSP effettua le seguenti operazioni:
-
Chiama il metodo
DataSource
dell'oggettogetConnection
, che restituisce un oggettoConnection
. -
Chiama il metodo
Connection
dell'oggettocreateStatement
per creare un oggettoStatement
, che puoi utilizzare per comunicare con il database. -
Comunica con il database chiamando il metodo
Statement
appropriato.JSPChiamate semplici
executeQuery
per eseguire una SHOW DATABASES query, che elenca i database del server.
Il metodo executeQuery
restituisce un oggetto ResultSet
, che contiene i risultati delle query. Simple JSP ottiene i nomi dei database dall'ResultSet
oggetto restituito e li concatena per creare una stringa di output. Infine, l'esempio chiude gli oggetti ResultSet
, Statement
e Connection
. Per ulteriori informazioni su JSP eJDBC, consulta rispettivamente JavaServer Pages Technology
Per utilizzare JSP Simple con uno stack, devi metterlo in un repository. Puoi utilizzare uno qualsiasi dei repository supportati, ma per usare Simple JSP con lo stack di esempio discusso nella sezione seguente, devi metterlo in un archivio S3 pubblico. Per informazioni su come utilizzare gli altri repository standard, consulta Repository dei libri di ricette.
Per inserire Simple JSP in un archivio S3
-
Copiare il codice di esempio in un file denominato
simplejsp.jsp
e inserire il file in una directory denominatasimplejsp
. -
Creare un archivio
.zip
della directorysimplejsp
. -
Crea un bucket Amazon S3 pubblico, caricalo
simplejsp.zip
nel bucket e rendi pubblico il file.Per sapere come eseguire questa attività, consulta Nozioni di base su Amazon Simple Storage Service.
Creare uno stack
Per eseguire Simple è JSP necessario uno stack con i seguenti livelli.
-
Un SQL livello My, che supporta il backend My SQL server.
-
Un livello personalizzato che utilizza il libro di ricette Tomcat per supportare istanze server Tomcat.
Per creare lo stack
-
Nella dashboard AWS OpsWorks Stacks, fate clic su Aggiungi stack per creare un nuovo stack e fate clic su Avanzato >> per visualizzare tutte le opzioni. Configurare lo stack come segue.
-
Nome: un nome di stack definito dall'utente; in questo esempio viene utilizzato. TomStack
-
Usa libri di cucina personalizzati per Chef: imposta l'interruttore su Sì, che mostra alcune opzioni aggiuntive.
-
Tipo di repository —Git.
-
Archivio URL:.
git://github.com/amazonwebservices/opsworks-example-cookbooks.git
-
Custom Chef JSON: aggiungi quanto segue: JSON
{ "tomcat": { "base_version": 7, "java_opts": "-Djava.awt.headless=true -Xmx256m" }, "datasources": { "ROOT": "jdbc/mydb" } }
Per le opzioni rimanenti, puoi accettare le impostazioni predefinite.
La personalizzazione JSON esegue le seguenti operazioni:
-
Ignora l'attributo
['base_version']
del libro di ricette Tomcat per impostare la versione di Tomcat su 7. Il valore predefinito è 6. -
Sostituisce l'
['java_opts']
attributo del libro di cucina Tomcat per specificare che l'istanza è headless e imposta la dimensione JVM massima dell'heap su 256 MB; il valore predefinito non imposta alcuna opzione per le istanze che eseguono Amazon Linux. -
Speciifica il valore dell'
['datasources]
attributo, che assegna un nome di JDBC risorsa (jdbc/mydb) al nome del contesto dell'app Web (), come discusso in. ROOT tomcat::contextQuest'ultimo attributo non ha un valore predefinito; è necessario impostarlo con custom. JSON
-
-
Fare clic su Add a layer (Aggiungi un livello). Per Tipo di livello, seleziona My SQL. Quindi, fare clic su Add Layer (Aggiungi livello).
-
Fare clic su Instances (Istanze) nel riquadro di navigazione, quindi fare clic su Add an instance (Aggiungi un'istanza). Fare clic su Add Instance (Aggiungi istanza) per accettare le impostazioni predefinite. Sulla riga dell'istanza, fare clic su start (avvia).
-
Tornare alla pagina Layers (Livelli) e fare clic su + Layer (+ Livello) per aggiungere un livello. Per Layer type (Tipo di livello), fare clic su Custom (Personalizzato). L'esempio utilizza
TomCustom
etomcustom
, rispettivamente, come nome e nome abbreviato del livello. -
Nella pagina Layers (Livelli), per il livello personalizzato, fare clic su Recipes (Ricette), quindi fare clic su Edit (Modifica). In Custom Chef Recipes (Ricette Chef personalizzate), assegnare le ricette del libro di ricette Tomcat agli eventi del ciclo di vita del livello, nel modo seguente:
-
Per Setup (Installazione), digitare
tomcat::setup
e fare clic su +. -
Per Configure (Configurazione), digitare
tomcat::configure
e fare clic su +. -
Per Deploy (Distribuzione), digitare
tomcat::deploy
e fare clic su +. Quindi, fare clic su Save (Salva)..
-
-
Fare clic su Apps (App) nel riquadro di navigazione, quindi fare clic su Add an app (Aggiungi un'app). Specificare le seguenti opzioni e fare clic su Add App (Aggiungi app):
-
Nome: il nome dell'app; nell'esempio viene utilizzato Simple JSP e il nome breve generato da AWS OpsWorks Stacks sarà simplejsp.
-
Tipo di app: imposta questa opzione su Altro.
AWS OpsWorks Stacks distribuisce automaticamente i tipi di app standard nelle istanze del server associate. Se si imposta App type (Tipo di app) su un'opzione diversa, AWS OpsWorks Stacks esegue semplicemente le ricette di distribuzione e consente loro di gestire la distribuzione.
-
Document root: imposta questa opzione su.
ROOT
Il valore Document root (Radice documento) specifica il nome del contesto.
-
Tipo di repository: imposta questa opzione su S3 Archive.
-
Repository URL: impostalo sull'Amazon URL S3 dell'app che hai creato in precedenza.
Utilizzare le impostazioni predefinite per le altre opzioni.
-
-
Utilizza la pagina Istanze per aggiungere un'istanza al TomCustom layer e avviarla. AWS OpsWorks Stacks esegue automaticamente le ricette Deploy su una nuova istanza dopo il completamento delle ricette di installazione, quindi all'avvio dell'istanza viene distribuito anche Simple. JSP
-
Quando l' TomCustom istanza è online, fai clic sul nome dell'istanza nella pagina Istanze per visualizzarne i dettagli. Copiare l'indirizzo IP pubblico. Quindi costruisci a URL come segue: http://
publicIP
/tc/.appname.jsp
Ad esempio, questo URL avrà un aspetto simile.http://50.218.191.172/tc/simplejsp.jsp
Nota
L'URLApache che inoltra le richieste a Tomcat è impostato sull'attributo predefinito
['tomcat']['apache_tomcat_bind_path']
,./tc/
È impostata la radice JSP del documento SimpleROOT
, che è un valore speciale che viene risolto in./
URLÈ quindi «... /tc/simplejsp.jsp». -
Incolla il URL file del passaggio precedente nel tuo browser. Verrà visualizzato un codice analogo al seguente:
Databases found: information_schema simplejsp test
Nota
Se il tuo stack ha un'SQListanza My, AWS OpsWorks Stacks crea automaticamente un database per ogni app, denominato con il nome breve dell'app.