

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

# Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata
<a name="gettingstarted-linux-explore-cookbook"></a>

**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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Questo argomento descrive il ricettario utilizzato da OpsWorks Stacks per la procedura dettagliata.

Un *libro di ricette* è un concetto Chef. I libri di ricette sono file di archivio contenenti informazioni di configurazione, ad esempio ricette, valori di attributi, file, modelli, librerie, definizioni e risorse personalizzate. Anche la *ricetta* è un concetto Chef. Le ricette sono istruzioni, scritte con la sintassi del linguaggio Ruby, che specificano le risorse da utilizzare e l'ordine in cui tali risorse vengono applicate. Per ulteriori informazioni, consulta l'argomento relativo all'[introduzione dei libri di ricette](https://docs.chef.io/cookbooks.html) e all'[introduzione delle ricette](https://docs.chef.io/recipes.html) nel sito Web [Learn Chef](https://learn.chef.io/).

Per visualizzare il contenuto del ricettario utilizzato in questa procedura dettagliata, estrai il contenuto del file [opsworks-linux-demo-cookbooks-nodejs.tar.gz](https://s3.amazonaws.com/opsworks-demo-assets/opsworks-linux-demo-cookbooks-nodejs.tar.gz) in una directory vuota sulla workstation locale. Puoi anche effettuare l'accesso all'istanza in cui hai distribuito il libro di ricette e quindi esplorare i contenuti della directory `/var/chef/cookbooks`.

Il file `default.rb` nella directory `cookbooks/nodejs_demo/recipes` è la posizione in cui il libro di ricette esegue il relativo codice: 

```
app = search(:aws_opsworks_app).first
app_path = "/srv/#{app['shortname']}"

package "git" do
  options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04"
end

application app_path do
  javascript "4"
  environment.update("PORT" => "80")

  git app_path do
    repository app["app_source"]["url"]
    revision app["app_source"]["revision"]
  end

  link "#{app_path}/server.js" do
    to "#{app_path}/index.js"
  end

  npm_install
  npm_start
end
```

Le operazioni eseguite dal file sono descritte di seguito:
+ `search(:aws_opsworks_app).first` utilizza la ricerca di Chef per cercare le informazioni relative all'app che verrà distribuita sull'istanza. Queste informazioni includono impostazioni quali il nome breve dell'app e i dettagli del relativo archivio di origine. Poiché in questa procedura guidata è stata distribuita solo un'app, la ricerca di Chef recupera queste informazioni dal primo elemento dell'indice di ricerca `aws_opsworks_app` sull'istanza. Ogni volta che viene avviata un'istanza, OpsWorks Stacks memorizza questa e altre informazioni correlate come un insieme di data bag sull'istanza stessa e il contenuto del data bag viene visualizzato tramite Chef search. Anche se è possibile eseguire l'hard coding di queste impostazioni in questa ricetta, l'utilizzo dei contenitori di dati e della ricerca di Chef rappresenta l'approccio più affidabile. Per ulteriori informazioni sui contenitori di dati, consulta [OpsWorks Riferimento a Stacks Data Bag](data-bags.md). Consulta anche l'argomento relativo all'[introduzione dei contenitori di dati](https://docs.chef.io/data_bags.html) nel sito Web [Learn Chef](https://learn.chef.io/). Per ulteriori informazioni sulla ricerca di Chef, consulta l'argomento relativo all'[introduzione della ricerca](https://docs.chef.io/chef_search.html) nel sito Web [Learn Chef](https://learn.chef.io/).
+ La risorsa `package` installa Git sull'istanza.
+ La risorsa `application` descrive e distribuisce le applicazioni Web:
  + `javascript`è la versione del JavaScript runtime da installare.
  + `environment` imposta una variabile di ambiente.
  + `git` recupera il codice sorgente dall'archivio e dal ramo specificati.
  + `app_path` è il percorso in cui clonare l'archivio. Se il percorso non esiste nell'istanza, OpsWorks Stacks lo crea.
  + `link` crea un collegamento simbolico.
  + `npm_install` installa Node Package Manager, il programma di gestione dei pacchetti predefinito per Node.js.
  + `npm_start` esegue Node.js.

Sebbene OpsWorks Stacks abbia creato il ricettario utilizzato per questa procedura dettagliata, puoi creare i tuoi libri di cucina. Per scoprire come, consulta [Nozioni di base: libri di ricette](gettingstarted-cookbooks.md). Consulta anche gli argomenti relativi all'[introduzione dei libri di ricette](https://docs.chef.io/cookbooks.html), all'[introduzione delle ricette](https://docs.chef.io/recipes.html) e alle [nozioni di base su Chef per Ubuntu](https://learn.chef.io/modules/learn-the-basics/ubuntu#/) nel sito Web [Learn Chef](https://learn.chef.io/), nonché la sezione relativa al primo libro di ricette di Chef nell'argomento relativo alle [fasi iniziali con Chef](http://gettingstartedwithchef.com/first-steps-with-chef.html) nel sito Web [Getting started with Chef](http://gettingstartedwithchef.com/).