【ansible】使用ansible安装nginx
一、主机准备
ServerIP:10.10.10.102
ClientIP: 10.10.10.103,10.10.10.104
二、安装ansible
yum -y install ansible
三、配置免密登录
1.在Server上制作公钥和私钥
[root@localhost roles]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fsarmF7FOVq6/s2ka/VjhEIjbnEcPoQvobEqL1dV63g root@localhost.localdomain
The key's randomart image is:
+---[RSA ]----+
| . |
| . o + |
| + B o |
| o =.X. |
| . oSO*o . |
| . . ..+*E.o . |
| o . .=.+o.o |
| . o + +.* + |
| o .+.++=.o. . |
+----[SHA256]-----+
[root@localhost roles]#
2.将Server上的公钥复制到Client上
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@10.10.10.103
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@10.10.10.104
#写入成功后会在10.10.10.103目录~/.ssh/下生成authorized_keys #验证免密登录是否成功,回车后能登录成功,说明设置成功
ssh root@10.10.10.103
四、编写ansible相关配置文件
1.ansible的目录结构如下
├── ansible.cfg
├── hosts
├── install_nginx.yml
└── roles
└── install_nginx
├── files
│ ├── install_nginx.sh
│ └── nginx-1.14.0.tar.gz
├── tasks
│ └── main.yml
├── templates
└── vars
└── main.yml
2.相关配置文件内容如下:
/etc/ansible/hosts文件:
[Client]
10.10.10.103
10.10.10.104
/etc/ansible/install_nginx.yml
[root@CentOS7 ansible]# more install_nginx.yml
---
- hosts: Client
roles:
- install_nginx
/etc/ansible/roles/install_nginx/files/install_nginx.sh
[root@CentOS7 files]# more install_nginx.sh
#!/bin/bash cd /usr/local/nginx-1.14.
./configure --prefix=/usr/local/nginx
make && make install /usr/local/nginx/sbin/nginx
/etc/ansible/roles/install_nginx/tasks/main.yml
[root@CentOS7 tasks]# more main.yml
---
- name: Install Software
yum: name={{ item }} state=latest
with_items:
- gcc
- gcc-c++
- zlib-devel
- pcre-devel
- openssl
- openssl-devel
- name: Copy nginx.tar.gz
copy: src=nginx-{{ nginx_version }}.tar.gz dest={{ nginx_dir }}/nginx-{{ nginx_version }}.tar.gz owner=root group=root
- name: Copy install_nginx.sh
copy: src=install_nginx.sh dest=/tmp/install_nginx.sh
- name: uncompress nginx.tar.gz
shell: tar -xf {{ nginx_dir }}/nginx-{{ nginx_version }}.tar.gz -C {{ nginx_dir }}/
- name: install nginx
shell: /bin/bash /tmp/install_nginx.sh
/etc/ansible/roles/install_nginx/vars/main.yml
[root@CentOS7 vars]# more main.yml
nginx_dir: /usr/local
nginx_version: 1.14.
五、使用ansible安装nginx并启动
[root@CentOS7 ansible]# cd /etc/ansible
[root@CentOS7 ansible]# ansible-playbook install_nginx.yml PLAY [Client] ****************************************************************************************************************************************************** TASK [Gathering Facts] *********************************************************************************************************************************************
ok: [10.10.10.103]
ok: [10.10.10.104] TASK [install_nginx : Install Software] ****************************************************************************************************************************
ok: [10.10.10.103] => (item=[u'gcc', u'gcc-c++', u'zlib-devel', u'pcre-devel', u'openssl', u'openssl-devel'])
ok: [10.10.10.104] => (item=[u'gcc', u'gcc-c++', u'zlib-devel', u'pcre-devel', u'openssl', u'openssl-devel']) TASK [install_nginx : Copy nginx.tar.gz] ***************************************************************************************************************************
changed: [10.10.10.103]
changed: [10.10.10.104] TASK [install_nginx : Copy install_nginx.sh] ***********************************************************************************************************************
changed: [10.10.10.103]
changed: [10.10.10.104] TASK [install_nginx : uncompress nginx.tar.gz] *********************************************************************************************************************
[WARNING]: Consider using unarchive module rather than running tar changed: [10.10.10.103]
changed: [10.10.10.104] TASK [install_nginx : install nginx] *******************************************************************************************************************************
changed: [10.10.10.103]
changed: [10.10.10.104] PLAY RECAP *********************************************************************************************************************************************************
10.10.10.103 : ok= changed= unreachable= failed=
10.10.10.104 : ok= changed= unreachable= failed=
六、验证
在安装完成后,可以到Client验证nginx是否安装完成!
如下是在10.10.10.104上的验证结果:
[root@CentOS7 local]# ps -ef|grep nginx
root : ? :: nginx: master process /usr/local/nginx/sbin/nginx
nobody : ? :: nginx: worker process
root : pts/ :: grep --color=auto nginx
[root@CentOS7 local]#
【ansible】使用ansible安装nginx的更多相关文章
- Ansible 使用 Playbook 安装 Nginx
思路:先在一台机器上编译安装好 Nginx,打包,然后通过 Ansible 下发 [root@localhost ~]$ cd /etc/ansible/ [root@localhost ansibl ...
- ansible roles实践——安装nginx
1.创建roles 在/etc/ansible/roles目录下 1.1 手动创建需要的目录 1.2 使用命令创建,用不到的目录可以创建为空目录,但不可以不创建. 创建目录[root@master] ...
- ansible的playbook进行yum批量安装nginx最新版本
环境:centos7 版本:nginx最新版本 软件: ansible 作用: 进行批量执行不同机器上,进行安装nginx版本 检查脚本是否正确: [root@ansible-test ansible ...
- ansible安装nginx
ansible安装nginx(实现回滚发布功能:下一篇博客.没想到写长了) 一.准备工作 1.准备两台机器 sai: 192.168.131.132 ——> ansible的服务端 luojy ...
- ansible案例-安装nginx
一.创建目录: mkidr -p playbook/{files,templates} 二.自定义index.html文件 $ vim playbook/templates/index.html. ...
- 使用Ansible安装部署nginx+php+mysql之安装nginx(1)
使用Ansible安装nginx 1.nginx.yaml文件 --- - hosts: clong remote_user: root gather_facts: no tasks: # 安装epe ...
- Ansible 入门指南 - 安装及 Ad-Hoc 命令使用
安装及配置 ansible Ansilbe 管理员节点和远程主机节点通过 SSH 协议进行通信.所以 Ansible 配置的时候只需要保证从 Ansible 管理节点通过 SSH 能够连接到被管理的远 ...
- ansible指路篇-安装及基本命令使用
ansible指路篇-安装及基本命令使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是ansible ansible是新出现的自动化运维工具,基于Python开发,集合 ...
- ansible示例,离线安装etcd
一.基础介绍 ========================================================================================== 1. ...
随机推荐
- linux nginx 404错误页面设置
配置nginx 实现404错误 返回一个页面 1.配置nginx.conf 在http代码块 添加 fastcgi_intercept_errors on; 2.在网站的sever代码块 添加 err ...
- ArcGIS API for Javascript 使用缓冲区结果做query查询出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误
1.前言 在研究ArcGIS API for JavaScript时会遇到这样的问题,比如我们在做缓冲区分析时,用分析的范围作为空间查询query的参数,在执行结果中总是会看到“esri.config ...
- LEMP (LNMP) Stack-5.4.16 (OpenLogic CentOS 7.2)
LEMP (LNMP) Stack-5.4.16 (OpenLogic CentOS 7.2) 平台: CentOS 类型: 虚拟机镜像 软件包: mariadb-5.5.47 nginx-1.6.3 ...
- linux 命令——35 ln(转)
ln 是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要 ...
- js 正则匹配(去掉html标签)
正则匹配去掉所有html标签 var a = "<span>999</span>" a = a.replace(/<[^>]+>/g,' ...
- 模块化Java简介
什么是模块化? 模块化是个一般概念,这一概念也适用于软件开发,可以让软件按模块单独开发,各模块通常都用一个标准化的接口来进行通信.实际上,除了规模大小有区别外,面向对象语言中对象之间的关注点分离与 ...
- Aizu 0121 Seven Puzzle(变进制数的完美hash)
一遍预处理跑完所有情况,O(1)回答就好.状态记录我用的康拓和逆康拓. #include<bits/stdc++.h> using namespace std; ]; ]; ]; int ...
- Using an Image for the Layer’s Content
Using an Image for the Layer’s Content Because a layer is just a container for managing a bitmap ima ...
- Softmax回归(Softmax Regression
多分类问题 在一个多分类问题中,因变量y有k个取值,即.例如在邮件分类问题中,我们要把邮件分为垃圾邮件.个人邮件.工作邮件3类,目标值y是一个有3个取值的离散值.这是一个多分类问题,二分类模型在这里不 ...
- OO2019第四单元作业总结
一.本单元两次作业的架构设计 1.第一次作业 第一次作业由于时间仓促,没有过多的架构设计,就直接补全了所给的MyUmlInteraction类,导致整个程序的代码风格和效率都不高,在强测中也因此失掉 ...