1. ansible-playbook安装tomcat
  1) 编写playbook的tomcat安装配置

 1 [root@test-1 bin]# vim /ansible/tomcat/bin/tomcat.yaml
2 [root@test-1 bin]# cat /ansible/tomcat/bin/tomcat.yaml
3 ---
4 - hosts: web1
5 remote_user: root
6 vars:
7 tomcat_version: 8.5.38
8 tomcat_install_dir: /opt/
9
10 tasks:
11 - name: Install jdk1.8
12 yum:
13 name: java-1.8.0-openjdk
14 state: present
15 - name: Download tomcat
16 get_url:
17 url: http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v{{tomcat_version}}/bin/apache-tomcat-{{tomcat_version}}.tar.gz
18 dest: /tmp
19 - name: Unarchive tomcat
20 unarchive:
21 src: /tmp/apache-tomcat-{{tomcat_version}}.tar.gz
22 dest: "{{tomcat_install_dir}}/"
23 copy: no
24 - name: Start tomcat
25 shell: cd {{tomcat_install_dir}} && mv apache-tomcat-{{tomcat_version}} tomcat8 && cd tomcat8/bin && nohup ./startup.sh &

2)配置文件检查

1 [root@test-1 bin]# ansible-playbook  --syntax-check tomcat.yaml
2
3 playbook: tomcat.yaml

3) 执行playbook的tomcat安装文件

 1 [root@test-1 bin]# ansible-playbook   tomcat.yaml
2
3 PLAY [web1] ******************************************************************************************************************************************************************************************************************************************************************
4
5 TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************************************************
6 ok: [192.168.200.132]
7 ok: [192.168.200.133]
8
9 TASK [Install jdk1.8] ********************************************************************************************************************************************************************************************************************************************************
10 changed: [192.168.200.132]
11 changed: [192.168.200.133]
12
13 TASK [Download tomcat] *******************************************************************************************************************************************************************************************************************************************************
14 ok: [192.168.200.133]
15 ok: [192.168.200.132]
16
17 TASK [Unarchive tomcat] ******************************************************************************************************************************************************************************************************************************************************
18 changed: [192.168.200.133]
19 changed: [192.168.200.132]
20
21 TASK [Start tomcat] **********************************************************************************************************************************************************************************************************************************************************
22 changed: [192.168.200.133]
23 changed: [192.168.200.132]
24
25 PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
26 192.168.200.132 : ok=5 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
27 192.168.200.133 : ok=5 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

2. 验证playbook的tomcat验证是否正常
  1)验证端口和进程是否存在

 1 [root@test-1 bin]# ansible web1 -m shell -a " ps -ef |grep java "
2 192.168.200.132 | CHANGED | rc=0 >>
3 root 24559 24558 0 19:18 ? 00:00:08 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start
4 root 25207 25202 0 19:53 pts/1 00:00:00 /bin/sh -c ps -ef |grep java
5 root 25209 25207 0 19:53 pts/1 00:00:00 grep java
6
7 192.168.200.133 | CHANGED | rc=0 >>
8 root 24457 24456 0 19:18 ? 00:00:08 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start
9 root 25103 25098 0 19:53 pts/1 00:00:00 /bin/sh -c ps -ef |grep java
10 root 25105 25103 0 19:53 pts/1 00:00:00 grep java
11
12 [root@test-1 bin]# ansible web1 -m shell -a " netstat -lntup |grep 8080"
13 192.168.200.132 | CHANGED | rc=0 >>
14 tcp6 0 0 :::8080 :::* LISTEN 24559/java
15
16 192.168.200.133 | CHANGED | rc=0 >>
17 tcp6 0 0 :::8080 :::* LISTEN 24457/java

2)curl 模拟浏览器请求是否正常访问

 1 [root@test-1 bin]# curl -I http://192.168.200.132:8080/
2 HTTP/1.1 200
3 Content-Type: text/html;charset=UTF-8
4 Transfer-Encoding: chunked
5 Date: Thu, 22 Aug 2019 11:55:39 GMT
6
7 [root@test-1 bin]# curl -I http://192.168.200.133:8080/
8 HTTP/1.1 200
9 Content-Type: text/html;charset=UTF-8
10 Transfer-Encoding: chunked
11 Date: Thu, 22 Aug 2019 11:55:44 GMT

