ansible的role来实现批量安装apache

1,创建role的目录(根据需要httpd下可以增加你需要的目录)

[root@localhost data]# mkdir -pv /data/roles/httpd/{files,handlers,tasks}

2,在files目录下准备httpd.conf(在本机copy一个)和index.html(手动写一个)文件

[root@localhost files]# ls
httpd.conf  index.html

3,在tasks目录下创建安装httpd的yml文件,大概四步五个yml文件,基本上就是一步一个文件
main.yml文件,第一个被执行的yml文件,因为它指定了其他yml文件的执行顺序

[root@localhost files]# cd ../tasks
[root@localhost tasks]# vi main.yml
- include: install.yml
- include: config.yml
- include: index.yml
- include: start.yml

install.yml文件为远端服务器安装httpd

[root@localhost tasks]# vi install.yml
- name: install httpd package
  yum: name=httpd

config.yml文件将配置好的httpd配置文件复制到远端服务器,这里我改了监听端口为8080,这个yml文件里加了notify,这样修改配置文件后就可以通知handler来重启服务生效了,handler后面会配置(这里src不需要用绝对路径也可以,因为它自己回去files目录下去寻找)

  [root@localhost tasks]# vi config.yml
- name: config file
  copy: src=httpd.conf dest=/etc/httpd/conf/ backup=yes
  notify: restart

index.yml文件将网页文件复制到远端服务器

[root@localhost tasks]# vi index.yml
- name: index.html
  copy: src=index.html dest=/var/www/html/

start.yml文件启动httpd服务,并设为开启自启

[root@localhost tasks]# vi start.yml 
- name: start httpd
  service: name=httpd state=started enabled=yes  

3,在handlers目录下创建main.yml文件

[root@localhost tasks]# vi ../handlers/main.yml
- name: restart
  service: name=httpd state=restarted

4,与roles在同一目录下创建调用httpd role的yml文件(必须和role在同一目录下)

[root@localhost tasks]# cd /data/roles/
[root@localhost roles]# vi httpd_role.yml
---
# httpd role
- hosts: haha
  remote_user: root

  roles:
    - role: httpd

5,检查role,确认没问题后执行role

[root@localhost roles]# ansible-playbook -C /data/roles/httpd_role.yml
[root@localhost roles]# ansible-playbook /data/roles/httpd_role.yml

6,在远端及其看到httpd已经安装上了,并且8080端口也已开启了,真机访问也成功了

[root@localhost ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@localhost ~]# ss -ntul
Netid  State      Recv-Q Send-Q           Local Address:Port                          Peer Address:Port              
udp    UNCONN     0      0                    127.0.0.1:323                                      *:*                  
udp    UNCONN     0      0                          ::1:323                                     :::*                  
tcp    LISTEN     0      128                          *:22                                       *:*                  
tcp    LISTEN     0      100                  127.0.0.1:25                                       *:*                  
tcp    LISTEN     0      128                         :::8080                                    :::*                  
tcp    LISTEN     0      128                         :::22                                      :::*                  
tcp    LISTEN     0      100                        ::1:25                                      :::*   

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值