1.ansible的安装
(1)准备两台机器,分别 IP为114.67.232.214,主机名为centos100
IP为114.67.233.22,主机名为centos101
(2)需要在centos100上安装ansible,直接使用yum安装:yum install ansible
(3)设置密钥认证
在centos100上操作:ssh-keygen
ssh-copy-id -i /root/.ssh/id_rsa.pub 114.67.233.22
测试成功:
[root@centos100 ~]# ssh 114.67.233.22
Last login: Mon Jul 9 17:36:24 2018 from 1.119.132.165
Welcome to JCLOUD Elastic Compute Service
[root@centos101 ~]# logout
Connection to 114.67.233.22 closed.
(4)vim /etc/ansible/hosts 
[web]
114.67.232.214
114.67.233.22
说明:在此文件中增加上述内容。web为主机组名字,自定义的,下面的两个IP为组内的机器IP
vim /etc/ansible/ansible.cfg
host_key_checking = False 取消这一行的注释。(打开的理由:如果有台被管节点重新安装系统并在know_hosts中有了与之前不同的密钥信息,就会提示一个密钥不匹配的错误信息,直到被纠正为止。
在使用ansible时,如果有台被管节点没有在know_hosts中被初始化,将会在使用Ansible或定时执行ansible时提示对key信息的确认)

  1. ##################################
    playbook 实战-nginx 安装 1
    (1)思路:先在一台机器上编译安装好nginx,打包,然后再用ansible去下发
    tar zxf nginx-1.8.1.tar
    cd nginx-1.8.1
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
    yum install -y pcre-devel openssl-devel gcc 解决依赖,缺少什么装什么
    make
    make install
    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 做个软连接
    nginx -t 检查语法错误
    nginx 启动nginx
    此时nginx安装完成
    (2)cd /etc/ansible
    mkdir nginx_install
    cd nginx_install
    mkdir -p roles/{common,install}/{handlers,files,meta,tasks,templates,vars}

    说明:roles目录下面有两个角色,common为一些准确操作,install为安装nginx的操作。每个角色下面又有几个目录,install为安装nginx的操作,每个角色下面又有几个目录,handlers下面是当发生
    改变时要执行的操作,通常用再配置文件发生改变,重启服务。files为安装时用到的一些文件,meta为说明信息,说明角色依赖等信息,tasks里面是核心的配置文件,templates通常存一些配置
    文件,启动脚本等模板文件,vars下为定义的变量。
    ###################################
    playbook 实战-nginx 安装 2
    (1)需要事先准备好用到的文件,具体如下:
    在一台机器上事先编译安装好nginx,配置好启动脚本,配置好配置文件。

    安装好后,我们需要把nginx目录打包,并放到/etc/ansible/nginx_install/roles/install/files 下面,名字为nginx.tar.gz
    cd /usr/local
    tar czvf nginx.tar.gz --exclude "nginx.conf" --exclude "vhost"  nginx/
    mv nginx.tar.gz /etc/ansible/nginx_install/roles/install/files
    启动脚本,配置文件都要放到/etc/ansible/nginx_install/roles/install/templates下面
    cp nginx/conf/nginx.conf  /etc/ansible/nginx_install/roles/install/templates
    cp /etc/init.d/nginx  /etc/ansible/nginx_install/roles/install/templates/ (我没加)cd /etc/ansible/nginx_install/roles
    定义common的tasks,nginx是需要一些依赖包的
    vim ./common/task/main.yml
    - name: install initializtion require softwareyum: name="pcre-devel,oepnssl-devel,gcc"  state=installed

    #####################################
    playbook 实战-nginx 安装 3
    (1)定义变量
    vim /etc/ansible/nginx_install/roles/install/vars/main.yml
    nginx_user: www
    nginx_port: 80
    nginx_basedir: /usr/local/nginx
    (2)首先要把所有用到的文档拷贝到目标机器
    vim /etc/ansible/nginx_install/roles/install/tasks/copy.yml

    • name: Copy Nginx Software
      copy: src=nginx.tar.gz dest=/tmp/nginx.tar.gz owner=root group=root
    • name: Uncompression Nginx Software
      shell: tar zxf /tmp/nginx.tar.gz -C /usr/local/
    • name: Copy Nginx Config
      template: src=nginx.conf dest={{ nginx_basedir }}/conf/ owner=root group=root mode=0644
      ######################################
      playbook 实战-nginx 安装4
      接下来会建立用户,启动服务,删除压缩包
      vim /etc/ansible/nginx_install/roles/install/tasks/install.yml

      • name: Create Nginx User
        user: name={{ nginx_user }} state=present createhome=no shell=/sbin/nologin
      • name: Start Nginx Service
        shell: /usr/local/nginx/sbin/nginx
      • name: Add Boot Start Nginx Service
        shell: chkconfig --level 345 nginx on
      • name: Delete Nginx compression files
        shell: rm -fr /tmp/nginx.tar.gz
        ##############################
        playbook 实战-nginx 安装 5
        再创建main.yml并且把copy和install调用
        vim /etc/ansible/nginx_install/roles/install/tasks/main.yml
    • include: copy.yml
    • include: install.yml
      到此两个roles: common和install就定义完成了,接下来要定义一个入口配置文件

      vim /etc/ansible/nginx_install/install.yml

      • hosts: centos101
        remote_user: root
        gather_facts: True
        roles

        • common
        • install

