zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Redis内存回收策略
    7、IMS
    6、端局、汇接局、关口局、长途局
    5、IMS网元
    4、IMS
    3、NAT
    2、SIP
    1、B2BUA
    九、数据库——sql server 2008导入excel
    六十三、android pad
  • 原文地址:https://www.cnblogs.com/scajy/p/11510464.html
Copyright © 2011-2022 走看看