使用saltstack部署nginx

一·【server3】配置yum源以及安装salt

[root@server3 salt]# vim /etc/yum.repos.d/rhel-source.repo 
[root@server3 salt]# yum install -y salt-minion
[root@server3 salt]# cd /etc/salt/
[root@server3 salt]# vim minion
16 master: 172.25.41.1
[root@server3 salt]# /etc/init.d/salt-minion start

二·认证key

[root@server1 ~]# salt-key -L
[root@server1 ~]# salt-key -a server3
[root@server1 ~]# salt-key -L

这里写图片描述

三·自动安装nginx

[root@foundation41 Desktop]# scp nginx-1.14.0.tar.gz root@172.25.41.1:/srv/salt/nginx/files/   #将安装包首先传给master  【server1】
[root@server1 ~]# cd /srv/salt/htppd
[root@server1 httpd]# mkdir nginx
[root@server1 httpd]# cd nginx/
[root@server1 nginx]# mkdir files
[root@server1 nginx]# cd ..
[root@server1 nginx]# vim install.sls   #编辑安装内容
nginx-install:
  pkg.installed:
    - pkgs:
      - pcre-devel
      - openssl-devel
      - gcc

  file.managed:
    - name: /mnt/nginx-1.14.0.tar.gz
    - source: salt://nginx/files/nginx-1.14.0.tar.gz

  cmd.run:
    - name: cd /mnt && tar zxf nginx-1.14.0.tar.gz && cd nginx-1.14.0 && sed -i.bak 's/#define NGINX_VER          "nginx\/" NGINX_VERSION/#define NGINX_VER          "nginx"/g' src/core/nginx.h && sed -i.bak 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio &> /dev/null && make &> /dev/null && make install &> /dev/null
    - 
[root@server1 nginx]# salt server3 state.sls nginx.install
[root@server3 nginx-1.14.0]# ps ax

这里写图片描述
这里写图片描述

[root@server1 nginx]# vim install.sls   #添加配置文件目录
    - creates: /usr/local/nginx

[root@server1 nginx]# salt server3 state.sls nginx.install
[root@server3 nginx-1.14.0]# ps ax

这里写图片描述
这里写图片描述

四·编辑执行脚本

[root@server1 nginx]# vim service.sls
[root@server1 nginx]# cat service.sls
include:
  - nginx.install

nginx-service:
  cmd.run:
    - name: /usr/local/nginx/sbin/nginx
[root@server1 nginx]# salt server3 state.sls nginx.service
[root@server3 nginx-1.14.0]# netstat -antlp   #查看端口

这里写图片描述

编辑一个脚本nginx
[root@server3 nginx-1.14.0]# cd /usr/local/nginx/conf/
[root@server3 conf]# scp nginx.conf server1:/srv/salt/nginx/files
nginx     #自己编辑的脚本
nginx-1.14.0.tar.gz  
nginx.conf    #从server3中传过来的文件
[root@server1 files]# cd ..
[root@server1 nginx]# vim service.sls 
include:
  - nginx.install

/usr/local/nginx/conf/nginx.conf:
  file.managed:
    - source: salt://nginx/files/nginx.conf

nginx-service:
  file.managed:
    - name: /etc/init.d/nginx
    - source: salt://nginx/files/nginx
    - mode: 755

  service.running:
    - name: nginx
    - reload: True
    - watch:
      - file: /usr/local/nginx/conf/nginx.conf
[root@server1 nginx]# salt server3 state.sls nginx.service
[root@server3 conf]# ps ax

这里写图片描述
这里写图片描述

在server1改变进程数再次推送

[root@server1 nginx]# vim files/nginx.conf
3 worker_processes  2;
[root@server1 nginx]# salt server3 state.sls nginx.service
[root@server3 conf]# ps ax

这里写图片描述

添加用户

[root@server1 nginx]# vim files/nginx.conf
user  nginx nginx;    #更改用户和组
[root@server1 nginx]# cd ..
[root@server1 salt]# mkdir users
[root@server1 salt]# cd users/
[root@server1 users]# ls
[root@server1 users]# vim nginx.sls
nginx-group:
  group.present:
    - name: nginx
    - gid: 800

nginx-user:
  user.present:
    - name: nginx
    - uid: 800
    - gid: 800
    - shell: /sbin/nologin
    - createhome: False
    - home: /usr/local/nginx
[root@server1 users]# cd ..
[root@server1 salt]# cd nginx/
[root@server1 nginx]# vim service.sls
include:
  - users.nginx
  - nginx.install

/usr/local/nginx/conf/nginx.conf:
  file.managed:
    - source: salt://nginx/files/nginx.conf

nginx-service:
  file.managed:
    - name: /etc/init.d/nginx
    - source: salt://nginx/files/nginx
    - mode: 755

  service.running:
    - name: nginx
    - reload: True
    - watch:
      - file: /usr/local/nginx/conf/nginx.conf

[root@server1 nginx]# salt server3 state.sls nginx.service   
[root@server3 conf]# id nginx
uid=800(nginx) gid=800(nginx) groups=800(nginx)

这里写图片描述

简化安装nginx脚本内容

[root@server1 nginx]# cd ..
[root@server1 salt]# mkdir pkgs
[root@server1 salt]# cd pkgs/
[root@server1 pkgs]# vim make.sls
make-gcc:
  pkg.installed:
    - pkgs:
      - pcre-devel
      - openssl-devel
      - gcc
[root@server1 pkgs]# ls
make.sls
[root@server1 pkgs]# cd ..
[root@server1 salt]# ls
httpd  nginx  pkgs  users
[root@server1 salt]# cd nginx/
[root@server1 nginx]# vim install.sls
include:
  - pkgs.make

nginx-install:
  file.managed:
    - name: /mnt/nginx-1.14.0.tar.gz
    - source: salt://nginx/files/nginx-1.14.0.tar.gz

  cmd.run:
    - name: cd /mnt && tar zxf nginx-1.14.0.tar.gz && cd nginx-1.14.0 && sed -i.bak 's/#define NGINX_VER          "nginx\/" NGINX_VERSION/#define NGINX_VER          "nginx"/g' src/core/nginx.h && sed -i.bak 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio &> /dev/null && make &> /dev/null && make install &> /dev/null
    - creates: /usr/local/nginx

[root@server1 nginx]# salt server3 state.sls nginx.service
[root@server3 conf]# ps ax

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值