ansible-handlers变更执行操作
1. ansible-handlers在变更执行操作
1) 编写playbook的handlers的配置文件
1 [root@test-1 bin]# vim /ansible/nginx/bin/handlers.yaml
2 [root@test-1 bin]# cat /ansible/nginx/bin/handlers.yaml
3 ---
4 - hosts: web1
5 remote_user: root
6 gather_facts: no
7
8 tasks:
9 - name: Copy nginx config file
10 copy:
11 src: /ansible/nginx/conf/site.conf
12 dest: /etc/nginx/conf.d/site.conf
13 notify:
14 - reload nginx #这里是指定要执行那个的handlers,对应下面的name,我们可以定义多个handlers,通过handlers name来识别不同的handlers
15
16 handlers: #这里表示如果拷贝文件成功,就使用service服务重启nginx
17 - name: reload nginx
18 service:
19 name: nginx
20 state: reloaded
2) 查看原来服务器的nginx配置文件
1 [root@test-1 bin]# ansible web1 -a "cat /etc/nginx/conf.d/site.conf"
2
3 192.168.200.133 | CHANGED | rc=0 >>
4 server {
5 listen 80;
6 server_name www.ctnrs.com;
7 location / {
8 root /var/www/html;
9 index index.html;
10 }
11 }
12
13 192.168.200.132 | CHANGED | rc=0 >>
14 server {
15 listen 80;
16 server_name www.ctnrs.com;
17 location / {
18 root /var/www/html;
19 index index.html;
20 }
21 }
3) 修改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 test.scajy.cn;
6 location / {
7 root /var/www/html;
8 index index.html;
9 }
10 }
2. 验证handlers文件是否正确
1) 验证编写handlers文件
1 [root@test-1 bin]# ansible-playbook --syntax-check handlers.yaml
2
3
4 playbook: handlers.yaml
3. 执行handlers文件
1) 执行文件
1 [root@test-1 bin]# ansible-playbook handlers.yaml
2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
3
4
5 PLAY [web1] ******************************************************************************************************************************************************************************************************************************************************************
6
7 TASK [Copy nginx config file] ************************************************************************************************************************************************************************************************************************************************
8 changed: [192.168.200.133]
9 changed: [192.168.200.132]
10
11 RUNNING HANDLER [reload nginx] ***********************************************************************************************************************************************************************************************************************************************
12 changed: [192.168.200.132]
13 changed: [192.168.200.133]
14
15 PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
16 192.168.200.132 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
17 192.168.200.133 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
4. 验证是否成功执行了
1)验证文件是否改变
1 [root@test-1 bin]# ansible web1 -a "cat /etc/nginx/conf.d/site.conf"
2
3
4 192.168.200.133 | CHANGED | rc=0 >>
5 server {
6 listen 80;
7 server_name test.scajy.cn;
8 location / {
9 root /var/www/html;
10 index index.html;
11 }
12 }
13
14 192.168.200.132 | CHANGED | rc=0 >>
15 server {
16 listen 80;
17 server_name test.scajy.cn;
18 location / {
19 root /var/www/html;
20 index index.html;
21 }
22 }
2) 验证nginx是否正常运行
1 [root@test-1 bin]# ansible web1 -m shell -a "netstat -lntup|grep 80"
2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
3
4 192.168.200.133 | CHANGED | rc=0 >>
5 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17881/nginx: master
6
7 192.168.200.132 | CHANGED | rc=0 >>
8 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17792/nginx: master
9
10 [root@test-1 bin]# ansible web1 -m shell -a "ps -ef |grep nginx"
11 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
12
13 192.168.200.132 | CHANGED | rc=0 >>
14 root 17792 1 0 15:04 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
15 nginx 18524 17792 0 20:41 ? 00:00:00 nginx: worker process
16 root 18735 18730 58 20:51 pts/1 00:00:00 /bin/sh -c ps -ef |grep nginx
17 root 18737 18735 0 20:51 pts/1 00:00:00 grep nginx
18
19 192.168.200.133 | CHANGED | rc=0 >>
20 root 17881 1 0 15:04 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
21 nginx 18613 17881 0 20:41 ? 00:00:00 nginx: worker process
22 root 18825 18820 62 20:51 pts/1 00:00:00 /bin/sh -c ps -ef |grep nginx
23 root 18827 18825 0 20:51 pts/1 00:00:00 grep nginx
3) curl模拟浏览器请求
1 [root@test-1 bin]# curl 192.168.200.133 -H "host:test.scajy.cn"
2 hello Ansible
3 [root@test-1 bin]# curl 192.168.200.132 -H "host:test.scajy.cn"
4 hello Ansible
ansible-handlers变更执行操作的更多相关文章
- C# 对包含文件或目录路径信息的 System.String 实例执行操作
在字符串操作中有一类比较特殊的操作,就是对包含文件或目录路径信息的 System.String 实例执行操作.比如根据一个表示路径的字符串获取其代表的文件名称.文件夹路径.文件扩展名等.在很多时候,我 ...
- [转]js中confirm实现执行操作前弹出确认框的方法
原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...
- 利用Fiddler修改请求信息通过Web API执行操作(Action)实例
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复261或者20170724可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- php定时执行操作及ob_flush()与flush()的使用
版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/qq_38125058 一: 每隔30s执行一次,将字符串写入文件 // 30秒执行一次 ignore_ ...
- dotnetcore ef 调用多个数据库时用户命令执行操作报错
dotnetcore ef 调用多个数据库时用户命令执行操作报错 1.多个DbContext 时报错: 报错: More than one DbContext was found. Specify w ...
- 多个iframe中根据src获取特定iframe并执行操作
多个iframe中根据src获取特定iframe并执行操作 前言:在项目中做一个批量编辑工单时需要在一大堆的iframe中的某一个iframe里边再用模态框的形式显示编辑区域,然后再在模态框里边加入i ...
- loadrunner 脚本开发-执行操作系统命令
脚本开发-执行操作系统命令 by:授客 QQ:1033553122 思路: 用loadrunner system()函数 函数原型: int system( const char *string ); ...
- SQL0668N 不允许对表"xxx"执行操作,原因码为 "1"
使用db2 load导入30万条记录到某个表,成功后发现表被锁了,并显示: SQL0668N 不允许对表"xxx"执行操作,原因码为 "1" google了一 ...
- JDBC连接数据库及其执行操作
作者:Alvin 功能:数据库连接与实现增删改查 时间:2019年3月4日08点33分 参考文章:https://www.2cto.com/database/201805/743741.html 一. ...
随机推荐
- SICP 习题1.10
题目要求 解题方法 递归计算 没什么好说的,单纯的套用数学公示 (define (f n) (if (< n 3) n (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 ...
- 使用HttpUrlConnection访问www.163.com遇到503问题,用设置代理加以解决
一次我使用如下程序连接到网易,意图获取其网站的html文本: try { String urlPath = "http://www.163.com/"; URL url = new ...
- 从两表连接看Oracle sql优化器的效果
select emp.*,dept.* from tb_emp03 emp,tb_dept03 dept where emp.deptno=dept.id -- 不加hint SQL> sele ...
- ParticleSystem的小优化
最近游戏场景希望加入一些ParticleSystem来丰富场景,这样肯定会带来一定的性能开销.一般来说ParticleSystem的优化就是尽量减少粒子数,尽量不使用粒子碰撞等.而今天要说的是,多个P ...
- 抓取 USB 总线LOG
在实际工作中经常会遇到需要分析USB报文的情形.比如对比不同厂家4G/5G模块.解决实际IP over USB传输效率低下问题. 这时候如果能抓取到 USBMOM 总线的报文将会大有裨益.毕竟所有ho ...
- 【二叉树-最长路径系列(任意路径)】直径、最长同值路径、 最大路径和(DFS、树形DP)
总述 这类题目都是求一个最长路径,这个路径可以不经过根节点. 使用dfs(即递归地遍历树)的方法.维护一个全局最长路径max作为最终结果,而递归方法dfs返回的是含根节点的最长路径.(若不使用全局变量 ...
- python变量及简单数据类型
python 目录 python 1.变量 1.变量的定义 2.变量的命名 3. 关键字 4.变量的命名规则 5.变量的类型 5.不同类型变量之间的计算 6.变量的输入 7.变量的格式化输出 8.格式 ...
- 【好消息】博客迁移到github,求关注,求star,求支持
博客迁移到github 地址:https://github.com/dirkhe1051931999/hjBlog
- Centos 7 redis、tomcat、Spring Boot添加开机自启服务
一.redis添加开机自启 1.添加服务配置文件 [root@test system]# vim /etc/systemd/system/redis-server.service 2.服务配置文件内容 ...
- elasticsearch备份和还原(基于hdfs)
备份和还原,为什么elasticsearch还需要备份呢,明明可以设置副本做到高可用,那怕啥呢? 其实在实际的生产环境中,一般最终的结果数据都是要备份的,这样的做的目的,就是能够以最快的速度还原数据, ...