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]# 

浏览器访问测试

相关推荐
http阿拉丁神猫2 天前
ansible脚本解读
服务器·ansible·apache
汪汪大队u4 天前
基于 K8s 的物联网平台运维体系:Ansible+Zabbix 自动化监控与故障自愈(一)—— 环境准备与 Zabbix Server 部署
运维·kubernetes·自动化·ansible·zabbix
IT大白鼠7 天前
Ansible vs 运维智能体:自动化工具的优劣对比与适用场景分析
运维·自动化·ansible
悠悠121389 天前
从0到1掌握Ansible:让自动化运维不再是梦想
运维·自动化·ansible
卧室小白10 天前
ansible自动化
ansible
yuezhilangniao11 天前
Ansible基础 ansible入门 针对不同python3版本 - 含 Terraform 入门联动
运维·自动化·ansible
Koma_zhe13 天前
【Ansible开源自动化运维工具】别再手动装监控了,Ansible能让上百台机器同时搞定Node Exporter(1)
运维·开源·ansible
.柒宇.16 天前
RedHat10-Ansible部署Docker操作
docker·eureka·ansible
道清茗23 天前
【RH294知识点汇总】第 7 章 《 使用角色和 Ansible 内容集合简化 Playbook 》常见问题
ansible
何中应24 天前
Ansible安装&使用
运维·自动化·ansible·运维开发·自动化运维