Ansible循环变量安装LAMP

1、环境

主机IP
ansible192.168.129.133
lamp192.168.192.135

2、编写playbook

[root@ansible project]# cat playbook/install.yml 
---
- hosts: httpd
  tasks:
    - name: Prints various Ansible facts
      debug: 
        msg: >
          The host named {{ ansible_facts["fqdn"] }} is
          ip is {{ ansible_facts["default_ipv4"]["address"] }}
    - name: stop firewalld
      service: 
        name: firewalld
        state: stopped
        enabled: no 

    - name: selinux
      lineinfile:
        path: /etc/selinux/config
        regexp: '^SELINUX='
        line: 'SELINUX=disabled'
        state: present

    - name: install all server
      yum:
        name: "{{ item }}"
        state: present
      loop:
        - httpd*
        - mariadb*
        - php*
        - php-*

    - name: start service
      service:
        name: "{{ item }}"
        state: started
        enabled: yes
      loop:
        - httpd
        - mariadb
        - php-fpm

    - name: create index.php
      lineinfile:
        path: /var/www/html/index.php
        line: |
          <?php
            phpinfo();
          ?>
        create: yes

    - name: restart
      service:
        name: "{{ item }}"
        state: started
      loop:
        - httpd.service
        - php-fpm.service
        - mariadb.service

3、文件加密

//加密
[root@ansible project]# ansible-vault  encrypt --vault-password-file=.ma playbook/install.yml 
Encryption successful
//解密
[root@ansible project]# ansible-vault decrypt --vault-password-file=.ma playbook/install.yml 
Decryption successful

4、验证语法

[root@ansible project]# ansible-playbook --syntax-check playbook/install.yml --vault-password-file=.ma

playbook: playbook/install.yml

5、 运行playbook

[root@ansible project]# ansible-playbook -C   playbook/install.yml --vault-password-file=.ma

PLAY [httpd] ************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************
ok: [192.168.129.135]

TASK [Prints various Ansible facts] *************************************************************************************
ok: [192.168.129.135] => {
    "msg": "The host named LAMP.example.com is ip is 192.168.129.135\n"
}

TASK [stop firewalld] ***************************************************************************************************
changed: [192.168.129.135]

TASK [selinux] **********************************************************************************************************
changed: [192.168.129.135]

TASK [create user] ******************************************************************************************************
changed: [192.168.129.135] => (item={'name': 'apache'})
changed: [192.168.129.135] => (item={'name': 'mysql'})

TASK [install all server] ***********************************************************************************************
changed: [192.168.129.135] => (item=httpd*)
changed: [192.168.129.135] => (item=mariadb*)
changed: [192.168.129.135] => (item=php*)
changed: [192.168.129.135] => (item=php-*)

TASK [start service] ****************************************************************************************************
changed: [192.168.129.135] => (item=httpd)
changed: [192.168.129.135] => (item=mariadb)
changed: [192.168.129.135] => (item=php-fpm)

TASK [create index.php] *************************************************************************************************
changed: [192.168.129.135]

PLAY RECAP **************************************************************************************************************
192.168.129.135            : ok=7    changed=7    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0 

6、访问测试

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值