Template - AWS OpsWorks

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

Template

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 Support Tim di AWS re:Post atau melalui AWS Dukungan Premium.

Anda mengkonfigurasi banyak paket dengan membuat file konfigurasi dan menempatkannya di direktori yang sesuai. Anda dapat menyertakan file konfigurasi di buku masak Anda dan menyalinnya ke direktori yang sesuai, tetapi pendekatan yang lebih fleksibel adalah meminta resep Anda membuat file konfigurasi dari templat. Salah satu keuntungan dari template adalah Anda dapat menggunakan atribut untuk menentukan nilai template. Ini memungkinkan Anda, misalnya, untuk memodifikasi file konfigurasi tanpa menyentuh buku masak dengan menggunakan JSON khusus untuk mengganti nilai atribut yang sesuai.

Template pada dasarnya memiliki konten dan struktur yang sama dengan file terkait. Berikut adalah contoh file,httpd.conf.

ServerRoot "<%= node[:apache][:dir] %>" <% if node[:platform] == "debian" || node[:platform] == "ubuntu" -%> LockFile /var/lock/apache2/accept.lock <% else -%> LockFile logs/accept.lock <% end -%> PidFile <%= node[:apache][:pid_file] %> Timeout <%= node[:apache][:timeout] %> KeepAlive <%= node[:apache][:keepalive] %> MaxKeepAliveRequests <%= node[:apache][:keepaliverequests] %> KeepAliveTimeout <%= node[:apache][:keepalivetimeout] %> <IfModule mpm_prefork_module> StartServers <%= node[:apache][:prefork][:startservers] %> MinSpareServers <%= node[:apache][:prefork][:minspareservers] %> MaxSpareServers <%= node[:apache][:prefork][:maxspareservers] %> ServerLimit <%= node[:apache][:prefork][:serverlimit] %> MaxClients <%= node[:apache][:prefork][:maxclients] %> MaxRequestsPerChild <%= node[:apache][:prefork][:maxrequestsperchild] %> </IfModule> ...

Contoh berikut adalah httpd.conf file yang dihasilkan untuk instance Ubuntu:

ServerRoot "/etc/httpd" LockFile logs/accept.lock PidFile /var/run/httpd/httpd.pid Timeout 120 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 3 <IfModule mpm_prefork_module> StartServers 16 MinSpareServers 16 MaxSpareServers 32 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 10000 </IfModule> ...

Sebagian besar teks template hanya disalin dari template ke httpd.conf file. Namun, <%= ... %> konten ditangani sebagai berikut:

  • Chef menggantikan <%= node[:attribute][:sub_attribute][:...]%> dengan nilai atribut.

    Misalnya, StartServers <%= node[:apache][:prefork][:startservers] %> menjadi StartServers 16 dihttpd.conf.

  • Anda dapat menggunakan <%if-%>, <%else-%>, and <%end-%> untuk memilih nilai secara kondisional.

    Contoh menetapkan jalur file yang berbeda untuk accept.lock tergantung pada platform.

catatan

Anda tidak terbatas pada atribut dalam file atribut buku masak Anda. Anda dapat menggunakan atribut apapun dalam objek node instance ini. Misalnya, dihasilkan oleh alat Chef yang disebut Ohai dan juga dimasukkan ke dalam objek node. Untuk informasi lebih lanjut tentang atribut, lihatMengesampingkan Atribut.

Untuk informasi selengkapnya tentang template, termasuk cara menggabungkan kode Ruby, lihat Tentang Template.