ansible-playbook批量部署Tomcat

通过ansible-playbook,批量部署tomcat。

  • 将所有部署tomcat的主机分为javaserver组:
# vim /etc/ansible/hosts
[javaserver]
192.168.30.128
192.168.30.129
192.168.30.130
  • 创建管理目录:
# mkdir -p tomcat/roles/tomcat_install/{files,handlers,meta,tasks,templates,vars}

# cd tomcat/

说明:

files:存放需要同步到异地服务器的源码文件及配置文件; 
handlers:当资源发生变化时需要进行的操作,若没有此目录可以不建或为空; 
meta:存放说明信息、说明角色依赖等信息,可留空; 
tasks:tomcat安装过程中需要进行执行的任务; 
templates:用于执行tomcat安装的模板文件,一般为脚本; 
vars:本次安装定义的变量
# tree .
.
├── roles
│   └── tomcat_install
│       ├── files
│       │   ├── apache-tomcat-8.5.39.tar.gz
│       │   └── jdk-8u191-linux-x64.tar.gz
│       ├── handlers
│       ├── meta
│       ├── tasks
│       │   ├── copy.yml
│       │   ├── install.yml
│       │   ├── main.yml
│       │   └── prepare.yml
│       ├── templates
│       │   ├── jdk_PATH
│       │   └── tomcat
│       └── vars
│           └── main.yml
└── tomcat.yml

8 directories, 10 files

  • 创建tomcat入口文件,用来调用tomcat_install:
# vim tomcat.yml 

#用于批量安装Tomcat
- hosts: javaserver
  remote_user: root
  gather_facts: True

  roles:
    - tomcat_install
  • 创建变量:
# vim roles/tomcat_install/vars/main.yml
#定义tomcat安装中的变量
JDK_VER: 191
TOMCAT_VER: 8.5.39
TOMCAT_VER_MAIN: "{
   { TOMCAT_VER.split('.')[0] }}"
DOWNLOAD_URL: https://mirrors.shu.edu.cn/apache/tomcat/tomcat-{
   {
    TOMCAT_VER_MAIN }}/v{
   {
    TOMCAT_VER }}/bin/apache-tomcat-{
   {
    TOMCAT_VER }}.tar.gz

TOMCAT_URL: tomcat
TOMCAT_PORT: 8080
SOURCE_DIR: /software
JDK_DIR: /usr/local/jdk
TOMCAT_DIR: /usr/local/tomcat
DATA_DIR: /data/tomcat
  • 创建模板文件:

环境变量jdk_PATH

# vim roles/tomcat_install/templates/jdk_PATH
JAVA_HOME={
  { JDK_DIR }}
JAVA_BIN={
  { JDK_DIR }}/bin
JRE_HOME={
  { JDK_DIR }}/jre
PATH=$PATH:{
  { JDK_DIR }}/bin:{
  { JDK_DIR }}/jre/bin
CLASSPATH={
  { JDK_DIR }}/jre/lib:{
  { JDK_DIR }}/lib:{
  { JDK_DIR }}/jre/lib/charsets.jar

tomcat启动脚本

# vim roles/tomcat_install/templates/tomcat
#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
p
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值