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. webpack做项目优化

    webpack优化 -- compression-webpack-plugin 开启gzip 打包的时候开启gzip可以大大减少体积,非常适合于上线部署.下面以vue-cli2.x项目为例,介绍如何在 ...

  2. 2020重新出发,NOSQL,redis高并发系统的分析和设计

    高并发系统的分析和设计 任何系统都不是独立于业务进行开发的,真正的系统是为了实现业务而开发的,所以开发高并发网站抢购时,都应该先分析业务需求和实际的场景,在完善这些需求之后才能进入系统开发阶段. 没有 ...

  3. ssh工具 (Java)

    执行shell命令.下载文件... package com.sunsheen.blockchain.admin.utils; import java.io.BufferedReader; import ...

  4. leetcode刷题-36有效的数独

    题目 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次.数字 1-9 在每一列只能出现一次.数字 1-9 在每一个以粗实线分隔 ...

  5. Repeater每行绑定事件代码

    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repea ...

  6. JS基础回顾_滚动条

    // log function getScrollOffset() { if (window.pageXOffset) { return { x: window.pageXOffset, y: win ...

  7. [算法]求满足要求的进制(辗转相除(欧几里得算法),求最大公约数gcd)

    题目 3在十进制下满足若各位和能被3整除,则该数能被3整除. 5在十六进制下也满足此规律. 给定数字k,求多少进制(1e18进制范围内)下能满足此规律,找出一个即可,无则输出-1. 题解 写写画画能找 ...

  8. 初等函数——幂函数(Power Function)

    幂函数(Power function)是形如f(x)=xa的函数,a∈R是实数.即以底数为自变量,幂为因变量,指数为常数的函数称为幂函数. 性质 幂函数的图像一定会出现在第一象限内,一定不会出现在第四 ...

  9. 向你的C语言项目中加入多线程

    C语言在标准库<pthread.h>中为程序员提供了多线程操作接口. 先从简单操作入手 int pthread_create(pthread_t *thread, pthread_attr ...

  10. Docker跨主机通信(九)

    容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...