기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
템플릿
중요
The AWS OpsWorks Stacks 서비스 수명이 2024년 5월 26일에 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 다음 연락처로 문의하십시오. AWS Support 팀 구성: AWS re:포스트 포스트
구성 파일을 변경하고 적절한 디렉터리에 배치하여 여러 패키지를 구성합니다. 쿡북에 구성 파일을 포함하고 적절한 디렉터리에 복사할 수 있습니다. 하지만 보다 유연한 접근 방법은 레시피가 템플릿에서 구성 파일을 생성하게 하는 것입니다. 템플릿의 장점 한 가지는 속성을 사용하여 템플릿의 값을 정의할 수 있다는 것입니다. 예를 들어, 사용자 JSON 정의를 사용하여 적절한 속성 값을 재정의함으로써 쿡북을 건드리지 않고도 구성 파일을 수정할 수 있습니다.
템플릿은 연결된 파일과 콘텐츠 및 구조가 기본적으로 동일합니다. 다음은 예제 파일 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> ...
다음 예제는 Ubuntu 인스턴스용으로 생성된 httpd.conf
파일입니다.
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> ...
템플릿의 텍스트는 대부분 템플릿에서 httpd.conf
파일로 간단히 복사됩니다. 하지만 <%= ... %>
콘텐츠는 다음과 같이 처리됩니다.
-
Chef가
<%= node[:attribute][:sub_attribute][:...]%>
를 속성 값으로 대체합니다.예를 들어
StartServers <%= node[:apache][:prefork][:startservers] %>
는httpd.conf
에서StartServers 16
이 됩니다. -
<%if-%>, <%else-%>, and <%end-%>
를 사용하여 조건부로 값을 선택할 수 있습니다.예제는
accept.lock
의 파일 경로를 플랫폼에 따라 다르게 설정합니다.
참고
Ruby 코드를 통합하는 방법을 포함해 템플릿에 대한 자세한 정보는 템플릿 정보