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

浏览器访问测试

相关推荐
烁3471 天前
Ansible初识
ansible
烁3471 天前
Ansible安装部署调试
ansible
烁3471 天前
Ansible命令
ansible
小义_2 天前
【Ansible】(三)基础配置与连接设置
云原生·ansible
炸炸鱼.6 天前
Ansible 企业级实战:Playbook 与 Roles 完全指南
网络·ansible
风曦Kisaki7 天前
# 自动化运维Day03:Ansible模块进阶(setup,debug),四种常用变量,进阶语法;Ansible Roles(角色)
运维·自动化·ansible
炸炸鱼.9 天前
Ansible 部署应用:从入门到精通
ansible
Peace9 天前
【Ansible】
linux·运维·ansible
Plastic garden10 天前
K8s(1)前置ansible准备环境
容器·kubernetes·ansible
遇见火星12 天前
从0到1掌握Ansible:让自动化运维不再是梦想
运维·自动化·ansible