ansible使用playbook部署nginx(编译安装)

ansible使用playbook部署nginx(编译)

首先要定义ansible所管理的主机有那些,这里就简单定义两台主机

vim /etc/ansible/hosts

在这里插入图片描述定义主机可以使用ip也可以使用主机名,使用主机名时,要注意编写host或者有dns服务都可

vim /etc/hosts
192.168.3.34    nodea
192.168.3.36    nodec
192.168.3.37    control

准备工作写完,就可以进入正题了,开始编写playbook。(要注意,playbook的格式为.yml结尾)

[root@control ~]# vim nginxinstall.yml 


---
- hosts: nodec
  tasks:
    - name: download nginx
      get_url: url="http://nginx.org/download/nginx-1.18.0.tar.gz" dest=/tmp  #下载nginx到/tmp目录下
    - name: gcc
      yum:
        name: "{{ packages }}"     #安装编译环境所需求的包
      vars:
        packages:
        - openssl-devel
        - pcre-devel
        - gcc
    - name: tarnginx
      shell: cd /tmp;tar -xf nginx-1.18.0.tar.gz  ##解压nginx包
    - name: create nginx  #创建nginx用户
      user: name=nginx state=present
    - name: install nginx    #编译安装nginx
      shell: cd /tmp/nginx-1.18.0;./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install

编写完保存退出后,执行

[root@control ~]# ansible-playbook nginxinstall.yml -C

ansible-playbook用于运行剧本,-C测试运行结果,并不是真的执行任务


PLAY [nodec] **********************************************************************************************

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

TASK [download nginx] *************************************************************************************
changed: [nodec]

TASK [gcc] ************************************************************************************************
ok: [nodec]

TASK [tarnginx] *******************************************************************************************
skipping: [nodec]

TASK [create nginx] ***************************************************************************************
ok: [nodec]

TASK [install nginx] **************************************************************************************
skipping: [nodec]

PLAY RECAP ************************************************************************************************
nodec                      : ok=4    changed=1    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0   

上述为测试结果,检查playbook是否能成功执行,之后去掉-C直接运行playbook就可以自动化的安装nginx了

[root@control ~]# ansible-playbook nginxinstall.yml

PLAY [nodec] **********************************************************************************************

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

TASK [download nginx] *************************************************************************************
ok: [nodec]

TASK [gcc] ************************************************************************************************
ok: [nodec]

TASK [tarnginx] *******************************************************************************************
changed: [nodec]

TASK [create nginx] ***************************************************************************************
ok: [nodec]

TASK [install nginx] **************************************************************************************
changed: [nodec]

PLAY RECAP ************************************************************************************************
nodec                      : ok=6    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   


成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值