How to deploy tomcat in batches with ansible

How to deploy tomcat in batches with ansible

1.1 Building the Directory Structure

This operation is to install the directory structure of nginx+mysql+tomcat+db. You can refer to it. It's good~

mkdir -p /ansible/roles/{nginx,mysql,tomcat,db}/{defaults,files,handlers,meta,tasks,templates,vars}
  • defaults default search path
  • tasks stores playbooks path
  • files stores files and script packages, copy module file search path
  • templates Template storage path
  • Handlers notify calls some playbook storage paths
  • vars roles variable storage path

1.2 File Directory Structure

[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 ###Automatically distribute sshkey script (will be posted in full below)
├── web.retry
└── web.yml ####Total number of files called: 34 directories, 11 files
[root@qtbackup ~]#

1.3 Create a general call file in the ansible directory

- hosts: bgo ####This is the host group name defined by hosts. If it is a single host, you can directly write the address remote_user: root ####Execution user roles: #####Explanation of the configuration file directory, because we are installing tomcat this time, so comment out the others # - nginx
 # -mysql
  - tomcat
 # - db

1.4 Create a tomcat installation playbook file

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

#This is to install jdk using the yum module. If necessary, you can use #- name: install java
# yum: name=java-1.8.0-openjdk.x86_64 state=present

===============================================================
#Create user- name: group
 group: name=tomcat
- name: user
 user: name=tomcat group=tomcat home=/usr/tomcat
 sudo: True

################################This source package installs JDK###############################
#Copy jdk to the tmp directory - name: copy jdk-8u73-linux-x64.gz
 copy: src=jdk-8u73-linux-x64.gz dest=/tmp/jdk-8u73-linux-x64.gz
#Unzip the jdk package to /application
- name: Extract archive jdk
 command: /bin/tar xf /tmp/jdk-8u73-linux-x64.gz -C /application
#Rename - name: java
 shell: mv /application/jdk1.8.0_73 /application/java
#Add environment variables - 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"

############################Install tomcat##########################################
- name: copy tomcat_tar_gz
 copy: src=apache-tomcat-8.0.29.tar.gz dest=/tmp/apache-tomcat-8.0.29.tar.gz
#Unzip tomcat to the opt directory - name: Extract archive
 command: /bin/tar xf /tmp/apache-tomcat-8.0.29.tar.gz -C /opt
#Create a soft link - name: Symlink install directory
 file: src=/opt/apache-tomcat-8.0.29/ dest=/application/tomcat state=link
#Give directory permissions - name: Change ownership of Tomcat installation
 file: path=/application/tomcat/ owner=tomcat group=tomcat state=directory recurse=yes
#Push configuration file - name: Configure Tomcat users
 template: src=tomcat-users.xml dest=/application/tomcat/conf/
 notify: restart tomcat
#Install tomcat. init startup script - name: Install Tomcat init script
 copy: src=tomcat-initscript.sh dest=/etc/init.d/tomcat mode=0755
#Start tomcat
- name: Start Tomcat
 service:name=tomcat state=started enabled=yes

1.5 Calling handlers via notify

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

1.6 Syntax Check === Execute Installation

cd /ansible
ansible-playbook web.yml --syntax-check #Check syntax ansible-playbook web.yml #Execute

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Detailed explanation of Ansible, a centralized management platform
  • Ansible-playbook implements a detailed tutorial on automatic deployment of KVM and installation of python3
  • How to deploy K8s cluster with Ansible
  • Environment and deployment installation of ansible management tool

<<:  Summary of special processing statements of MySQL SQL statements (must read)

>>:  Reasons and solutions for failure of dynamically added routing pages in Vue when refreshing

Recommend

HTML hyperlinks explained in detail

Hyperlink Hyperlinks are the most frequently used ...

How to build lnmp environment in docker

Create a project directory mkdir php Create the f...

MySQL 5.5 installation and configuration graphic tutorial

Organize the MySQL 5.5 installation and configura...

Implementation of dynamic rem for mobile layout

Dynamic rem 1. First, let’s introduce the current...

javascript Blob object to achieve file download

Table of contents illustrate 1. Blob object 2. Fr...

Detailed explanation of the mysql database LIKE operator in python

The LIKE operator is used in the WHERE clause to ...

Solution to index failure in MySQL due to different field character sets

What is an index? Why create an index? Indexes ar...

Win10 configuration tomcat environment variables tutorial diagram

Before configuration, we need to do the following...

Trash-Cli: Command-line Recycle Bin Tool on Linux

I believe everyone is familiar with the trashcan,...

Use and analysis of Mysql Explain command

The mysql explain command is used to show how MyS...