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à.
Ricette di configurazione
Importante
Il AWS OpsWorks Stacks il 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 AWS Support Squadra su AWS Re:post o tramite
Le ricette di configurazione sono assegnate all'evento del ciclo di vita Configure del livello, che si verifica su tutte le istanze dello stack ogni volta che un'istanza entra o esce dallo stato online. Puoi utilizzare le ricette di configurazione per regolare la configurazione di un'istanza in modo da rispondere alla modifica in maniera appropriata. Quando implementi una ricetta Configure, tieni presente che la modifica della configurazione di uno stack potrebbe coinvolgere istanze che non hanno nulla a che fare con questo livello. La ricetta deve essere in grado di rispondere in modo appropriato, che in alcuni casi potrebbe significare non fare nulla.
tomcat::configure
La ricetta tomcat::configure
è destinata a un evento del ciclo di vita Configure del livello.
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'
La ricetta tomcat::configure
è fondamentalmente un meta-ricetta che esegue due ricette dipendenti.
-
La ricetta
tomcat::context
crea un file di configurazione del contesto dell'app Web.Questo file configura le JDBC risorse utilizzate dalle applicazioni per comunicare con l'SQListanza My, come illustrato nella sezione successiva. Eseguire questa ricetta in risposta a un evento di configurazione consente al livello di aggiornare il file di configurazione del contesto dell'app Web se il livello del database è stato modificato.
-
La ricetta Setup
tomcat::container_config
viene eseguita nuovamente per acquisire eventuali modifiche apportate alla configurazione del container.
In questo esempio viene commentato include
per tomcat::container_config
. Se desideri utilizzare custom per JSON modificare le impostazioni di Tomcat, puoi rimuovere il commento. Un evento del ciclo di vita Configure esegue quindi tomcat::container_config
, che aggiorna i file di configurazione correlati a Tomcat, come descritto in tomcat::container_config e riavvia il servizio Tomcat.
tomcat::context
Il ricettario Tomcat consente alle applicazioni di accedere a un server di SQL database My, che può essere eseguito su un'istanza separata, utilizzando un oggetto J2EE. DataSource
Lo scopo primario della ricetta tomcat::context
è creare questo file di configurazione.
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
Oltre agli attributi del libro di cucina Tomcat, questa ricetta utilizza gli attributi di configurazione e distribuzione dello stack che AWS OpsWorks Stacks si installa con l'evento Configure. Il AWS OpsWorks Il servizio Stacks aggiunge attributi all'oggetto nodo di ogni istanza che contengono le informazioni che le ricette normalmente otterrebbero utilizzando i data bag o la ricerca e installa gli attributi su ogni istanza. Gli attributi contengono informazioni dettagliate sulla configurazione dello stack, sulle app distribuite e sui dati personalizzati che un utente desidera includere. Le ricette possono ottenere dati da attributi di configurazione e di distribuzione dello stack utilizzando una sintassi del nodo Chef standard. Per ulteriori informazioni, consulta Attributi di configurazione e distribuzione dello stack. Con gli stack Chef 11.10, puoi usare la ricerca Chef per ottenere i dati di configurazione e distribuzione dello stack. Per ulteriori informazioni, consulta Utilizzo della ricerca di Chef.
deploy
attributes si riferisce allo spazio dei [:deploy]
nomi, che contiene gli attributi relativi alla distribuzione definiti tramite la console o generati dal API AWS OpsWorks Servizio Stacks. L'attributo deploy
include un attributo per ogni app distribuita, denominata con il nome breve dell'app. Ogni attributo di app contiene un set di attributi che caratterizzano l'app, ad esempio la radice del documento ([:deploy][:
).appname
][:document_root]
La ricetta context
innanzitutto assicura che il servizio viene definito per questa esecuzione Chef chiamando tomcat::service. Quindi definisce una variabile context_name
che rappresenta il nome del file di configurazione, esclusa l'estensione .xml
. Se utilizzi la radice del documento predefinita, context_name
viene impostato sul nome breve dell'app. In alternativa, viene impostato sulla radice del documento specificato. L'esempio discusso in precedenza Creare uno stack ed eseguire un'applicazione imposta la radice del documento su"ROOT"
, quindi il contesto è ROOT e il file di configurazione è denominatoROOT.xml
.
Il blocco principale della ricetta scorre l'elenco delle app distribuite e, per ogni app, usa il modello webapp_context.xml.erb
per creare un file di configurazione del contesto. L'esempio distribuisce solo un'app, ma la definizione dell'attributo deploy
richiede di trattarla come un elenco di applicazioni.
Il modello webapp_context.xml.erb
non è specifico del sistema operativo, pertanto si trova nella sottodirectory templates
della directory default
.
La ricetta crea il file di configurazione come segue:
-
Grazie a valori di attributo predefiniti, il nome del file di configurazione viene impostato su
e installato nella directorycontext_name
.xml/etc/tomcat6/Catalina/localhost/
.Il
['datasources']
nodo degli attributi di configurazione dello stack contiene uno o più attributi, ognuno dei quali associa un nome di contesto alla risorsa di JDBC dati che l'applicazione associata utilizzerà per comunicare con il database. Il nodo e il suo contenuto vengono definiti in modo personalizzato JSON quando si crea lo stack, come descritto più avanti. Creare uno stack ed eseguire un'applicazione L'esempio ha un singolo attributo che associa il nome del ROOT contesto a una JDBC risorsa denominata jdbc/mydb. -
Mediante l'utilizzo di valori di attributo predefiniti, il gruppo e l'utente del file sono entrambi impostati sui valori definiti dal pacchetto Tomcat:
tomcat
(Amazon Linux) otomcat6
(Ubuntu). -
La risorsa
template
crea il file di configurazione solo se il nodo['datasources']
esiste e include un attributocontext_name
. -
La risorsa
template
definisce due variabili:resource_name
ewebapp_name
.resource_name
è impostato sul nome di risorsa associato acontext_name
mentrewebapp_name
è impostato sul nome breve dell'app. -
La risorsa modello riavvia il servizio Tomcat per caricare e attivare le modifiche.
Il modello webapp_context.xml.erb
è costituito da un elemento Context
che contiene un elemento Resource
con il relativo set di attributi.
Gli Resource
attributi caratterizzano la configurazione del contesto:
-
name: il nome della JDBC risorsa, impostato sul
resource_name
valore definito in.tomcat::context
Ad esempio, il nome della risorsa è impostato su jdbc/mydb.
-
auth e type: si tratta di impostazioni standard per le connessioni. JDBC
DataSource
-
maxActivemaxIdle, e maxWait—Il numero massimo di connessioni attive e inattive e il tempo di attesa massimo per la restituzione di una connessione.
-
nome utente e password: il nome utente e la password root del database, ottenuti dagli attributi.
deploy
-
driverClassName—Il nome della classe del JDBC driver, impostato su Il mio SQL driver.
-
url —La connessione. URL
Il prefisso dipende dal database. Dovrebbe essere impostato su
jdbc:mysql
for MySQL,jdbc:postgresql
for Postgres ejdbc:sqlserver
for Server. SQL L'esempio imposta su, URL dovejdbc:mysql://
host_IP_Address
:3306:simplejspsimplejsp
è il nome breve dell'app. -
factory: la
DataSource
fabbrica, necessaria per My SQL database.
Per ulteriori informazioni su questo file di configurazione, consulta l'argomento Utilizzo DataSources