11.saltstack配置管理-功能模块与业务模块-nginx

后端线上服务(注意:后端另外开启另外两台虚拟机)

完成前端高可用之后,我们就可以去完成线上服务了。线上服务包括nginx、php、memache、mysql等的安装及配置。

一、功能模块之nginx安装
创建nginx安装目录:
[root@salt-master ~]# mkdir /srv/salt/prod/nginx/
[root@salt-master ~]# mkdir /srv/salt/prod/nginx/files
将nginx安装包和脚本拷贝到files目录下
[root@salt-master ~]# ls  /srv/salt/prod/nginx/files


解决安装nginx依赖关系:
[root@salt-master ~]# vi /srv/salt/prod/pkg/pkg-nginx.sls
pkg-nginx:
  pkg.installed:
    - names:
      - openssl-devel
      - pcre-devel
      - zlib-devel

编写nginx安装sls文件:
[root@salt-master ~]# vi  /srv/salt/prod/nginx/install.sls
include:
  - pkg.pkg-nginx
/usr/local/src:
  file.directory:
    - user: root
    - group: root
    - mode: 755
nginx-install:
  file.managed:
    - name: /usr/local/src/nginx-1.13.8.tar.gz
    - source: salt://nginx/files/nginx-1.13.8.tar.gz
    - user: root
    - group: root
    - mode: 755
  cmd.run:
    - name: cd /usr/local/src/ && tar -zxf nginx-1.13.8.tar.gz && cd nginx-1.13.8 &&  ./configure --prefix=/usr/local/nginx && make && make install
    - unless: test -d /usr/local/nginx
    - require:
      - pkg: pkg-nginx
      - file: nginx-install
nginx-init:
  file.managed:
    - name: /etc/init.d/nginx
    - source: salt://nginx/files/nginx.init
    - user: root
    - group: root
    - mode: 755
  cmd.run:
    - name: chkconfig --add nginx
    - unless: chkconfig --list | grep nginx
    - require:
      - file: nginx-init
/etc/nginx:
  file.directory:
    - user: root
    - group: root
    - mode: 755




执行安装:
[root@salt-master ~]# salt '*' state.sls nginx.install env=prod








业务模块之nginx配置管理

创建app目录用户nginx及php配置文件管理:
[root@salt-master ~]# mkdir /srv/salt/prod/app/
[root@salt-master ~]# mkdir /srv/salt/prod/app/files/  
[root@salt-master ~]# mkdir /srv/salt/prod/app/files/nginx/  #用于存放nginx配置文件
[root@salt-master ~]# mkdir /srv/salt/prod/app/files/php/   #用于存放php配置文件




将需要的文件拷贝到files/nginx目录下:
[root@salt-master ~]# ls  /srv/salt/prod/app/files/nginx/
fatcgi_params   mime.types  nginx.conf
[root@salt-master ~]# ls  /srv/salt/prod/app/
files  nginx.sls  php.sls
[root@salt-master ~]# vi  /srv/salt/prod/app/nginx.sls
include:
  - nginx.install
{% for s in ["fastcgi_params","mime.types","nginx.conf"]  %}
nginx-{{s}}:
  file.managed:
    - name: /etc/nginx/{{s}}
    - source: salt://app/files/nginx/{{s}}
    - user: root
    - group: root
    - template: jinja
    - mode: 644
  service.running:
    - name: nginx
    - enable: True
    - watch:
      - file: nginx-nginx.conf
{% endfor %}
注:引用jinja模版,将fastcgi_params、mime.types、nginx.conf三个相关文件下发到节点的同一目录下。

执行文件:
[root@salt-master ~]# salt '*' state.sls app.nginx env=prod












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值