1、安装前分析

主要内容:

a、依赖包(使用yum安装);

b、源码包(pcre也使用源码安装、nginx源码包);

c、配置文件与启动脚本(使用file.managed模块方法分发到目标机相应目录);

d、使用cmd.run模块方法对源码包编译安装;

e、使用service.running模块方法,启动对应服务。

2、安装依赖

编译安装pcre

[root@localhost salt]# pwd
/srv/salt
[root@localhost salt]# cat pcre.sls
pcre_install:file.managed:- name: /usr/local/src/pcre-8.30.tar.gz         //文件目标分发的位置- source: salt://pcre-8.30.tar.gz               //文件源头- user: root- group: root- mode: 755cmd.run:- cwd: /usr/local/src                          //模板方法执行初始路径- name: tar xf pcre-8.30.tar.gz &&cd pcre-8.30 &&./configure &&make &&make install

安装其他依赖

[root@localhost salt]# cat install.sls
nginx_yum:pkg.installed:                             //yum安装- name: openssl- name: openssl-devel- name: pcre- name: pcre-devel- name: zlib- name: zlib-devel

3、nginx.sls状态文件全览

[root@localhost salt]# pwd
/srv/salt
[root@localhost salt]# cat nginx.sls
include:              //加载其他状态文件- install- pcre
nginx_init:file.managed:- name: /etc/init.d/nginx   //nginx启动叫脚本文件- source: salt://nginx- user: root- group: root- mode: 755
nginx.tar.gz_file:file.managed:- name: /usr/local/src/nginx-1.8.1.tar.gz    //nginx安装包- source: salt://nginx-1.8.1.tar.gz- user: root- group: root- mode: 755
nginx_install:cmd.run:- name: cd /usr/local/src && useradd -s /sbin/nologin nginx && tar xf nginx-1.8.1.tar.gz && cd nginx-1.8.1 && ./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre && make && make install && ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1- unless: test -d /usr/local/src/nginx-1.8.1.tar.gz  //判断文件是否存在,存在方可执行service.running:- name: nginx                       - enable: True                                      //启动nginx服务

4、补充

在master端执行安装任务时,我们可以使用-v选项查看到jid,也可以通过命令

salt '*'  saltutil.running 查看到当前的job id

[root@localhost salt]# salt '192.168.24.67' state.sls nginx -v
Executing job with jid 20160705132643772244
-------------------------------------------
[root@localhost ~]# salt '*'  saltutil.running
192.168.24.67:|_----------arg:- nginxfun:state.slsjid:20160705132432763991pid:3712ret:tgt:192.168.24.67tgt_type:globuser:root

我们也可以使用如下命令结束一个job

[root@localhost ~]# salt '*' saltutil.kill_job 20160705132432763991

转载于:https://blog.51cto.com/tianruyun/1795900

使用saltstack编译安装nginx相关推荐

  1. Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书

    Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书 安装 Nginx 安装依赖 $ apt-get update $ apt-get install build-e ...

  2. Ubuntu 16.04源码编译安装nginx 1.10.0

    一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...

  3. CentOS上编译安装Nginx

    背景 为了解决CentOS7.2自带的Nginx上没有auth-request支持的问题,需要自己手工编译安装Nginx . 安装依赖 更新yum yum update -y yum -y insta ...

  4. Centos7 编译安装 Nginx、MariaDB、PHP

    前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小 ...

  5. CentOS 6下编译安装Nginx

    CentOS 6下编译安装Nginx  By:老宁 一.准备make环境  yum -y install gcc gcc-c++ automake autoconf libtool make 二.准备 ...

  6. ubuntu14.04 nginx php编译安装,Ubuntu 14.04 编译安装 Nginx

    在Ubuntu 14.04下编译安装 Nginx过程笔记. 下载源码包 nginx 地址: http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到 ...

  7. CentOS 6.5编译安装Nginx+MySQL+PHP

    一.配置防火墙,开启80端口.3306端口,关闭SELINUX [root@Zabbix ~]# vim /etc/sysconfig/iptables -A INPUT -i lo -j ACCEP ...

  8. ansible-playbook 手工编译安装nginx

    虽然nginx也可以通过yum安装,但是如何使用源码包安装并自定义开启一些nginx功能模块,并且通过ansible下发到被管理集群呢?下面给给位看官提供一个具体实例以供参考. 首先我们需要手工编译好 ...

  9. 【资料整理】编译安装nginx

    [nginx]编译安装nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...

最新文章

  1. c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...
  2. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库
  3. 她15岁,上海高一女生,也是顶尖科学家论坛最年轻嘉宾
  4. [SDOI 2010]外星千足虫
  5. id 重启event_windows 2003 R2 系统自动重启了. event ID 6008
  6. 7006.vue电商实战项目2-登录退出功能
  7. goahead 的认证和自定义登陆页面的cookie使用【原创】
  8. Keepalived相关参数说明
  9. oracle进入rman报错,Oracle学习系列之Rman学习(三)
  10. Focal Loss 分类问题 pytorch实现代码(续2)
  11. iOS开发中runtime介绍
  12. 【Android多媒体】Android5.0 NuPlayer多媒体框架【1】
  13. 压力测试 Monkey 应用程序无响应ANR Application No Response(转)
  14. 小蠓虫如何灭_小咬怎么灭
  15. ROS教程之读取激光雷达(sick_tim561)数据
  16. Ubuntu 突然不然联网解决方法
  17. 前端js 下载zip文件并解压
  18. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾 + MQ3酒精 + MQ7一氧化碳+ OLED + 阿里云物联网平台 + 微信小程序
  19. vb.net 编写的简易串口调试程序
  20. OfficeExcel(1)

热门文章

  1. 为什么 Go 的泛型一拖再拖?(转)
  2. Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别
  3. 微信公众平台开发模式背后的原理?
  4. 微信小程序通用功能设计和实现
  5. java $表示什么_java – 变量名中$的含义是什么?
  6. 用systemd命令来管理linux系统
  7. 哈夫曼算法(huffman algorithm C)
  8. R实例:根据经纬度坐标批量返回行政区域信息
  9. (一)phoneGap之环境搭建教程及其example分析
  10. 任务调度-java普通工程通过Timer实现