部署jdk+tomcat+jspgou的playbook剧本

一、域名解析及密钥

1.在/etc/hosts文件中进行域名解析
ip地址 域名
2.使用ssh-keygen命令在控制节点生成密钥
用ssh-copy-id -i 被控制节点ip或域名解析后的域名 ,将生成的密钥发送给被控制节点

二、主机清单

在/etc/ansible/hosts文件中进行主机清单的编辑

[webservers1]      #webservers1组
ansible-web1       #此处是经过解析后的域名,也可以是被控制节点的ip
[webservers2]
ansible-web2
[weball:children]   #此处可以不写,只是为了说明children是可以包含多个组的
webservers1
webservers2
[weball:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_private_key_file=/root/.ssh/id_rsa  #此处是用密钥的方式,也可以用密码的方式,但是密码的方式需要保证被控制节点的密码一致才可以

Ansible Inventory 常见的内置参数:
在这里插入图片描述

三、剧本内容

前提:在/usr/src下有jdk-8u211-linux-x64.tar.gz 、apache-tomcat-8.5.45.tar.gz、jspgou.tar.gz三个包才可以

---
 - hosts: webservers1
   user: root
   tasks:
   - name: copy jdk package
     copy: src=/usr/src/jdk-8u211-linux-x64.tar.g dest=/usr/src/
   - name: unzip jdk package
     shell: tar -xvzf /usr/src/jdk-8u211-linux-x64.tar.gz -C /usr/local
   - name: rename jdk
     shell: mv /usr/local/jdk1.8.0_211 /usr/local/java
   - name: set environment1
     shell: echo "JAVA_HOME=/usr/local/java" >> /etc/profile
   - name: set environment2
     shell: echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
   - name: copy tomcat package
     copy: src=/usr/src/apache-tomcat-8.5.45.tar.gz dest=/usr/src/
   - name: unzip tomcat package
     shell: tar -xvzf /usr/src/apache-tomcat-8.5.45.tar.gz -C /usr/local
   - name: rename tomcat
     shell: mv /usr/local/apache-tomcat-8.5.45 /usr/local/tomcat
   - name: add source
     shell: sed -i '1a\source \/etc\/profile' /usr/local/tomcat/bin/startup.sh
   - name: install mariadb-server
     yum: name=mariadb-server state=latest
   - name: install mariadb
     yum: name=mariadb state=latest
   - name: start mariadb
     service: name=mariadb state=started
   - name: create database
     shell: mysql -e "create database jspgou default charset=utf8;"
   - name: flush
     shell: mysql -e "flush privileges;"
   - name: copy jspgou package
     copy: src=/usr/src/jspgou.tar.gz dest=/root
   - name: unzip jspgou package
     shell: tar -xvzf /root/jspgou.tar.gz
   - name: delete ROOT
     shell: rm -rf /usr/local/tomcat/webapps/*
   - name: copy ROOT
     shell: cp -r /root/ROOT/ /usr/local/tomcat/webapps/
   - name: import data
     shell: mysql jspgou < /root/DB/jspgou.sql
   - name: start tomcat
     shell: nohup /usr/local/tomcat/bin/startup.sh &

注意:剧本是用ymal语言写的,文件的命名需要一.yml或.yaml结尾
剧本中模块的使用见下面链接的内容
https://blog.csdn.net/Charon9688/article/details/105723197

原创文章 17 获赞 5 访问量 1261

猜你喜欢

转载自blog.csdn.net/Charon9688/article/details/105761293