我无法理解如何从另一个类重启服务。 我的结构是:
# cat init.pp
class nginxrtmp {
include nginxrtmp::nginxinstall
include nginxrtmp::nginxconfig
}
在nginxrtmp :: nginxinstall中我有服务nginx重启
# cat nginxinstall.pp
service {'nginx':
name => 'nginx.service',
ensure => 'running',
enable => 'true',
}
在nginxrtmp :: nginxconfig中我有* .erb模板和config
# cat nginxconfig.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
notify => nginxinstall::Service['nginx'],
}
我的问题是,如果我的模板文件改变,如何重新启动另一个类和文件* .pp中描述的服务nginx
答案 0 :(得分:0)
我刚刚找到答案。需要写
include nginxrtmp::nginxinstall
在带有配置
的课程中答案 1 :(得分:0)
您可以创建一个包含该服务的service.pp文件,然后将其更改为:
# init.pp
class nginxrtmp {
contain nginxrtmp::service
contain nginxrtmp::config
Class['::nginxrtmp::config']
~> Class['::nginxrtmp::service']
}
# service.pp
service { 'nginx':
name => 'nginx.service',
ensure => 'running',
enable => 'true',
}
# config.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
}
请参阅:https://docs.puppet.com/puppet/4.10/bgtm.html以及有关订购https://docs.puppet.com/puppet/4.10/bgtm.html#c-ordering
的此部分