centos 7 使用Ansible 发布多个 tomcat 服务

简介: 本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51277226 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys1,使用ansible上次使用 ansible 发布了一个tomcat。 发现发布的脚步是可以共用的。使用参数规定区分to

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51277226 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,使用ansible


上次使用 ansible 发布了一个tomcat。
发现发布的脚步是可以共用的。使用参数规定区分tomcat服务。

2,比如发布两个tomcat


发布一个手机端,web的和admin的tomcat。
tomcat-mobile
tomcat-web
tomcat-admin
假设分别在 3个服务器上面
192.168.100.101
192.168.100.102
192.168.100.103
tomcat 线上的目录是:
/data/tomcat-mobile
/data/tomcat-web
/data/tomcat-admin

配置/etc/ansible/hosts

[tomcat-mobile]
tomcat-mobile-01 ansible_ssh_host=192.168.100.101 ansible_ssh_port=22 ansible_ssh_user=root
[tomcat-web]
tomcat-web-01 ansible_ssh_host=192.168.100.101 ansible_ssh_port=22 ansible_ssh_user=root
[tomcat-admin]
tomcat-admin-01 ansible_ssh_host=192.168.100.101 ansible_ssh_port=22 ansible_ssh_user=root

3,创建一个通用的tomcat.yml


tomcat部署模板。其中tomcat_root 和 war_file是变量。
在每一个类型的部署yml中定义。

- name: stop tomcat.
  command: /bin/sh {{ tomcat_root }}/../../bin/catalina.sh stop -force
  ignore_errors: yes
  async: 10
- name: rm ROOT.
  file:
    state: absent
    dest: "{{ tomcat_root }}"
- name: mkdir ROOT.
  file:
    state: directory
    dest: "{{ tomcat_root }}"
- name: unzip war.
  unarchive:
    src: "{{ war_file }}"
    dest: "{{ tomcat_root }}"
    copy: yes
- name: rm war.
  file:
    state: absent
    dest: "{{ war_file }}"
- name: start tomcat.
  command: /bin/sh {{ tomcat_root }}/../../bin/catalina.sh start
  ignore_errors: yes
  async: 10

然后创建 3 个yml
tomcat-mobile.yml

---
- name: install tomcat-mobile
  hosts: tomcat-mobile
  sudo: False
  vars:
    war_file: /data/build/tomcat-mobile.war
    tomcat_root: /data/tomcat-mobile/webapps/ROOT
  tasks:
    - name: Include local facts tasks
      include: tomcat.yml

tomcat-web.yml:

---
- name: install tomcat-web
  hosts: tomcat-web
  sudo: False
  vars:
    war_file: /data/build/tomcat-web.war
    tomcat_root: /data/tomcat-web/webapps/ROOT
  tasks:
    - name: Include local facts tasks
      include: tomcat.yml

tomcat-admin.yml:

---
- name: install tomcat-admin
  hosts: tomcat-admin
  sudo: False
  vars:
    war_file: /data/build/tomcat-admin.war
    tomcat_root: /data/tomcat-admin/webapps/ROOT
  tasks:
    - name: Include local facts tasks
      include: tomcat.yml

4,总结


本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51277226 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

执行部署:
/usr/bin/ansible-playbook tomcat-mobile.yml。
ansible 使用include的解决了脚本的重复编写问题。
将变量设置,可以同时部署多个tomcat。并且根据hosts的分组配置。当tomcat-web部署多台之后,将ssh打通后配置即可。非常简单的就按组进行扩展部署了。

目录
相关文章
|
3月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
324 1
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
179 2
|
3月前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
228 1
|
3月前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
138 3
|
3月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
59 1
|
4月前
|
Java 应用服务中间件 Windows
windows服务器重装系统之后,Tomcat服务如何恢复?
windows服务器重装系统之后,Tomcat服务如何恢复?
69 10
|
4月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
203 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
4月前
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
308 2
|
5月前
|
关系型数据库 MySQL Linux
Linux(CentOS7)搭建LAMP服务环境
本文介绍了在Linux (CentOS 7) 上搭建LAMP服务环境的详细步骤,包括安装Apache HTTPd、解决编译时依赖问题、配置Apache服务、安装PHP以及处理PHP与Apache集成时遇到的问题。同时,还涉及了防火墙设置和SELinux权限调整,确保Web服务能够正常运行。
107 2
|
5月前
|
Linux
centos7及Tomcat8Dockerfile
centos7及Tomcat8Dockerfile