利用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‘],

}

时间: 2024-12-22 16:37:03

利用Puppet全自动部署tomcat的相关文章

Puppet 部署tomcat

 Puppet 部署tomcat Tomcat运行需要java环境,所以需要同时安装tomcat和java, 相对应的puppet也需要编写两个模块 tomcat 和java(puppet一般以模块的形式来部署软件) 一.java模块 1.1创建模块目录结构    [[email protected] ~]# mkdir –vp /etc/puppet/modules/java7/{files,templates,manifests} files目录存放需要分发给客户端的文件 templates

puppet安装部署,实例JDK和tomcat

puppet 原理和工作流程 puppet 一个为实现数据中心自动化管理而设计的配置管理软件 基于C/S架构 原理:S服务端保存着所有的对客户端服务器的配置代码,puppet里叫清单(manifest):c客户端下载清单后,根据清单对服务器进行配置 工作流程:客户端调用facter facter探测出主机的一些变量,puppetd 把这些信息通过SSL连接发送到服务器puppetmaster 服务器puppetmaster 检测客户端的主机名,然后找到manifest里面对应主机的配置,对其解析

搭建Puppet自动化部署环境

最近项目上线,自己在部署过程中发现很多问题,发现没有自动化部署工具简直就是纯体力活儿,费时又费力,干的事就是那几个,就不能"一键完成么"的想法油然而生,答案是肯定的,自动化的工具有很多,之所以安装Puppet,只是因为比起别的软件,这款软件原来有学习过,现在又重新拾起来,要把它用到生产环境中,让运维工作不再是体力活,而是实现,全自动部署,更新,这篇只是聊聊安装和配置Puppet,后续还会写具体在生产环境中如何实现自动化代码更新,软件部署等,敬请期待~ 环境介绍: puppetserve

部署Tomcat服务器实现负载均衡

部署tomcat及负载均衡 简介: Tomcat最初是由Sun的软件架构师詹姆斯.邓肯.戴维森开发的,Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍应用,是开发和调试jsp程序的首选,Tomcat通常是作为一个Servlet和jsp容器,单独运行在后端.主要是作为使用java程序语言开发的网站部署的web服务器. 下面通过在虚拟机中搭建实验,来说明tomcat的使用并实现tomcat服务器的负载均衡 一.部署to

【VMware虚拟化解决方案】 基于Win2012 R2 WDS下ESXI全自动部署解决方案

一.项目需求: 近期因项目需要准备部署100台ESXI主机,可是存在一个问题,这100台主机分别位于不同城市之间,包括上海.广州.重庆.北京等,如果去到现场进行安装,非常的费力费时,根本不可能在一个星期内完成此项目需求,这将影响整个项目的进度安排.为此对客户的网络环境进行了分析,公司总部与其它分公司之前采用10M专线进行连接,这对我来说是一件很让我兴奋的消息,我们可以通过PXE实现ESXI的全自动安装,按照一台机大约25分钟的时候计算,并行进行5台机的部署,25*(100/5)=500分钟即可完

3-linux下部署tomcat应用

linux下部署tomcat应用 相关软件下载 jdk      http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html tomcat     http://tomcat.apache.org/ 解压jdk以及tomcat包 [r[email protected] soft]# tar -zxvf apache-tomcat-8.0.30.tar.gz [[email protecte

IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程

一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 2.2项目部署 在工具栏点击 Project: 无需任何设置,选择默认编译目录(或自定义编译目录) Modules: 将Tomcat加入 Libraries:无需任何设置.这里描述了此项目的依赖. Facets: 无需任何设置.这里描述了此项目所适配的服务框架 Artifacts: 无需任何配置.

十五、MDT 2013 Update 1批量部署-利用微软WDS部署服务实现MDT部署组播(多播)

MDT 2013 Update 1在客户端部署会占用不少带宽,利用微软的WDS部署服务,可以实现部署组播,在多个客户端部署时可以有效的节省网络带宽,同时提供多个客户端的部署速度. 一.WDS部署服务 其实只要默认值 查看多播传输,里面没配置多播传输 二.MDT 2013 UPDATE 1控制台下配置组播(多播) 修改对应的共享文件夹属性 选取 "Enable multicast for this deployment share",下面有说明需要WDS支持,不过为啥微软不标明也可以支持

在Mac OS X中部署Tomcat的经验

因为前几天重装了Mac的系统.准备接下来把一些必需的实验环境都搭建起来.这里简单总结一下在Mac OS X上部署Tomcat应该注意的事情: 下载Tomcat的相应版本号,如http://tomcat.apache.org/download-70.cgi里面的zip. 下载在希望部署的文件夹下解压.这里须要解决两个问题,一个是脚本的权限问题. 在终端中定位到tomcat文件夹下,输入 sudo chmod 755 ./bin/*.sh 另外一个是Java的环境变量问题.这个还略微有点复杂,能够參