2017-07-25 86 views
0

我無法理解如何從另一個類重新啓動服務。 我的結構是:puppet如何繼承類

# 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我有配置

# cat nginxconfig.pp 
    file { '/etc/nginx/nginx.conf': 
    * => $resAttributes, 
    content => template('nginxrtmp/redhat.nginx.conf.erb'), 
    notify => nginxinstall::Service['nginx'], 
    } 
* .erb模板

而我的問題是,如果我的模板文件發生更改,如何重新啓動服務nginx中描述的另一個類和文件* .pp

回答

0

我剛剛找到答案。需要寫

include nginxrtmp::nginxinstall 

類與配置

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