zoukankan      html  css  js  c++  java
  • ansible安装nginx

    ansible安装nginx(实现回滚发布功能:下一篇博客。没想到写长了)

    一、准备工作

    1、准备两台机器

    sai: 192.168.131.132  ——》 ansible的服务端

    luojy: 192.168.131.133 ——》 ansible的客户端

    2、132机器上安装ansible

    (1)yum install -y epel-release
    (2)yum install -y ansible
     
    3、132,133机器上关闭防火墙
     
    4、设置hostname,/etc/sysconfig/network 上定义
    132机器:HOSTNAME=web1.luojy.com
    133机器:HOSTNAME=web3.luojy.com
     
    5、编辑hosts文件
    192.168.131.132 web1.luojy.com
    192.168.131.133 web3.luojy.com
     
     
    6、Ansible 配置密钥(因为ansible是通过 sshd 来实现客户端和服务端通信的)
    注意:如果要对本机即132上用ansible来做操作,也需要保存公钥的~~~ 
    (1)132机器上生成密钥对:ssh-keygen -t rsa
    (2)id_rsa.pub 拷贝到 131上(.ssh/authorized_keys,  设置600只读权限)
     
    7、/etc/ansible/hosts 添加

    这个web2.luojy.com 我用来做别的事了,而且web2是已经安装过nginx的,web3没有,所以就web3咯~~

    验明正身,请看web3!!!
    二、安装nginx
    (i)思路:
    web1机器上编译安装好nginx、打包,然后再用ansible去下发到各个客户端机器上
    把nginx目录打包,把配置文件放到指定目录下
    把tar包打包,放到其他机器上安装
    由于nginx会依赖库文件,所以对方机器上要安装依赖的包/库  ——》 yum
     
    (ii)具体安装过程
    web1
    1、web1上原来已安装nginx
    打包工作
    (1) cd /usr/local
    (2) tar zcvf nginx.tar.gz 
     
    2、cd /etc/ansible;     mkdir nginx_install 
    3、cd nginx_install;   mkdir roles
    4、cd roles;              mkdir common install

    目录说明:

    (1)common: 一些准备操作
    (2)install: 安装nginx的操作
     
    5、创建common下tasks目录,里面是web3机器需要安装的依赖包
    cd common/;  mkdir tasks; 
    (1)vim main.yml
     
    6、进入install目录下,创建四个目录
    (1)  cd  install/
    (2)mkdir tasks vars files templates
    说明:
    (a)tasks: 里面是核心的配置文件
    (b)vars:定义的变量
    (c)files:安装时用到的一些文件
    (d)templates:存一些配置文件,启动脚本等模板文件
     
    7、复制打包文件,配置文件,启动脚本到相应目录下
    (1)cp /usr/local/nginx/tar.gz  files/
    (2)cp /usr/local/nginx/conf/nginx.conf  templates/
    (3)cp /etc/init.d/nginx  templates/
     
    8、定义变量(第2行非必须)
    vim var/main.yml

    9、vim tasks/copy.yml   ——》 顾名思义,就是指定 copy 一些东西到对方机器哒,具体看name解说

    说明:

    (a)copy: src=nginx.tar.gz   直接这样写是因为.gz文件是在files下的

    (b)template: src=nginx.conf    也是会从templates下直接找到 .conf文件

    (c)nginx_basedir    在var目录下
     
     
    10、vim tasks/install.yml ——》 安装(非常好懂是吧),运行user,开启服务,加入系统服务列表

    善后工作都做埋了(删除 .gz)

    11、vim tasks/main.yml   ——》 就是串起 copy.yml 和 install.yml 的

    结构是这样的

    12、定义大boss ——》总入口配置文件

    (1)cd /etc/ansible/nginx_install/

    (2)vim install.yml

    (iii)执行命令 + 测试

    1、web1执行:  ansible-playbook install.yml

    warning无伤大雅~~~

    我记得运行这条命令出了一个小问题

    如下----------------------------------------------------------------------------------------

    解决方法

    web3安装:yum install -y libselinux-python

    -------------------------------------------------------------------------------------------- 

    2、web3(luojy)测试

    (1)测试依赖包:rpm -qa |egrep 'pcre|openssl|zlib'

     

    (2)测试拷贝解压

    (3)测试进程启动: ps aux |grep nginx

     (4)测试系统服务:chkconfig --list nginx  345启动

    好啦~~~搞掂~~~~~ ^___^

  • 相关阅读:
    顺序容器删除元素 vector list deque
    smart_pointer example
    c++ new bad_alloc
    mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
    centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解
    配置zabbix当内存剩余不足10%的时候触发报警
    zabbix通过curl命令判断web服务是否正常并自动重启服务
    日志分析工具ELK配置详解
    zabbix3.0.4监控mysql主从同步
    使用percona-xtrabackup实现对线上zabbix监控系统数据库mariadb5.5.47的主从同步
  • 原文地址:https://www.cnblogs.com/windysai/p/6282330.html
Copyright © 2011-2022 走看看