使用saltstack编译安装nginx

1、安装前分析

主要内容:

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

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

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

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

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

2、安装依赖

编译安装pcre

[[email protected] salt]# pwd
/srv/salt
[[email protected] 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: 755
  cmd.run:
    - cwd: /usr/local/src                          //模板方法执行初始路径
    - name: tar xf pcre-8.30.tar.gz &&cd pcre-8.30 &&./configure &&make &&make install

安装其他依赖

[[email protected] 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状态文件全览

[[email protected] salt]# pwd
/srv/salt
[[email protected] 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

[[email protected] salt]# salt ‘192.168.24.67‘ state.sls nginx -v
Executing job with jid 20160705132643772244
-------------------------------------------
[[email protected] ~]# salt ‘*‘  saltutil.running
192.168.24.67:
    |_
      ----------
      arg:
          - nginx
      fun:
          state.sls
      jid:
          20160705132432763991
      pid:
          3712
      ret:
      tgt:
          192.168.24.67
      tgt_type:
          glob
      user:
          root

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

[[email protected] ~]# salt ‘*‘ saltutil.kill_job 20160705132432763991
时间: 2024-10-27 03:01:10

使用saltstack编译安装nginx的相关文章

RedHat7编译安装Nginx

下载Nginx源码包# wget http://nginx.org/download/nginx-1.8.0.tar.gz 解压Nginx源码包# tar -zxvf nginx-1.8.0.tar.gz && cd nginx-1.8.0 安装依赖软件# yum -y install gcc pcre-devel openssl-devel zlib-devel 编译安装Nginx# ./configure \  --sbin-path=/usr/local/nginx/nginx \ 

编译安装nginx并修改版本头信息—参考实例

今天做实验的时候,想起我那台yum安装的nginx+php-fpm+mysql服务器上的nginx版本有点低了,并且还要加两个第3方模块,就去nginx官网下载了最新稳定版nginx-1.0.6,好了,废话不多说看教程吧.  系统版本: centos 5.6  ip: 192.168.1.200  需要的软件包:nginx-1.0.6.tar.gz Nginx-accesskey-2.0.3.tar.gz ngx_cache_purge-1.3.tar.gz(这3个包可以自己去下载,我就不提供了

centos 7编译安装nginx

禁用防火墙 systemctl disable firewalld systemctl stop firewalld setenforce 0 安装pcre库 yum install pcre* 安装zlib库 yum install zlib* 增加nginx用户:useradd nginx -G nginx 编译安装nginx: ./configure --prefix=/usr/local/nginx --error-log-path=/var/log/nginx/error.log --

<深入剖析Nginx> 编译安装nginx 以及使用eclipse编译开发nginx

明年就要找工作了,看看经典的开源项目-nginx,图书馆借了本<深入剖析Nginx>,开始研读,边读边做笔记. 第一篇是nginx的环境配置相关 参考帖子:Nginx模块开发---Linux使用eclipse编译,调试Nginx 文章5:Linux下使用Eclipse进行Nginx 模块开发 具体是参考上面的帖子和书,下面大概讲下步骤: 1. 经典的三个步骤,来编译安装nginx: 先下载源码: 官网下载链接 ./configure --with-debug --prefix=/home/zy

linux编译安装nginx

linux下编译安装nginx,从nginx官网下载nginx原代码,解压到某个目录,执行如下命令 # ./configure --prefix=/usr/local/nginx 配置nginx编译生成的目录,nginx的shell脚本将存储在/user/local/nginx/sbin目录,配置文件将存储在/user/local/nginx/conf目录下 nginx支持正则匹配路径,依赖pcre包,编译之前请先安装此包.如果要使用https,还需要openssl.如果要使用gzip,需要zl

编译安装Nginx+Mariadb+Memcache+php实现Nginx与Memcache结合

前端Nginx配置: 1.安装nginx 创建Nginx用户.创建/var/tmp/nginx目录并编译安装 useradd -r nginx mkdir /var/tmp/nginx tar xf nginx-1.4.7.tar.gz ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log -

centos7下编译安装nginx并实现日志轮替

centos7编译安装nginx: 首先确保系统上存在编译安装使用的必要工具运行:  # yum groupinstall "development tools" "server platform development" 1 下载PCRE version 4.4 - 8.40 (ngx_http_rewrite_module模块需要)    # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/p

开发人员学Linux(5):CentOS7编译安装Nginx并搭建Tomcat负载均衡环境

1.前言在上一篇讲述了JMeter的使用,在本篇就可以应用得上了.本篇将讲述如何编译安装Nginx并利用前面的介绍搭建一个负载均衡测试环境.2.软件准备Nginx-1.12.0,下载地址:https://nginx.org/download/nginx-1.12.0.tar.gzTomcat8(本系列已介绍过如何下载和安装)JMeter(本系列已介绍过如何下载和使用)注:VirtualBox宿主机IP为"192.168.60.16,虚拟机IP为:192.168.60.198,虚拟机通过桥接方式接

Centos7 编译安装 Nginx、MariaDB、PHP

前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小化安装 IP: 192.168.170.128 Nginx: 1.6.1 MariaDB: 5.5.39 PHP: 5.5.16 1.准备工作 1.1.系统硬件准备 尽管Linux能最大化发挥硬件资源,但RHEL/CentOS随着版本增加对最低硬件的配置也越来越高[1].RHEL7/CentOS最低