ansible-初始playbook安装nginx
1. ansible-初始playbook安装nginx
1) 创建一个ansible存放路径
1 [root@test-1 scripts]# mkdir -p /ansible/nginx/{conf,bin}
2) 验证存放路径
1 [root@test-1 bin]# tree /ansible/
2 /ansible/
3 └── nginx
4 ├── bin
5 │ └── nginx.yaml
6 └── conf
7 └── site.conf
8
9 3 directories, 2 files
2. 编写playbook的nginx安装yaml文件
1) 编写nginx.yaml配置文件
1 [root@test-1 bin]# vim /ansible/nginx/bin/nginx.yaml
2 [root@test-1 bin]#cat /ansible/nginx/bin/nginx.yaml
3 - hosts: web1
4 remote_user: root
5 vars:
6 hello: Ansible
7
8 tasks:
9 - name: Add repo
10 yum_repository:
11 name: nginx
12 description: nginx repo
13 baseurl: http://nginx.org/packages/centos/7/$basearch/
14 gpgcheck: no
15 enabled: 1
16 - name: Install nginx
17 yum:
18 name: nginx
19 state: latest
20 - name: Copy nginx configuration file
21 copy:
22 src: /ansible/nginx/conf/site.conf
23 dest: /etc/nginx/conf.d/site.conf
24 - name: Start nginx
25 service:
26 name: nginx
27 state: started
28 - name: Create wwwroot directory
29 file:
30 dest: /var/www/html
31 state: directory
32 - name: Create test page index.html
33 shell: echo "hello {{hello}}" > /var/www/html/index.html
2) 编写nginx的配置文件
1 [root@test-1 bin]# vim /ansible/nginx/conf/site.conf
2 [root@test-1 bin]# cat /ansible/nginx/conf/site.conf
3 server {
4 listen 80;
5 server_name www.ctnrs.com;
6 location / {
7 root /var/www/html;
8 index index.html;
9 }
10 }
3. 验证playbook是否正确
1) 验证
1 [root@test-1 bin]# ansible-playbook /ansible/nginx/bin/nginx.yaml --syntax-check
2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
3
4
5 playbook: /ansible/nginx/bin/nginx.yaml
提示:
验证配置文件正确,没问题
4. 执行ansible-playbook远程安装
1) 执行安装nginx
1 [root@test-1 bin]# ansible-playbook /ansible/nginx/bin/nginx.yaml
2
3 PLAY [web1] ******************************************************************************************************************************************************************************************************************************************************************
4
5 TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************************************************
6 ok: [192.168.200.132]
7 ok: [192.168.200.133]
8
9 TASK [Add repo] **************************************************************************************************************************************************************************************************************************************************************
10 ok: [192.168.200.132]
11 ok: [192.168.200.133]
12
13 TASK [Install nginx] *********************************************************************************************************************************************************************************************************************************************************
14 changed: [192.168.200.132]
15 changed: [192.168.200.133]
16
17 TASK [Copy nginx configuration file] *****************************************************************************************************************************************************************************************************************************************
18 ok: [192.168.200.132]
19 ok: [192.168.200.133]
20
21 TASK [Start nginx] ***********************************************************************************************************************************************************************************************************************************************************
22 changed: [192.168.200.133]
23 changed: [192.168.200.132]
24
25 TASK [Create wwwroot directory] **********************************************************************************************************************************************************************************************************************************************
26 ok: [192.168.200.132]
27 ok: [192.168.200.133]
28
29 TASK [Create test page index.html] *******************************************************************************************************************************************************************************************************************************************
30 changed: [192.168.200.133]
31 changed: [192.168.200.132]
32
33 PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
34 192.168.200.132 : ok=7 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
35 192.168.200.133 : ok=7 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
5. 验证是否部署成功
1) 验证
1 [root@test-1 bin]# ansible web1 -m shell -a "ps -ef |grep nginx"
2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
3
4 192.168.200.132 | CHANGED | rc=0 >>
5 root 17792 1 0 15:04 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
6 nginx 17793 17792 0 15:04 ? 00:00:00 nginx: worker process
7 root 17970 17965 68 15:22 pts/1 00:00:00 /bin/sh -c ps -ef |grep nginx
8 root 17972 17970 0 15:22 pts/1 00:00:00 grep nginx
9
10 192.168.200.133 | CHANGED | rc=0 >>
11 root 17881 1 0 15:04 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
12 nginx 17882 17881 0 15:04 ? 00:00:00 nginx: worker process
13 root 18058 18053 73 15:22 pts/1 00:00:00 /bin/sh -c ps -ef |grep nginx
14 root 18060 18058 0 15:22 pts/1 00:00:00 grep nginx
15
16
17 [root@test-1 bin]# ansible web1 -m shell -a "netstat -lntup |grep 80"
18 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
19
20 192.168.200.132 | CHANGED | rc=0 >>
21 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17792/nginx: master
22
23 192.168.200.133 | CHANGED | rc=0 >>
24 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17881/nginx: master
2) 模拟浏览器请求
1 [root@test-1 scripts]# curl 192.168.200.132 -H "Host:www.ctnrs.com"
2 hello Ansible
3 [root@test-1 scripts]# curl 192.168.200.133 -H "Host:www.ctnrs.com"
4 hello Ansible
ansible-初始playbook安装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 管理 Nginx 配置文件
前面我们已经安装完 Nginx,但是在日常维护中经常需要修改配置文件,并重新加载配置文件,因此来写一个管理 Nginx 配置文件的 Playbook: [root@localhost ~]$ mkdi ...
- Ansible 之Playbook
ansbile playbook是一系列ansible命令的集合,利用yaml 语言编写,playbook命令根据自上而下的顺序依次执行.同时,playbook开创了很多特性,它可以允许你传输某个命令 ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- ansible的playbook进行yum批量安装nginx最新版本
环境:centos7 版本:nginx最新版本 软件: ansible 作用: 进行批量执行不同机器上,进行安装nginx版本 检查脚本是否正确: [root@ansible-test ansible ...
- ansible案例-安装nginx
一.创建目录: mkidr -p playbook/{files,templates} 二.自定义index.html文件 $ vim playbook/templates/index.html. ...
- 在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操
前言 Ansible是一款优秀的自动化IT运维工具,具有远程安装.远程部署应用.远程管理能力,支持Windows.Linux.Unix.macOS和大型机等多种操作系统. 下面就以CentOS 7.6 ...
- playbook实现nginx安装
1. 先在一台机器上编译安装好nginx,然后打包 tar -zcvf nginx.tar.gz /usr/local/nginx --exclude=conf/nginx.conf --exclud ...
随机推荐
- JVM—01
目录 1.1 JVM系统架构图 2.1 类加载器 2.1.1 双亲委派机制 2.1.2 沙箱安全机制 3.1 Native 4.1 PC寄存器 1.1 JVM系统架构图 JVM是什么? JVM是Jav ...
- Hive 高阶应用开发示例(一)
Hive的一些常用的高阶开发 内容 1.开窗函数 2.行转列,列转行,多行转一行,一行转多行 3.分组: 增强型group 4.排序 5.关联 本次的内容: 内容1 和内容2,采用 ...
- Mysql业务设计(物理设计)
物理设计 根据所选择的关系型数据库的特点对逻辑模型进行存储结构的设计 物理设计: 定义数据库.表及字段的命名规范 选择合适的存储引擎 为表中的字段选择合适的数据类型 建立数据库结构 定义数据库.表及字 ...
- shell小技巧(4)AIX和Linux计算天前日期
Linux计算天前日期: date -d "- day" +%Y%m%d AIX计算5天前日期: perl -e "use POSIX qw(strftime); pri ...
- java实现zip文件的解压
使用到的包 org.apache.commons 下载文件 url:文件所在地址需要是http:// filePath:将下载的文件保存的路径 public static void getDownlo ...
- vue父子传值与非父子传值
大概梳理下传值的几种方式 一:父子组件传值 props方式 子组件对外暴露方法并向父组件传递由于触发方法导致的值的变化,父组件接收子组件传递来的值:子组件接收父组件传递来的值,并根据传递来的值在子组件 ...
- 动手编写—动态数组(Java实现)
目录 数组基础回顾 自定义动态数组 动态数组的设计 抽象父类接口设计 抽象父类设计 动态数组之DynamicArray 补充数组缩容 全局的关系图 声明 数组基础回顾 1.数组是一种常见的数据结构,用 ...
- Linux下Shell日期的格式,你知道几种?
Linux下Shell日期的格式,你知道几种? 不管是哪种语言,日期/时间都是一个非常重要的值.比如我们保存日志的时候,往往是某个前缀再加上当前时间,这样日志文件名称就可以做到唯一. 在Shell环境 ...
- [程序员代码面试指南]二叉树问题-在二叉树中找到两个节点的最近公共祖先、[LeetCode]235. 二叉搜索树的最近公共祖先(BST)(非递归)
题目 题解 法一: 按照递归的思维去想: 递归终止条件 递归 返回值 1 如果p.q都不在root为根节点的子树中,返回null 2 如果p.q其中之一在root为根节点的子树中,返回该节点 3 如果 ...
- hystrix总结之限流
hystrix使用舱壁隔离模式来隔离和限制各个请求,设计了两种隔离方式:信号量和线程池.线程池隔离:对每个command创建一个自己的线程池,执行调用.通过线程池隔离来保证不同调用不会相互干扰和每一个 ...