专栏首页kevin-blogansible-playbook源代码批量部署nginx

ansible-playbook源代码批量部署nginx

简介

家里的服务器新开了两台虚拟机,想做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

等待一会就好了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 介绍一个安卓远控木马

    安全10月24日讯 新型安卓远程管理工具“AhMyth Android RAT”的源码出现在GitHub上,用户可在GitHub下载并测试这款RAT。今天就体验...

    kevinfaith
  • 理解负载均衡(Load balance)

    负载均衡(Load balance),是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或者其他资源中分配负载,已达到最优化资源使用...

    kevinfaith
  • acm C语言鸡兔同笼问题

    kevinfaith
  • HLS点播实现(H.264和AAC码流)

    前言 使用VideoToolbox硬编码H.264 使用VideoToolbox硬解码H.264 使用AudioToolbox编码AAC 使用AudioT...

    落影
  • nginx学习(1):编译、安装、启动

    一、下载 从官网http://nginx.org/en/download.html 下载稳定版(目前最新稳定版是1.6.2) 二、解压 tar zxf ngin...

    菩提树下的杨过
  • Docker danriti/nginx

    py3study
  • keepalived双机热备nginx

    nginx目前是我最常用的反向代理服务,线上环境为了能更好的应对突发情况,一般会使用keepalived双机热备nginx或者使用docker跑nginx集群,...

    lpxxn
  • keepalived双机热备nginx

      nginx目前是我最常用的反向代理服务,线上环境为了能更好的应对突发情况,一般会使用keepalived双机热备nginx或者使用docker跑nginx集...

    lpxxn
  • Nginx工作记录(1)——Centos7安装Nginx1.12.2

    Nginx的下载网址为:http://nginx.org/en/download.html

    胡了了
  • CentOS 中 Nginx 的基本命令

    北漂的我

扫码关注云+社区

领取腾讯云代金券