首页 > 代码库 > 利用Puppet全自动部署tomcat

利用Puppet全自动部署tomcat

  上一篇聊了puppet的安装部署方法,如果你还没有安装puppet,请点击下方链接查看具体安装方法:

搭建Puppet自动化部署环境

  

这篇来看一下如何利用Puppet全自动部署tomcat,在Puppet中有很多资源,其中比较常用的包括:

package    通过程序安装软件

service    启动或停止服务

file      文件传输

exec      执行命令

由于tomcat用源码包安装的居多,所有下面主要用到file和exec资源

一.打开文件传输功能

1.vim /etc/puppet/fileserver.conf

    在最后添加

    [files]

    path /home/files    #文件放置路径

    allow *    #允许访问的主机名称

2.修改后重启puppet

service puppetmaster restart


二.多主机配置

1.通过site.pp中导入来使用其他位置上的配置文件

vim /etc/puppet/manifests/site.pp

    import web/*.pp    #web目录和site.pp在同级目录

    $service=‘ppserver.com‘    #定义变量为web目录里的配置文件引用

    $tomcatconf=‘/opt/apache-tomcat‘

2.修改web目录下的web.pp文件

vim /etc/puppet/manifests/web/web.pp

    node ‘node3.com‘{    #标识只给node3.com这台主机推送,不写默认所有主机

    file{‘tomcat‘:    #使用文件资源,名称随便起

            ensure=>present,    

          #文件如果存在就对比md5值,不同就进行传输,如果不存在直接传输

            source =>"puppet://$server/files/apache-tomcat.tar.gz",

          #指定文件在puppet服务器上的位置,如果引用变量,则必须使用双引号

            path=>‘/opt/apache-tomcat.tar.gz‘,

          #指定文件在客户端的位置,文件名必须要写

    }~>    

        #‘~>‘指示下一个资源和这个资源有依懒性,上一个资源执行成功时会通知下一个资源

            ==subscribe=>Exec[‘tar xvf‘]

        #还有‘->‘表示顺序性,只要上一个资源没有报错,就会执行下一个资源

            ==require=>Exec[‘tar xvf‘]

    exec{‘tar xvf‘:

            command=>"tar -xvf /opt/apache-tomcat.tar.gz -C /opt/",

          #在客户端解压tomcat安装包

            path=>"/usr/bin:/bin",

          #在解压时所需命令所在的位置

            refreshonly=>true,

          #当上一个资源成功执行时才执行本资源,配合subscribe=>Exec[‘tar xvf‘]一起使用

    }

    file{‘server.xml‘:    #替换配置文件

           ensure=>present,

          source =>"puppet://$server/files/server.xml",

           path=>‘/opt/apache-tomcat/conf/server.xml‘,

    }

    exec{‘startup‘:    #启动tomcat服务

            command=>‘startup.sh‘,

           #执行启动命令

            path=>"$tomcatconf/bin:/usr/bin:/bin:/sbin",

            refreshonly=>true,

            subscribe=>Exec[‘server.xml‘],

    }

本文出自 “linux运维技术” 博客,请务必保留此出处http://forall.blog.51cto.com/12356505/1913534

利用Puppet全自动部署tomcat