ansible批量部署tomcat的方法

 更新时间:2018年10月29日 10:54:57   作者:kkblog  
这篇文章主要介绍了ansible批量部署tomcat的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1.1 构建目录结构

此操作是安装nginx+mysql+tomcat+db的目录结构,可以参考一下,不错~

mkdir -p /ansible/roles/{nginx,mysql,tomcat,db}/{defaults,files,handlers,meta,tasks,templates,vars}
  • defaults 默认寻找路径
  • tasks 存放playbooks路径
  • files 存放文件和脚本包,copy模块文件搜索路径
  • templates 模版存放路径
  • handlers notify调用部分playbook存放路径
  • vars roles内变量存放路径

1.2 文件目录结构

[root@qtbackup ~]# tree /ansible/
/ansible/
├── playbook
│  └── playbook.yml
├── roles
│  ├── db
│  │  ├── defaults
│  │  ├── files
│  │  ├── handlers
│  │  ├── meta
│  │  ├── tasks
│  │  ├── templates
│  │  └── vars
│  ├── mysql
│  │  ├── defaults
│  │  ├── files
│  │  ├── handlers
│  │  ├── meta
│  │  ├── tasks
│  │  ├── templates
│  │  └── vars
│  ├── nginx
│  │  ├── defaults
│  │  ├── files
│  │  ├── handlers
│  │  ├── meta
│  │  ├── tasks
│  │  ├── templates
│  │  └── vars
│  └── tomcat
│    ├── defaults
│    ├── files
│    │  ├── apache-tomcat-8.0.29.tar.gz
│    │  ├── jdk-8u73-linux-x64.gz
│    │  ├── tomcat-initscript.sh
│    │  └── tomcat-users.xml
│    ├── handlers
│    │  └── main.yml
│    ├── meta
│    ├── tasks
│    │  └── main.yml
│    ├── templates
│    │  └── tomcat-users.xml
│    └── vars
├── ssh_key.sh    ###自动分发sshkey脚本 (下边会完整贴出来)
├── web.retry
└── web.yml     ####总调用文件
34 directories, 11 files
[root@qtbackup ~]#

1.3 在ansible目录创建一个总调用文件

- hosts: bgo  ####这个是hosts定义个主机组名字,如果是单台主机可以直接写地址
 remote_user: root     ####执行用户
 roles:           #####解释配置文件目录,因为我们这次装的是tomcat所以注释其他的
 #  - nginx
 #  - mysql
  - tomcat
 #  - db

1.4 创建tomcat安装playbook文件

vim  /ansible/roles/tomcat/tasks/main.yml

#这个是用yum模块安装jdk,有需要的可以用
#- name: install java
# yum: name=java-1.8.0-openjdk.x86_64  state=present

===============================================================
#创建用户
- name: group
 group: name=tomcat
- name: user
 user: name=tomcat group=tomcat home=/usr/tomcat
 sudo: True

##############################这个源码包安装JDK#############################
#复制jdk到tmp目录下
- name: copy jdk-8u73-linux-x64.gz
 copy: src=jdk-8u73-linux-x64.gz dest=/tmp/jdk-8u73-linux-x64.gz
#解压jdk包到/application
- name: Extract archive jdk
 command: /bin/tar xf /tmp/jdk-8u73-linux-x64.gz -C /application
#改名
- name: java
 shell: mv /application/jdk1.8.0_73 /application/java
#添加环境变量
- name: add /etc/profile
 lineinfile: dest=/etc/profile regexp="^JAVA_HOME=" line="JAVA_HOME=/application/java/"
- name: add /etc/profile
 lineinfile: dest=/etc/profile regexp="^CLASS_PATH=" line="CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
- name: add /etc/profile
 lineinfile: dest=/etc/profile regexp="^PATH=\$PATH:\$JAVA_HOME" line="PATH=$PATH:$JAVA_HOME/bin"
- name: add /etc/profile
 lineinfile : dest=/etc/profile regexp="^export JAVA_HOME" line="export JAVA_HOME"

