共计 1554 个字符,预计需要花费 4 分钟才能阅读完成。
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、关闭防火墙
[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
[root@localhost ~]# rz
[root@localhost ~]# rz
[root@localhost ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.35.tar.gz jdk-8u131-linux-x64_.rpm original-ks.cfg
[root@localhost ~]#
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
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
11、完成
: