q36988 发表于 2018-8-1 07:57:21

【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

  ->  - 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:
  ----------

  >  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:
  ----------

  >  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:
  ----------

  >  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:
  ----------

  >  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:
  ----------

  >  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:
  ----------

  >  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:
  ----------

  >  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:
  ----------

  >  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的配置文件