##########################安装tomcat###########################################
- name: copy tomcat_tar_gz
 copy: src=apache-tomcat-8.0.29.tar.gz dest=/tmp/apache-tomcat-8.0.29.tar.gz
#解压tomcat到opt目录
- name: Extract archive
 command: /bin/tar xf /tmp/apache-tomcat-8.0.29.tar.gz -C /opt
#创建软连接
- name: Symlink install directory
 file: src=/opt/apache-tomcat-8.0.29/ dest=/application/tomcat state=link
#赋予目录权限
- name: Change ownership of Tomcat installation
 file: path=/application/tomcat/ owner=tomcat group=tomcat state=directory recurse=yes
#推送配置文件
- name: Configure Tomcat users
 template: src=tomcat-users.xml dest=/application/tomcat/conf/
 notify: restart tomcat
#安装tomcat。init启动脚本
- name: Install Tomcat init script
 copy: src=tomcat-initscript.sh dest=/etc/init.d/tomcat mode=0755
#开启tomcat
- name: Start Tomcat
 service: name=tomcat state=started enabled=yes

1.5 通过notify调用handlers

- name: restart tomcat 
 service: name=tomcat state=restarted

1.6 语法检测===执行安装

cd /ansible
ansible-playbook web.yml --syntax-check #检查语法
ansible-playbook web.yml #执行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Tomcat容器管理安全的验证方式汇总

    Tomcat容器管理安全的验证方式汇总

    当访问服务器中受保护的资源时,容器管理的验证方法可以控制确认用户身份的方式。Tomcat支持四种容器管理的安全防护。下面小编给大家分享Tomcat容器管理安全的验证方式汇总,感兴趣的朋友一起看看吧
    2016-11-11
  • 关于tomcat点击startup.bat后闪退问题的解决办法

    关于tomcat点击startup.bat后闪退问题的解决办法

    这篇文章给大家分享了关于tomcat点击startup.bat后闪退问题分析及解决办法,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-01-01
  • linux设置tomcat开机启动的两种方式

    linux设置tomcat开机启动的两种方式

    文章介绍了两种配置Tomcat开机自启动的方法,方法一包括添加文件、进入目录、设置开机启动、查看状态、关闭自启动及设置JDK路径,方法二涉及编辑启动脚本和添加crontab任务
    2024-12-12
  • 一个tomcat下部署多个项目的详细步骤

    一个tomcat下部署多个项目的详细步骤

    一个tomcat下如何部署多个项目,Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例,windows系统下部署同理,接下来小编就给大家详细的介绍一下在一个tomcat下部署多个项目的操作步骤,需要的朋友可以参考下
    2023-08-08
  • tomcat+nginx实现多应用部署的示例代码

    tomcat+nginx实现多应用部署的示例代码

    本文主要介绍了tomcat+nginx实现多应用部署的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Tomcat的类加载机制流程及源码解析

    Tomcat的类加载机制流程及源码解析

    我们知道,ava默认的类加载机制是通过双亲委派模型来实现的,而Tomcat实现的方式又和双亲委派模型有所区别,下面这篇文章主要给大家介绍了关于Tomcat类加载机制流程的相关资料,需要的朋友可以参考下
    2021-11-11
  • 详解如何给Tomcat配置Https/ssl证书

    详解如何给Tomcat配置Https/ssl证书

    这篇文章主要介绍了详解如何给Tomcat配置Https/ssl证书,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • idea搭建项目找不到Tomcat的解决方法(图文教程)

    idea搭建项目找不到Tomcat的解决方法(图文教程)

    今天在公司中导入公司项目,需要配置tomcat,结果发现找不到,所以这篇文章主要给大家介绍了关于idea搭建项目找不到Tomcat的解决方法,需要的朋友可以参考下
    2023-07-07
  • 浅谈Tomcat如何打破双亲委托机制

    浅谈Tomcat如何打破双亲委托机制

    本文主要介绍了浅谈Tomcat如何打破双亲委托机制,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Centos7.3下Tomcat8的安装配置教程

    Centos7.3下Tomcat8的安装配置教程

    这篇文章主要为大家详细介绍了Centos7.3下Tomcat8的安装和配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09

最新评论