ansible-playbook安装tomcat的更多相关文章

  1. ansible playbook 安装docker

    1.新增host配置到/etc/ansible/hosts文件中 [docker] 192.168.43.95 2.配置无密码登录 # 配置ssh,默认rsa加密,保存目录(公钥)~/.ssh/id_ ...

  2. Vagrant Ansible Playbook 安装一群虚拟机

    https://docs.ansible.com/ https://favoorr.github.io/2017/01/06/vagrant-virtualbox-vagrantfile-config ...

  3. ansible自动安装rabbitmq

    ansible playbook 安装rabbitmq单机版,以下脚本在CentOS6.7服务器测试通过. 需要配置本机的yum源,用于安装socat软件. rabbitmq版本和Erlang版本需要 ...

  4. ansible批量部署tomcat

    1.1 构建目录结构 此操作是安装nginx+mysql+tomcat+db的目录结构,可以参考一下,不错~ mkdir -p /ansible/roles/{nginx,mysql,tomcat,d ...

  5. ansible离线安装

    目录 1. ansible离线安装 2. ansible配置文件 3. ansible常用的命令: 1. ansible离线安装 最近要在内网部署一台ansible服务器,只能手动离线安装ansibl ...

  6. ansible笔记(10):初识ansible playbook

    ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...

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

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  8. 写Ansible playbook添加zabbix被监控的对象

    本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板. 1.准备工作 在zabbix服务器上面,我们需 ...

  9. 利用ansible来做tomcat应用的持续交付

    https://www.jianshu.com/p/fca8f91ae223 在做持续交付这件事,想必大家都是用jenkins这款程序来做基石.当然,我们这次也是用jenkins作为承载工具,jenk ...

随机推荐

  1. codewars贪吃蛇算法题目

    有这样一个题目: Given an n x n array, return the array elements arranged from outermost elements to the mid ...

  2. The relationship between Sonarcube coverage and code branch

    Once I was asked to enhance the sonarcube coverage of the class:‘jp.co.XXXXp.DltApiHttpRequestRetryH ...

  3. Spring IoC 到底是什么

    前言 「上一篇文章」我们对 Spring 有了初步的认识,而 Spring 全家桶中几乎所有组件都是依赖于 IoC 的. 刚开始听到 IoC,会觉得特别高大上,但其实掰开了很简单. 跟着我的脚步,一文 ...

  4. ThinkPHP6.0 模型搜索器的使用

    搜索器用于封装查询条件表达式,必须在模型中定义,只有使用模型操作数据时才能用搜索器.调用搜索器时使用的是数据表字段,可以不用定义搜索器方法,默认是 = 条件:如果不是数据表字段,必须定义对应的搜索器方 ...

  5. Python实现加密压缩成RAR或ZIP文件

    博主在前两篇博文分别介绍了加密RAR文件的解压https://www.cnblogs.com/kangbazi666/p/13646308.html和加密ZIP文件的解压https://www.cnb ...

  6. JDK15真的来了,一起来看看它的新特性

    目录 简介 JDK15的新特性 JEP 385 Deprecate RMI Activation for Removal JEP 371 Hidden Classes JEP 339 Edwards- ...

  7. k8s滚动更新(六)

    实践 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 下面我们部署三副本应用, ...

  8. 217。数据中是否有重复元素(哈希表/set简法)

    给定一个整数数组,判断是否存在重复元素. 如果任意一值在数组中出现至少两次,函数返回 true .如果数组中每个元素都不相同,则返回 false . 示例 1: 输入: [1,2,3,1] 输出: t ...

  9. windows下搭建ElasticSearch

      1.官网下载ElasticSearch,需要java环境支持       地址:https://www.elastic.co/products/elasticsearch   2.下载后解压到目录 ...

  10. hystrix源码之线程池

    HystrixThreadPool 定义了hystrix线程池接口 获取ExecutorService对象,即jdk定义的线程池. public ExecutorService getExecutor ...