ansible自动化部署nginx艾艾贴相关推荐

  1. ansible 发部署nginx以及更新、回滚

    ansible 发部署nginx以及更新.回滚 ansible 和 saltstack 一样都是基于 Python 开发的,是比 puppet 和 saltstack 更轻量级的运维自动化工具. 一: ...

  2. K8S实战集训第一课 Ansible自动化部署k8s、弹性伸缩、Helm包管理、k8s网络模型介绍

    Ansible自动化部署K8S集群 一.Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部 ...

  3. ansible自动化部署(一)

    ansible自动化部署 最近因为工作需要学习了ansible,把这几天所学的东西做了个总结,和大家分享一下: 1.什么是ansible?ansible能干什么? ansible是新出现的自动化运维工 ...

  4. Jenkins+Gitlab+Ansible自动化部署(四)

    Jenkins+Gitlab+Ansible自动化部署(2021-08-11) 一.Jenkins Linux Shell 集成 登录Jenkins web管理页,点击新建任务 添加描述信息 添加构建 ...

  5. Ansible自动化部署配置实践(实现TDEngine集群的自动化部署)

    一.说明 Ansible是一款基于Python的自动化运维,用于发布.管理和编排计算机系统的工具.而且可以支持批量系统配置.批量部署运维.批量运行命令等功能. 这里以TDEngine的集群部署为例, ...

  6. ansible自动化部署

    ansible通过模块实现批量管理及部署服务器,功能有模块实现 ansible无需在被控端安装agent/client,因为ansible是通过ssh分发ad-hoc(单条指令)或者palybook( ...

  7. ansible vim_Vim插件,使用Ansible自动化部署策略,Pelican入门,Linux,Joplin,Python以及更多新鲜读物

    ansible vim 上周,有关Vim,Ansible,Python,Joplin和RetroPie的复古游戏的文章成为读者的最爱,此外,我们还汇总了一些最受欢迎的Linux和开源备忘单 . 您想在 ...

  8. gitlab与jenkins的自动化部署(通过webhook与ansible)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80 jenkins服务器:192.168.1.49:81 ...

  9. 自动化工具后起之秀Ansible的部署实践

    本文转自微信号EAWorld.扫描下方二维码,关注成功后,回复"普元方法+",将会获得热门课堂免费学习机会! 从早期手动加脚本的部署方式,到后来自动化工具(chef, puppet ...

最新文章

  1. DevOps火爆,招人却太难了!
  2. 系统计算机大小怎么更改,调整设置电脑图标大小的方法
  3. reshape2 数据操作 数据融合( cast)
  4. 【Tomcat】解决GET方式传递的参数(URL中的参数)乱码问题
  5. 如何将 DateTime 转成 UnixTime ?
  6. Oracle TNS-12535: TNS: 操作超时
  7. if 语句 写了return 报错
  8. LaTeX 引用表格、照片、公式的时候自动添加 table,fig,equ
  9. 联想教学用计算机,联想多媒体电子教室解决方案
  10. 蓝绿色——三色配色篇
  11. 【工商银行科技菁英计划笔试】压缩字符串
  12. 51单片机的红外遥控
  13. OSChina 周六乱弹 ——揭秘后羿怎么死的
  14. IOS简单的实现手机震动的提示
  15. org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
  16. mi4a android tv,小米电视4A精简系统教程
  17. tkinter天气查询可视化
  18. java.打印菱形_利用java程序打印空菱形
  19. 团队管理5--技术管理如何兼顾技术
  20. 中国博客网告别免费午餐 用户数据清除延至7月1日

热门文章

  1. UnityShader初级篇——渐变纹理
  2. onlyoffice转换html,CentOS7安装onlyoffice实现word的在线预览和编辑
  3. dll注册加载失败解决方法,请确保二进制的解决办法(无数踩坑试出来的)
  4. 令人头疼的优化问题——多目标规划问题matlab求解
  5. 如何生成题注和表注目录
  6. 电视盒子和机顶盒有什么区别?哪个更值得买?
  7. 目标检测—RCNN系列
  8. (1小时数据结构)数据结构c++描述(十九) --- 最大左高树
  9. 数据库课程设计-职工工资管理系统
  10. 盖泽尔智力测试软件,宝宝聪明不聪明?只需测一测,不用去医院,家长在家轻松筛查...