利用 Ansible 部署 Tomcat

导读
Ansible部署完之后会发现一直无法通过自动化启动Tomcat, 这是要将环境变量添加到系统文件 /root/.bashrc 与 /root/.bash_profile。

Ansible的特性:

ansible基于Python实现,有Paramiko、PyYAML、JinJia2主要模块
使用SSH链接主机,部署简单
可以使用自定义模块,也可以使用其他语言编写的模块,基于模块可以完成各种任务。

1、首先准备3台机器

ansible机器:192.168.52.34

目标主机:192.168.52.35

目标主机:192.168.52.36

2、关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
3、配置免密登录(略)
4、安装ansible
yum -y install ansible
5、在ansible的配置文件中添加目标主机
vim /etc/ansible/hosts

## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110
[tomcat]
192.168.52.35
192.168.52.36
# If you have multiple hosts following a pattern you can specify
# them like this:

## www[001:006].example.com
6、检查ansible与目标主机是否连通

在这里插入图片描述

7、上传tomcat、jdk(略)
8、编写tomcat.yml
[root@localhost ~]# vim tomcat.yml

---
- hosts: tomcat
  tasks: 
      - name: 关闭防火墙
        shell: systemctl stop firewalld
      - name: 关闭selinux
        shell: setenforce 0
      - name: 推送jdk Java环境
        copy: src=jdk-8u131-linux-x64_.rpm dest=/root
      - name: 创建文件夹
        file: path=/opt/tomcat state=directory
      - name: 推送tomcat的压缩包
        unarchive: src=apache-tomcat-8.5.35.tar.gz dest=/opt/tomcat
      - name: 安装jdk
        yum: name=jdk-8u131-linux-x64_.rpm state=installed
      - name: 启动tomcat
        shell: nohup /opt/tomcat/apache-tomcat-8.5.35/bin/startup.sh

可以在这里校验。
等效的json为:

[{
	"hosts": "tomcat",
	"tasks": [{
			"name": "关闭防火墙",
			"shell": "systemctl stop firewalld"
		},
		{
			"name": "关闭selinux",
			"shell": "setenforce 0"
		},
		{
			"name": "推送jdk Java环境",
			"copy": "src=jdk-8u131-linux-x64_.rpm dest=/root"
		},
		{
			"name": "创建文件夹",
			"file": "path=/opt/tomcat state=directory"
		},
		{
			"name": "推送tomcat的压缩包",
			"unarchive": "src=apache-tomcat-8.5.35.tar.gz dest=/opt/tomcat"
		},
		{
			"name": "安装jdk",
			"yum": "name=jdk-8u131-linux-x64_.rpm state=installed"
		},
		{
			"name": "启动tomcat",
			"shell": "nohup /opt/tomcat/apache-tomcat-8.5.35/bin/startup.sh"
		}
	]
}]
9、检查tomcat.yml
[root@localhost ~]# ansible-playbook --syntax-check tomcat.yml
#这个是警告的意思可以忽略
[WARNING]: Could not match supplied host pattern, ignoring: tomcat

playbook: tomcat.yml
[root@localhost ~]#
10、执行tomcat.yml
[root@localhost ~]# ansible-playbook tomcat.yml
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值