美文网首页
ansible-playbook源代码批量部署nginx

ansible-playbook源代码批量部署nginx

作者: kevinfaith | 来源:发表于2019-03-01 16:04 被阅读0次

    简介

    家里的服务器新开了两台虚拟机,想做nginx负载均衡的实验,但是要重新安装各种服务,就很麻烦,正好最近学了ansible-playbook,就想试着写一下一键部署脚本

    代码

    具体的安装方式我前几篇博客已经说了
    话不都说,上代码

    vi installnginx.yml
    - hosts: test2
      remote_user: root
      tasks:    #这后面千万不要加空格,不知道被哪家的教程坑了,我拍错了一个多小时
      - name: mkdir nginx
        file: path=/home/nginx state=directory
      - name: copynginx package
        copy: src=./nginx-1.12.0.tar.gz  dest=/home/nginx-1.12.0.tar.gz  ##拉取nginx解压吧
        tags: cppkg
      - name: tar-nginx
        shell: cd /home;tar -zxf nginx-1.12.0.tar.gz  ##解压nginx包
      - name: installpakger
        yum: name={{ item }} state=latest    ##安装依赖包
        with_items:
          - openssl-devel
          - pcre-devel
          - zlib-devel
          - gcc
          - gcc-c++
      - name: installnginx
        shell: cd /home/nginx-1.12.0;./configure --prefix=/home/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module  --with-pcre;make&& make install      ####编译安装
      - name: copyshell
        copy: src=./create_users.sh dest=/home/create_users.sh  ##拉取创建用户的shell脚本
      - name: createuser nginx
        shell: /bin/bash /home/create_users.sh
        tags: addnginx
        notify: start nginx servic
        handler:
      - name: start nginx service
        shell: /home/nginx/sbin/nginx
    
    
    创建用户脚本
    vi create_users.sh
    #!/bin/bash
    ab=sudo cat /etc/passwd |grep nginx |wc -c
    查找系统中有没有nginx用户
    if [ $ab==0 ]; then
            sudo groupadd nginx
            sudo useradd -g nginx -s /sbin/nologin nginx
    fi
    

    创建主机清单

    ➜  vi hosts
    [test2]
    192.168.30.105  ansible_ssh_user=root
    192.168.30.107  ansible_ssh_user=root
    
    ➜  ansible ansible -i ./hosts test2 --list
      hosts (2):
        192.168.30.105
        192.168.30.107
    
    #然后下载nginx源代码包
       ➜ wget http://mirrors.sohu.com/nginx/nginx-1.12.0.tar.gz
    #执行
    ansible-playbook -i ./hosts 2.yml
    

    等待一会就好了

    相关文章

      网友评论

          本文标题:ansible-playbook源代码批量部署nginx

          本文链接:https://www.haomeiwen.com/subject/qyiduqtx.html