本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
在查看配方之前,先检查一下 Tomcat 说明书的属性文件 (该文件包含配方使用的各种配置设置) 是很有帮助的。属性不是必需的;您可以直接在您的配方或模板中对这些值进行硬编码。但是,如果您使用属性定义配置设置,则可以使用 AWS OpsWorks Stacks 控制台或 API 通过定义自定义 JSON 属性来修改值,这比每次要更改设置时都重写配方或模板代码更简单、更灵活。这种方法具有诸多好处,例如,允许您为多个堆栈使用相同的说明书,但对于每个堆栈,要为 Tomcat 服务器配置不同的值。有关属性以及如何覆盖属性的更多信息,请参阅覆盖属性。
以下示例显示了完整的属性文件 default.rb
,该文件位于 Tomcat 说明书的 attributes
目录中。
default['tomcat']['base_version'] = 6
default['tomcat']['port'] = 8080
default['tomcat']['secure_port'] = 8443
default['tomcat']['ajp_port'] = 8009
default['tomcat']['shutdown_port'] = 8005
default['tomcat']['uri_encoding'] = 'UTF-8'
default['tomcat']['unpack_wars'] = true
default['tomcat']['auto_deploy'] = true
case node[:platform]
when 'centos', 'redhat', 'fedora', 'amazon'
default['tomcat']['java_opts'] = ''
when 'debian', 'ubuntu'
default['tomcat']['java_opts'] = '-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC'
end
default['tomcat']['catalina_base_dir'] = "/etc/tomcat#{node['tomcat']['base_version']}"
default['tomcat']['webapps_base_dir'] = "/var/lib/tomcat#{node['tomcat']['base_version']}/webapps"
default['tomcat']['lib_dir'] = "/usr/share/tomcat#{node['tomcat']['base_version']}/lib"
default['tomcat']['java_dir'] = '/usr/share/java'
default['tomcat']['mysql_connector_jar'] = 'mysql-connector-java.jar'
default['tomcat']['apache_tomcat_bind_mod'] = 'proxy_http' # or: 'proxy_ajp'
default['tomcat']['apache_tomcat_bind_config'] = 'tomcat_bind.conf'
default['tomcat']['apache_tomcat_bind_path'] = '/tc/'
default['tomcat']['webapps_dir_entries_to_delete'] = %w(config log public tmp)
case node[:platform]
when 'centos', 'redhat', 'fedora', 'amazon'
default['tomcat']['user'] = 'tomcat'
default['tomcat']['group'] = 'tomcat'
default['tomcat']['system_env_dir'] = '/etc/sysconfig'
when 'debian', 'ubuntu'
default['tomcat']['user'] = "tomcat#{node['tomcat']['base_version']}"
default['tomcat']['group'] = "tomcat#{node['tomcat']['base_version']}"
default['tomcat']['system_env_dir'] = '/etc/default'
end
稍后将在相关部分中讨论这些设置本身。以下说明适用于一般情况:
-
所有节点定义都是
default
类型,因此,您可以使用自定义 JSON 属性覆盖这些定义。 -
该文件使用
case
语句按照条件并基于实例的操作系统设置一些属性值。platform
节点由 Chef 的 Ohai 工具生成,表示实例的操作系统。