puppet自动化搭建lnmp架构

puppet自动化安装lnmp架构

3nginx的搭建

mkdir -p /etc/puppet/modules/nginx/{manifests,files}

vim /etc/puppet/modules/nginx/files/nginx-install.sh
  1 #!/bin/bash
  2 cd /mnt
  3 tar zxf nginx-1.8.0.tar.gz
  4 cd nginx-1.8.0ss
  5 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-    http_ssl_module &> /dev/null
  6 make &> /dev/null && make install &> /dev/null
  7 cd ..
  8 rm -fr nginx-1.8.0
# vim /etc/puppet/modules/nginx/manifests/init.pp
  1 class nginx {
  2         include nginx::install,nginx::config,nginx::service
  3 }
vim /etc/puppet/modules/nginx/manifests/init.pp
  1 class nginx {
  2         include nginx::install,nginx::config,nginx::service
  3 }
vim /etc/puppet/modules/nginx/manifests/init.pp
  1 class nginx {
  2         include nginx::install,nginx::config,nginx::service
  3 }
vim /etc/puppet/modules/nginx/manifests/install.pp
  1 class nginx::install {
  2         package {
  3                 ["gcc","pcre-devel","openssl-devel"]:
  4                 ensure => present
  5         }
  6         file {
  7                 "/mnt/nginx-1.8.0.tar.gz":
  8                 source => "puppet:///modules/nginx/nginx-1.8.0.tar.gz";
  9                 "/mnt/nginx-install.sh":
 10                 source => "puppet:///modules/nginx/nginx-install.sh",
 11                 mode => 755
 12         }
 13         exec {
 14                 "nginx install":
 15                 path => "/bin:/sbin:/usr/bin:/usr/sbin",
 16                 command => "/mnt/nginx-install.sh",
 17                 creates => "/usr/local/nginx",
 18                 provider => shell,
 19                 require => File["/mnt/nginx-install.sh"]
 20         }
 21 }
 vim /etc/puppet/modules/nginx/manifests/service.pp 
  1 class nginx::service {
  2         exec {
  3                 "nginx start":
  4                 command => "/usr/local/nginx/sbin/nginx",
  5                 creates => "/usr/local/nginx/logs/nginx.pid"
  6         }
  7         exec {
  8                 "nginx reload":
  9                 command => "/usr/local/nginx/sbin/nginx -s reload",
 10                 subscribe => File["/usr/local/nginx/conf/nginx.conf"],
 11                 refreshonly => true
 12         }
 13 }
posted @ 2016-07-21 19:32  夏日花开  阅读(153)  评论(0)    收藏  举报