ansible利用playbook 部署lamp架构

搭建参考:ansible批量运维管理-CSDN博客

定义ansible主机清单

复制代码
[root@ansible-server ~]# vim /etc/hosts
192.168.200.129 host01
192.168.200.130 host02
[root@ansible-server ~]# vim /etc/ansible/hosts 
[webserver]
host01
host02

在ansible端编写index.html,index.php⽂件,及lamp.yml配置⽂件

复制代码
[root@ansible-server ~]# mkdir playbooklamp
[root@ansible-server ~]# cd playbooklamp/
[root@ansible-server playbooklamp]# vim index.html
[root@ansible-server playbooklamp]# cat index.html 
<html>
        <head>
                <title> 这个一个测试页面</title>
                <meta charset="utf-8">
                <head>
                <body> 
                这是一个ansible测试页面!!!
                </body>
        </html>
[root@ansible-server playbooklamp]# vim index.php
[root@ansible-server playbooklamp]# cat index.php 
<?php
phpinfo();
?>
[root@ansible-server playbooklamp]# vim lamp.yml  
[root@ansible-server playbooklamp]# cat lamp.yml 
- hosts: 'webserver'
  tasks:

    - name: "安装lamp需要的软件包"
      yum: 
        name: "{{item}}"
        state: installed
      with_items:
        - apr
        - apr-util
        - httpd
        - httpd-devel
        - mariadb
        - mariadb-server
        - php
        - php-mysqlnd
        - php-fpm
    - name: "传输index.html文件"
      copy:
        src: ./index.html
        dest: /var/www/html/index.html
        owner: root
        group: root
        mode: 0644
    - name: "传送index.php文件"
      copy: 
        src: ./index.php
        dest: /var/www/html/index.php
        owner: root
        group: root
        mode: 0644
    - name: "重启httpd"
      service:
        name: httpd
        state: restarted
    - name: "重启mariadb"
      service:
        name: mariadb
        state: restarted
    - name: "重启php-fpm"
      service:
        name: php-fpm
        state: restarted
    - name: "关闭防火墙和selinux"
      block:
        - shell: systemctl stop firewalld
          ignore_errors: yes
        - name: "关闭Selinux"
          shell: setenforce 0
          ignore_errors: yes
[root@ansible-server playbooklamp]# ansible-playbook  lamp.yml --syntax-check 

playbook: lamp.yml
[root@ansible-server playbooklamp]#

运行剧本

复制代码
[root@ansible-server playbooklamp]# ansible-playbook  lamp.yml 

PLAY [webserver] **************************************************************************************

TASK [Gathering Facts] ********************************************************************************
ok: [host02]
ok: [host01]

TASK [安装lamp需要的软件包] ***************************************************************************
ok: [host01] => (item=apr)
ok: [host02] => (item=apr)
ok: [host01] => (item=apr-util)
ok: [host02] => (item=apr-util)
ok: [host01] => (item=httpd)
ok: [host02] => (item=httpd)
ok: [host01] => (item=httpd-devel)
ok: [host02] => (item=httpd-devel)
ok: [host01] => (item=mariadb)
ok: [host02] => (item=mariadb)
ok: [host01] => (item=mariadb-server)
ok: [host02] => (item=mariadb-server)
ok: [host01] => (item=php)
ok: [host02] => (item=php)
changed: [host01] => (item=php-mysqlnd)
changed: [host02] => (item=php-mysqlnd)
ok: [host01] => (item=php-fpm)
ok: [host02] => (item=php-fpm)

TASK [传输index.html文件] *****************************************************************************
changed: [host01]
changed: [host02]

TASK [传送index.php文件] ******************************************************************************
changed: [host02]
changed: [host01]

TASK [重启httpd] **************************************************************************************
changed: [host02]
changed: [host01]

TASK [重启mariadb] ************************************************************************************
changed: [host02]
changed: [host01]

TASK [重启php-fpm] ************************************************************************************
changed: [host01]
changed: [host02]

TASK [shell] ******************************************************************************************
changed: [host01]
changed: [host02]

TASK [关闭Selinux] ************************************************************************************
changed: [host01]
changed: [host02]

PLAY RECAP ********************************************************************************************
host01                     : ok=9    changed=8    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
host02                     : ok=9    changed=8    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

[root@ansible-server playbooklamp]# 

浏览器访问测试

相关推荐
tianyuanwo1 天前
Ansible构建节点管理:Koji与Mock构建节点的自动化运维实践
运维·自动化·ansible
星融元asterfusion3 天前
容器化NPB + Ansible:自动化运维方案
运维·自动化·ansible
乾元4 天前
SDN 与 AI 协同:控制面策略自动化与策略一致性校验
运维·网络·人工智能·网络协议·华为·系统架构·ansible
车传新5 天前
Ansible
ansible
ylmzfun6 天前
基于Ansible的自动化运维实战:从入门到企业级应用
运维·架构·ansible
码界奇点6 天前
基于Django与Ansible的智能运维管理系统设计与实现
运维·python·django·毕业设计·ansible·源代码管理
乾元8 天前
AI + Jinja2/Ansible:从自然语义到可执行 Playbook 的完整流水线(工程级深度)
运维·网络·人工智能·网络协议·华为·自动化·ansible
聊天QQ:6882388610 天前
光伏MPPT仿真:布谷鸟算法的奇妙结合
ansible
weixin_466811 天前
Ansible Playbook应用
网络·ansible
孪生质数-21 天前
Ansible基础入门
服务器·自动化·ansible·openstack