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 }