Konfigurasikan Resep - AWS OpsWorks

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

Konfigurasikan Resep

penting

Bagian AWS OpsWorks Stacks layanan 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 Support Tim di AWS Re: posting atau melalui AWS Dukungan Premium.

Konfigurasi resep ditetapkan ke peristiwa siklus hidup 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: :konfigurasikan

tomcat::configureResep 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::configureResepnya pada dasarnya adalah metarecipe yang menjalankan dua resep tergantung.

  1. tomcat::contextResep membuat file konfigurasi konteks aplikasi web.

    File ini mengkonfigurasi JDBC sumber daya yang digunakan aplikasi untuk berkomunikasi dengan SQL instance Saya, 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.

  2. 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 kustom JSON untuk mengubah pengaturan Tomcat, Anda dapat menghapus komentar. Peristiwa siklus hidup Konfigurasi kemudian berjalantomcat::container_config, yang memperbarui file konfigurasi terkait Tomcat, seperti yang dijelaskan dalam kucing jantan: :container_config dan memulai ulang layanan Tomcat.

kucing jantan: :konteks

Buku masak Tomcat memungkinkan aplikasi untuk mengakses server SQL database Saya, yang dapat berjalan pada instance terpisah, dengan menggunakan objek DataSourceJ2EE. 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 JDBC sumber daya yang akan digunakan aplikasi untuk berkomunikasi dengan database. Untuk informasi selengkapnya, lihat Context Container.

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 yang AWS OpsWorks Tumpukan menginstal dengan acara Konfigurasi. Bagian AWS OpsWorks Layanan 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. 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.

deployatribut mengacu pada [:deploy] namespace, yang berisi atribut terkait penerapan yang ditentukan melalui konsol atau, atau dihasilkan oleh API AWS OpsWorks Layanan tumpukan. deployAtribut 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]).

contextResep pertama memastikan bahwa layanan ditentukan untuk Chef ini dijalankan dengan meneleponkucing jantan: :layanan. 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 menetapkan root dokumen ke"ROOT", sehingga konteksnya ROOT dan file konfigurasi diberi namaROOT.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.

webapp_context.xml.erbTemplate 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 JDBC data yang akan digunakan aplikasi terkait untuk berkomunikasi dengan database. Node dan isinya didefinisikan dengan kustom JSON saat Anda membuat tumpukan, seperti yang dijelaskan nantiBuat Stack dan Jalankan Aplikasi. Contoh memiliki atribut tunggal yang mengaitkan nama ROOT konteks dengan JDBC sumber daya 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).

  • templateSumber daya membuat file konfigurasi hanya jika ['datasources'] node ada dan menyertakan context_name atribut.

  • Sumber template daya mendefinisikan dua variabel, resource_name danwebapp_name.

    resource_namedisetel 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.erbTemplate terdiri dari Context elemen yang berisi Resource elemen dengan set atributnya sendiri.

ResourceAtribut mencirikan konfigurasi konteks:

  • nama —Nama JDBC sumber daya, yang diatur ke resource_name nilai yang ditentukan dalamtomcat::context.

    Sebagai contoh, nama sumber daya diatur ke jdbc/mydb.

  • auth dan ketik —Ini adalah pengaturan standar untuk JDBC DataSource koneksi.

  • 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 JDBC pengemudi, yang diatur ke SQL driver Saya.

  • url —KoneksiURL.

    Awalan tergantung pada database. Itu harus diatur untuk MySQL, jdbc:mysql jdbc:postgresql untuk Postgres, dan jdbc:sqlserver untuk SQL Server. Contoh menetapkan URL kejdbc:mysql://host_IP_Address:3306:simplejsp, di mana simplejsp adalah nama pendek aplikasi.

  • pabrik DataSource —Pabrik, yang diperlukan untuk SQL database Saya.

Untuk informasi selengkapnya tentang file konfigurasi ini, lihat DataSources topik Menggunakan wiki Tomcat.