saltstack源码安装Nginx

昨天跟着网上的教程安装Nginx,@#¥!!…&%¥# 。结果到最后还是自己动手丰衣足食

先来看安装的结构:

├── nginx
│   ├── install.sls
│   └── pkg
│       └── pkg-init.sls
└── top.sls

top.sls可以不使用

由于在top文件下必须要的是base环境,我们这次用到的是nginx环境。
现在master配置文件上配好nginx环境,这一步是在master配置文件上告诉master,nginx环境的路径,

vim /etc/salt/master
file_roots:
  nginx:
     - /srv/salt/nginx

修改完,记得要重启salt-master

初始化环境

安装nginx前有些东西要先安装的,事实上,安装很多东西前都有些依赖的东西要先安装,这次我们放到pkg目录下的pkg-init.sls这个下面:

$ vim pkg/pkg-init.sls
pkg-init:
  pkg.installed:
    - names:
      - gcc
      - gcc-c++
      - glibc
      - make
      - autoconf
      - openssl
      - openssl-devel

初始化环境后,我们就需要进行系一部操作了,进行对nginx的源码安装。

安装Nginx

先在网上下载好nginx的源码包
http://nginx.org/en/download.html
下载好源码包后把源码包放到salt-minion的/srv/salt/nginx/files目录下,(这步麻烦,下回写个直接传送的,不然机器多了会传崩溃)
然后进行nginx安装:
vim install.sls
首先要包含进来刚才环境变量初始化,

include :
  -  pkg.pkg-init

这样再安装nginx前会先安装pkg-init的系统变量。

nginx_install:
  file.managed:
    - name: /usr/local/nginx-1.12.1.tar.gz
    - unless: test -e /usr/local/nginx-1.12.1.tar.gz
    - source: salt://files/nginx-1.12.1.tar.gz
    - user: root
    - group: root
    - mode: 755

  cmd.run:
    - name: cd /usr/local/ && tar zxf nginx-1.12.1.tar.gz && cd nginx-1.12.1 && ./configure --prefix=/usr/local/nginx  && make && make install
    - unless: test -d /usr/local/nginx
    - require:
      - file: nginx_install

安装好后还要启动nginx吧,记得如果机器上有启动Apache的,记得先停掉,或者把nginx的配置端口改掉,不然肯定失败。
启动Nginx

nginx-start:
  cmd.run: 
    - name: cd /usr/local/nginx/sbin && ./nginx
    - unless: ps -ef| grep -v grep| grep nginx  
    - require:
      - cmd: nginx_install 

然后把机器的IP地址在浏览器上打开,可以看到显示Welcome to nginx啦。

你可能感兴趣的:(saltstack源码安装Nginx)