

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan Resep
<a name="create-custom-configure"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Konfigurasi resep ditetapkan ke peristiwa [siklus hidup](workingcookbook-events.md) Konfigurasi lapisan, yang terjadi pada semua instance tumpukan setiap kali instance masuk atau keluar dari status online. Anda menggunakan Configure recipes untuk menyesuaikan konfigurasi instans untuk merespons perubahan, sebagaimana mestinya. Saat Anda menerapkan resep Konfigurasi, perlu diingat bahwa perubahan konfigurasi tumpukan mungkin melibatkan instance yang tidak ada hubungannya dengan lapisan ini. Resep harus dapat merespons dengan tepat, yang mungkin berarti tidak melakukan apa-apa dalam beberapa kasus.

## tomcat: :mengkonfigurasi
<a name="create-custom-configure-configure"></a>

`tomcat::configure`Resep ini ditujukan untuk acara siklus hidup Konfigurasi lapisan.

```
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'
```

`tomcat::configure`Resepnya pada dasarnya adalah metarecipe yang menjalankan dua resep tergantung.

1. `tomcat::context`Resep membuat file konfigurasi konteks aplikasi web.

   File ini mengkonfigurasi sumber daya JDBC yang digunakan aplikasi untuk berkomunikasi dengan instance MySQL, seperti yang dibahas di bagian berikutnya. Menjalankan resep ini sebagai respons terhadap peristiwa konfigurasi memungkinkan layer untuk memperbarui file konfigurasi konteks aplikasi web jika lapisan database telah berubah.

1. Resep `tomcat::container_config` Pengaturan dijalankan lagi untuk menangkap perubahan apa pun dalam konfigurasi kontainer.

The `include` for `tomcat::container_config` dikomentari untuk contoh ini. Jika Anda ingin menggunakan JSON khusus untuk memodifikasi pengaturan Tomcat, Anda dapat menghapus komentar. Peristiwa siklus hidup Konfigurasi kemudian berjalan`tomcat::container_config`, yang memperbarui file konfigurasi terkait Tomcat, seperti yang dijelaskan dalam [kucing jantan: :container\$1config](create-custom-setup.md#create-custom-setup-config) dan memulai ulang layanan Tomcat.

## kucing jantan: :konteks
<a name="create-custom-configure-context"></a>

[Cookbook Tomcat memungkinkan aplikasi untuk mengakses server database MySQL, yang dapat berjalan pada instance terpisah, dengan menggunakan objek J2EE. DataSource](http://docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html) Dengan Tomcat, Anda dapat mengaktifkan koneksi dengan membuat dan menginstal file konfigurasi konteks aplikasi web untuk setiap aplikasi. File ini mendefinisikan hubungan antara aplikasi dan sumber daya JDBC yang akan digunakan aplikasi untuk berkomunikasi dengan database. Untuk informasi selengkapnya, lihat [Context Container](http://tomcat.apache.org/tomcat-7.0-doc/config/context.html).

Tujuan utama `tomcat::context` resep adalah untuk membuat file konfigurasi ini.

```
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
```

Selain atribut buku masak Tomcat, resep ini menggunakan [konfigurasi tumpukan dan atribut penerapan](workingcookbook-json.md) yang diinstal OpsWorks Stacks dengan peristiwa Configure. Layanan OpsWorks Stacks menambahkan atribut ke objek node setiap instance yang berisi informasi yang biasanya diperoleh resep dengan menggunakan tas data atau mencari dan menginstal atribut pada setiap instance. Atribut berisi informasi terperinci tentang konfigurasi tumpukan, aplikasi yang diterapkan, dan data kustom apa pun yang ingin disertakan pengguna. Resep dapat memperoleh data dari konfigurasi tumpukan dan atribut penerapan dengan menggunakan sintaks simpul Chef standar. Untuk informasi selengkapnya, lihat [Konfigurasi Stack dan Atribut Deployment](workingcookbook-json.md). Dengan tumpukan Chef 11.10, Anda juga dapat menggunakan pencarian Chef untuk mendapatkan konfigurasi tumpukan dan data penyebaran. Untuk informasi selengkapnya, lihat [Menggunakan Pencarian Chef](workingcookbook-chef11-10.md#workingcookbook-chef11-10-search).

`deploy`atribut mengacu pada `[:deploy]` namespace, yang berisi atribut terkait penerapan yang ditentukan melalui konsol atau API, atau dihasilkan oleh layanan Stacks. OpsWorks `deploy`Atribut menyertakan atribut untuk setiap aplikasi yang di-deploy, dinamai dengan nama pendek aplikasi. Setiap atribut app berisi sekumpulan atribut yang menjadi ciri aplikasi, seperti root dokumen (`[:deploy][:appname][:document_root]`).

`context`Resep pertama memastikan bahwa layanan ditentukan untuk Chef ini dijalankan dengan menelepon[kucing jantan: :layanan](create-custom-setup.md#create-custom-setup-service). Kemudian mendefinisikan `context_name` variabel yang mewakili nama file konfigurasi, tidak termasuk ekstensi. `.xml` Jika Anda menggunakan root dokumen default, `context_name` disetel ke nama pendek aplikasi. Jika tidak, itu diatur ke root dokumen yang ditentukan. Contoh yang dibahas dalam [Buat Stack dan Jalankan Aplikasi](create-custom-stack.md) menetapkan root dokumen`"ROOT"`, sehingga konteksnya adalah ROOT dan file konfigurasi diberi nama`ROOT.xml`.

Sebagian besar resep melewati daftar aplikasi yang diterapkan dan untuk setiap aplikasi, menggunakan `webapp_context.xml.erb` template untuk membuat file konfigurasi konteks. Contoh ini hanya menggunakan satu aplikasi, tetapi definisi `deploy` atribut mengharuskan Anda untuk memperlakukannya sebagai daftar aplikasi apa pun.

`webapp_context.xml.erb`Template tidak spesifik sistem operasi, sehingga terletak di `templates` subdirektori direktori. `default`

Resep membuat file konfigurasi sebagai berikut:
+ Menggunakan nilai atribut default, nama file konfigurasi diatur ke `context_name.xml` dan diinstal di `/etc/tomcat6/Catalina/localhost/` direktori. 

  `['datasources']`Node dari atribut konfigurasi tumpukan berisi satu atau lebih atribut, yang masing-masing memetakan nama konteks ke sumber daya data JDBC yang akan digunakan aplikasi terkait untuk berkomunikasi dengan database. Node dan isinya didefinisikan dengan JSON kustom saat Anda membuat tumpukan, seperti yang dijelaskan nanti. [Buat Stack dan Jalankan Aplikasi](create-custom-stack.md) Contoh ini memiliki atribut tunggal yang mengaitkan nama konteks ROOT dengan sumber daya JDBC bernama jdbc/mydb.
+ Menggunakan nilai atribut default, pengguna dan grup file keduanya diatur ke nilai yang ditentukan oleh paket Tomcat: `tomcat` (Amazon Linux) atau `tomcat6` (Ubuntu).
+ `template`Sumber daya membuat file konfigurasi hanya jika `['datasources']` node ada dan menyertakan `context_name` atribut.
+ Sumber `template` daya mendefinisikan dua variabel, `resource_name` dan`webapp_name`.

  `resource_name`disetel ke nama sumber daya yang dikaitkan dengan `context_name` dan `webapp_name` disetel ke nama pendek aplikasi.
+ Sumber daya template memulai ulang layanan Tomcat untuk memuat dan mengaktifkan perubahan.

`webapp_context.xml.erb`Template terdiri dari `Context` elemen yang berisi `Resource` elemen dengan set atributnya sendiri.

`Resource`Atribut mencirikan konfigurasi konteks:
+ **nama —Nama** sumber daya JDBC, yang diatur ke `resource_name` nilai yang ditentukan dalam. `tomcat::context`

  Sebagai contoh, nama sumber daya diatur ke jdbc/mydb.
+ **auth** dan **ketik** —Ini adalah pengaturan standar untuk koneksi `DataSource` JDBC.
+ **MaxActive**, **MaxIdle**, dan **MaxWait** —Jumlah maksimum koneksi aktif dan idle, dan waktu tunggu maksimum untuk koneksi dikembalikan.
+ **nama pengguna**, dan **kata sandi** —Nama pengguna database dan kata sandi root, yang diperoleh dari `deploy` atribut.
+ **driverClassName**—Nama kelas driver JDBC, yang diatur ke driver MySQL.
+ **url —URL** koneksi.

  Awalan tergantung pada database. Ini harus diatur ke `jdbc:mysql` untuk MySQL, untuk Postgres`jdbc:postgresql`, `jdbc:sqlserver` dan untuk SQL Server. Contoh menyetel URL ke`jdbc:mysql://host_IP_Address:3306:simplejsp`, di *simplejsp* mana nama pendek aplikasi.
+ **pabrik** `DataSource` —Pabrik, yang diperlukan untuk database MySQL.

Untuk informasi selengkapnya tentang file konfigurasi ini, lihat DataSources topik [Menggunakan](http://wiki.apache.org/tomcat/UsingDataSources) wiki Tomcat.