Ansible部署完之后會(huì)發(fā)現(xiàn)一直無(wú)法通過(guò)自動(dòng)化啟動(dòng)Tomcat, 這是要將環(huán)境變量添加到系統(tǒng)文件 /root/.bashrc 與/root/.bash_profile。
Ansible的特性:
- ansible基于Python實(shí)現(xiàn),有Paramiko、PyYAML、JinJia2主要模塊
- 使用SSH鏈接主機(jī),部署簡(jiǎn)單
- 可以使用自定義模塊,也可以使用其他語(yǔ)言編寫的模塊,基于模塊可以完成各種任務(wù)。
1、首先準(zhǔn)備3臺(tái)機(jī)器
ansible機(jī)器:192.168.52.34
目標(biāo)主機(jī):192.168.52.35
目標(biāo)主機(jī):192.168.52.36
2、關(guān)閉防火墻
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
3、配置免密登錄
4、安裝ansible
yum -y install ansible
5、在ansible的配置文件中添加目標(biāo)主機(jī)
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與目標(biāo)主機(jī)是否連通
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: 關(guān)閉防火墻
shell: systemctl stop firewalld
– name: 關(guān)閉selinux
shell: setenforce 0
– name: 推送jdk Java環(huán)境
copy: src=jdk-8u131-linux-x64_.rpm dest=/root
– name: 創(chuàng)建文件夾
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: 啟動(dòng)tomcat
shell: nohup /opt/tomcat/apache-tomcat-8.5.35/bin/startup.sh
9、檢查tomcat.yml
[root@localhost ~]# ansible-playbook –syntax-check tomcat.yml
#這個(gè)是警告的意思可以忽略
[WARNING]: Could not match supplied host pattern, ignoring: tomcat
playbook: tomcat.yml
[root@localhost ~]#
10、執(zhí)行tomcat.yml
[root@localhost ~]# ansible-playbook tomcat.yml
11、完成