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 文件目录结构

[[email protected] ~]# 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
[[email protected] ~]#

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  #执行
时间: 2024-12-28 14:35:16

ansible批量部署tomcat的相关文章

Ansible 批量部署平台

Ansible 介绍以及基本命令 Ansible 简介:Ansible 和目前市面上一些其他的项目管理工具有很大的不同,它的设计初衷就是为了更方便.快捷的进行配置管理.它易于安装和实用,语法也非常简单易学.可以使用 Ansible 将平常复杂的配置工作变得简单.更加标准化和更容易控制.Ansible 只需要在一台普通的服务器上运行即可,不需要在被管控的服务器上安装客户端,因为它是基于 SSH 的.Linux 服务器离不开 SSH,所以 Ansible 不需要为配置工作添加额外的支持,可通过命令行

Centos6.5利用RubyGems的fpm制作zabbix_agent的rpm包,并使用ansible批量部署

一. 搭建rpm包制作环境 安装gcc [[email protected] ~]# yum install gcc 安装make [[email protected] ~]# yum install make 安装ruby源(ruby版本必须要在1.9.3以上,centos自带的是1.8的版本,需要自己编译安装) [[email protected] ~]# yum install ruby rubygems ruby-devel 查看ruby源 [[email protected] ~]# 

Saltstack批量部署tomcat(多实例)

上一篇讲解了如何批量部署nginx,这篇说一说如何批量部署tomcat,其实方式上都差不多,tomcat多了个java必须配置,以及需要多个实例一起部署.方式方法上可能不是最优方案,功能上是都可以实现基本需求的. 环境介绍: Centos 6.5 tomcat 7.0.68 java 1.7.0_80 实例3个,site.aaa.com|boss.aaa.com|mobile.aaa.com minion:test 1.修改主入口文件,如何你看不懂其中没标注的一些行,请参考<Saltstack批

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

ansible批量部署服务

一.ansible 1.概念ansible是一个基于Python开发的自动化运维工具!其功能实现基于SSH远程连接服务!ansible可以实现批量系统配置.批量软件部署.批量文件拷贝.批量运行命令等功能2.网址:http://docs.ansible.com/ 官网3.特点不需要单独安装客户端(no agents),基于系统自带的sshd服务,sshd就相当于ansible的客户端.不需要服务端(no servers).需要依靠大量的模块实现批量管理.4.优点:(1) ansible软件特点:·

ansible批量部署mysql

1.1 将mysql软件包同步到客户端服务器,做安装前期准备 Ps:mysql安装包线拖到ansible服务端的/ansible/roles/mysql/files目录下 vim /ansible/roles/mysql/tasks/main.yml - name: copy mysql_tar_gz to client copy: src=mysql-5.6.35.tar.gz dest=/tmp/mysql-5.6.35.tar.gz - name: copy install_script

ansible批量部署(一)

自动化运维工具shell脚本/Ansible(无客户端)/Saltstack(master-minion) 回顾服务器部署的流程:买云主机->环境部署->软件部署->配置部署->启动服务->测试->加入集群 1.Ansible基本概述ansible是一个配置管理系统configuration management system你只需要可以使用ssh访问你的服务器或设备就行 Ansible能做什么可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作. Ansibl

ansible批量部署nginx

1.1 将nginx的安装包,和安装脚本copy到客户端,并安装脚本 vim /ansible/roles/nginx/tasks/main.yml - name: copy nginx_tar_gz to client copy: src=nginx-1.8.0.tar.gz dest=/tmp/nginx-1.8.0.tar.gz - name: copy install_shell to client copy: src=install_nginx.sh dest=/tmp/install

linux 使用pssh批量部署tomcat

ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.2 tar -xvf pssh-2.3.1.tar.gz cd pssh-2.3.1 python setup.py install 创建所有服务器列表txt文件allhosts vim allhosts>>192.168.3.1-15 创建java目录 pssh -i -h allhosts "mkdir /usr/local/java" 拷贝jdk文