qrqwe 发表于 2015-5-21 08:44:45

【saltstack学习笔记之十】使用sls安装nginx并管理nginx的配置文件

1.需求
    使用sls安装nginx并管理nginx的配置文件,当nginx配置文件被修改时,自动更新配置文件,并重启nginx。

2.配置
    1.在master端上写好nginx.sls文件
      mkdir -p /srv/salt/nginx

      cd /srv/salt/nginx

            vim init.sls


nginx:
pkg:
    - installed
service:
    - running
    - enable: True
    - reload: True
    - watch:
      - pkg: nginx
      - file: /etc/nginx/nginx.conf
      - file: /etc/nginx/conf.d/default.conf
/etc/nginx/nginx.conf:
file.managed:
    - source: salt://etc/nginx/nginx.conf
    - user: root
    - group: root
    - mode: 644
/etc/nginx/conf.d/default.conf:
file.managed:
    - source: salt://etc/nginx/conf.d/default.conf
    - user: root
    - group: root
    - mode: 644
保存退出
    2.在master端上安装nginx,方便生成nginx的配置文件(生产环境中其实是不需要安装的)

        yum -y install nginx

    3.创建nginx同步目录

        mkdir /srv/salt/etc/nginx/conf.d -p

    4.拷贝nginx的配置文件到/srv/salt/etc/nginx/目录下

        cp /etc/nginx/nginx.conf /srv/salt/etc/nginx/

    5.拷贝default.conf配置文件到/srv/salt/nginx/conf.d/目录下

        cp /etc/nginx/conf.d/default.conf /srv/salt/etc/nginx/conf.d/

    6.下发安装指令# salt '*' state.sls nginx


Admin3-saltstack.littlebee.com:
----------
          ID: nginx
    Function: pkg.installed
      Result: True
   Comment: The following packages were installed/updated: nginx
   Started: 16:00:54.241160
    Duration: 100771.423 ms
   Changes:   
            ----------
            GeoIP:
                  ----------
                  new:
                      1.6.5-1.el6
                  old:
            GeoIP-GeoLite-data:
                  ----------
                  new:
                      2015.04-2.el6
                  old:
            GeoIP-GeoLite-data-extra:
                  ----------
                  new:
                      2015.04-2.el6
                  old:
            gd:
                  ----------
                  new:
                      2.0.35-11.el6
                  old:
            geoipupdate:
                  ----------
                  new:
                      2.2.1-2.el6
                  old:
            libXpm:
                  ----------
                  new:
                      3.5.10-2.el6
                  old:
            libxslt:
                  ----------
                  new:
                      1.1.26-2.el6_3.1
                  old:
            nginx:
                  ----------
                  new:
                      1.0.15-11.el6
                  old:
            nginx-filesystem:
                  ----------
                  new:
                      1.0.15-11.el6
                  old:
----------
          ID: /etc/nginx/nginx.conf
    Function: file.managed
      Result: True
   Comment: File /etc/nginx/nginx.conf is in the correct state
   Started: 16:02:35.422030
    Duration: 3.826 ms
   Changes:   
----------
          ID: /etc/nginx/conf.d/default.conf
    Function: file.managed
      Result: True
   Comment: File /etc/nginx/conf.d/default.conf is in the correct state
   Started: 16:02:35.430801
    Duration: 2.863 ms
   Changes:   
----------
          ID: nginx
    Function: service.running
      Result: True
   Comment: Service nginx has been enabled, and is running
   Started: 16:02:35.440698
    Duration: 583.024 ms
   Changes:   
            ----------
            nginx:
                  True


Summary
------------
Succeeded: 4 (changed=2)
Failed:    0
------------
Total states run:   4
Admin2-saltstack.littlebee.com:
----------
          ID: nginx
    Function: pkg.installed
      Result: True
   Comment: The following packages were installed/updated: nginx
   Started: 16:00:53.829498
    Duration: 145884.537 ms
   Changes:   
            ----------
            GeoIP:
                  ----------
                  new:
                      1.6.5-1.el6
                  old:
            GeoIP-GeoLite-data:
                  ----------
                  new:
                      2015.04-2.el6
                  old:
            GeoIP-GeoLite-data-extra:
                  ----------
                  new:
                      2015.04-2.el6
                  old:
            gd:
                  ----------
                  new:
                      2.0.35-11.el6
                  old:
            geoipupdate:
                  ----------
                  new:
                      2.2.1-2.el6
                  old:
            libXpm:
                  ----------
                  new:
                      3.5.10-2.el6
                  old:
            libxslt:
                  ----------
                  new:
                      1.1.26-2.el6_3.1
                  old:
            nginx:
                  ----------
                  new:
                      1.0.15-11.el6
                  old:
            nginx-filesystem:
                  ----------
                  new:
                      1.0.15-11.el6
                  old:
----------
          ID: /etc/nginx/nginx.conf
    Function: file.managed
      Result: True
   Comment: File /etc/nginx/nginx.conf is in the correct state
   Started: 16:03:20.181447
    Duration: 5.708 ms
   Changes:   
----------
          ID: /etc/nginx/conf.d/default.conf
    Function: file.managed
      Result: True
   Comment: File /etc/nginx/conf.d/default.conf is in the correct state
   Started: 16:03:20.198217
    Duration: 4.887 ms
   Changes:   
----------
          ID: nginx
    Function: service.running
      Result: True
   Comment: Service nginx has been enabled, and is running
   Started: 16:03:20.214405
    Duration: 340.608 ms
   Changes:   
            ----------
            nginx:
                  True


Summary
------------
Succeeded: 4 (changed=2)
Failed:    0
------------
Total states run:   4
出现上面的信息则表示安装成功了
也可以在minion端看服务是否起来:

# /etc/init.d/nginx status
nginx (pid3046) is running...
# /etc/init.d/nginx status
nginx (pid2876) is running...


页: [1]
查看完整版本: 【saltstack学习笔记之十】使用sls安装nginx并管理nginx的配置文件