Ansible-playbook tomcat部署

#目录树结构如下:

[[email protected] roles]# tree tomcat
tomcat
├── defaults
├── files
│   └── apache-tomcat-7.0.63.zip
├── handlers
│   └── main.yml
├── meta
├── tasks
│   └── main.yml
├── templates
└── vars
    └── main.yml

#handlers这块并没有用上

# cat handlers/main.yml 
- name: stop tomcat 
  shell: "ps -ef |grep tomcat |grep -v grep |awk ‘{print $2}‘ |xargs kill -9"
- name: start tomcat 
  shell: chdir=/usr/local/tomcat/bin sh ./startup.sh

#启动tomcat这块我发现首次启动用startup.sh启动貌似不行,提示让用catalina.sh启动。

# cat tasks/main.yml 
- name: 将tomcat压缩包copy到远程主机 apache-tomcat-7.0.63.zip
  copy: src=apache-tomcat-{{ tomcat_version }}.zip dest=/data
- name: 解压tomcat压缩包apache-tomcat-7.0.63.zip
  shell: cd /data && unzip apache-tomcat-{{ tomcat_version }}.zip
- name: 将tomcat压缩包 重新命名为 tomcat
  file: src=/data/apache-tomcat-{{ tomcat_version }} dest=/data/tomcat state=link
- name: add /etc/profile
  shell: chdir=/data/tomcat/bin sed -i ‘1a source /etc/profile‘ startup.sh
- name: 首次启动tomcat
  shell: chdir=/data/tomcat/bin nohup ./catalina.sh start &
- name: remove apache-tomcat-7.0.63.zip
  file: path=/data/apache-tomcat-{{ tomcat_version }}.zip state=absent

# cat vars/main.yml

tomcat_version: 7.0.63

#roles可以加个jdk,和tomcat一块安装。

#cat tomcat.yml 
- hosts: test
  remote_user: root
  roles:
    - tomcat

#tomcat playbook运行过程如下:

# ansible-playbook tomcat.yml -l 192.168.121.129
PLAY [test] ********************************************************************
TASK [setup] *******************************************************************
ok: [192.168.121.129]
TASK [tomcat : 将tomcat压缩包copy到远程主机 apache-tomcat-7.0.63.zip] *******************
changed: [192.168.121.129]
TASK [tomcat : 解压tomcat压缩包apache-tomcat-7.0.63.zip] ****************************
changed: [192.168.121.129]
TASK [tomcat : 将tomcat压缩包 重新命名为 tomcat] ****************************************
changed: [192.168.121.129]
TASK [tomcat : add /etc/profile] ***********************************************
changed: [192.168.121.129]
 [WARNING]: Consider using template or lineinfile module rather than running sed
TASK [tomcat : 首次启动tomcat] *****************************************************
changed: [192.168.121.129]
TASK [tomcat : remove apache-tomcat-7.0.63.zip] ********************************
changed: [192.168.121.129]
PLAY RECAP *********************************************************************
192.168.121.129            : ok=7    changed=6    unreachable=0    failed=0

#可以看到目标机java的pid,表示tomcat已经启动成功。

[[email protected]_clent ~]# jps 
48781 Jps
26863 Bootstrap
时间: 2024-08-10 19:05:28

Ansible-playbook tomcat部署的相关文章

Jenkins+Ansible+Gitlab自动化部署三剑客

最近一直在学习Ansible的一些playbook的写法, 所以一直没有怎么更新, 想到目前大家对诸如saltstack, docker, Ansible等自动化部署相关的工具很感兴趣, 但又苦于没有可学习的中文实例, 这里我就把我这几个月所接触到目前国外比较流行的部署经验给大家分享一下. 首先给大家介绍的是Ansible, 恩, 重要的问题说三遍, 不是Saltstack, Ansible作为一个python写的自动化部署工具, 确实较之前我所接触的Chef, saltstack, puppe

Ansible playbook 批量修改服务器密码 先普通后root用户

fsckzy Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,root不能直接登录,需先登录普通用户,再切换到root. 首先在hosts 下面添加一个组[test],下面跟ip,每行一个. ansible基于ssh连接inventory中指定的远程主机时,将以此处的参数指定的属性进行: ansible_ssh_port 指定ssh 端口 ansible_ssh_u

ansible使用二(ansible playbook)

ansible playbook ansible playbooks 是使用ansible简单的配置管理部署系统的基础,使用YAML语法格式的配置文件.每一个playbook中包含一系列的任务.使用ansible playbook可以更方便的管理.维护多态主机. 1.yaml语法    yaml是”YAML Ain't a Markup Language”的缩写,即不是一种标记性语言,它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料

Ansible PlayBook语法(4)

title: Ansible PlayBook语法(4) date: 2018-12-02 10:53:24 tags: Ansible categories: Ansible copyright: true --- Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能,ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署

tomcat部署项目,部署地方和删除部署项目那几个文件

一tomcat 部署项目 1,部署项目是,把war包直接放到tomcat下webapps文件下 2,访问,项目名为war名 二删除部署项目 1,logs 下所有文件 2,temp所有文件 3,work下所有文件work\Catalina\localhost\ 4,conf,下Catalina文件 5.webapps下项目

Tomcat 部署 The APR based Apache Tomcat Native ...

Tomcat启动时提示org.apache.catalina.core.AprLifecycleListener- ApacheTomcatJavaJNIIE 网上针对此问题提供的文章很多,但多数和我遇到的情况有出入,所以我将其记录于此 最近开发中需要使用Tomcat,随意找来个较新的版本6.0.20就用.发现启动时提示: "2010-5-12 18:06:06 org.apache.catalina.core.AprLifecycleListener init 信息: The APR base

apache整合tomcat部署集群

近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是静态文件,由apache直接提供,如果是请求动态页面,则让apache分发到tomcat,由tomcat处理以后再响应给客户端. apache和tomcat的整合需要准备的一些软件列表: 图1 说明: 1.首先

运维自动化之ansible playbook一键化解决大量主机bash更新问题

今天发现有bash漏洞,但我这里近1000台服务器,为了方便.省时间,觉得使用ansible安装bash更新包,下面分享一下我的安装方法. 1.安装的playbook的内容 19:00:03 # cd /etc/ansible [email protected]:/etc/ansible 19:00:06 # cat update_bash.yml  --- - hosts: "{{ host }}"   remote_user: "{{ user }}"   ga

Eclipse Tomcat部署项目没有加载新加的静态资源文件

额,一直用MyEclipse,后来用Eclipse时,启动项目后去Tomcat webapps找对应文件夹,发现没有,才知道Eclipse 默认不往本地Tomcat部署. 1.eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录下的.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps中,tmp1文件夹里面存放着该项目的信息. 2.解决: 为了使项目默认部署到tomc

Tomcat部署Web应用方法总结

Tomcat部署Web应用方法总结在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署. 在下文中$CATALINA_HOME 指的是Tomcat根目录. 一.静态部署静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问. 以下3种方式都可以部署:(以maintain项目为例说明,maintain目录假设是F:/maintain) 1.利用Tomcat自动部署将maintain目录拷贝到$CATALINA_HOME/webap