saltstack源码安装nginx

[首先配置好saltstack基础环境,确保master能远程minion,这里就不列举了]

 因为涉及到的目录较多,因此先规划好目录结构

[[email protected] dev]# tree /srv/dev/

/srv/dev/nginx_install

│       ├  initpkg.sls

│          ├  initall .sls

│       ├  nginx_init.sls

│          ├  files

│           └── nginx-1.9.2.tar.gz

│           └── nginx.service

└── top.sls


  一、修改配置文件,为不同的环境配置不同的文件目录

     [[email protected] /]#vim /etc/salt/master

file_roots:

base:

- /srv/base

dev:

- /srv/dev

prod:

- /srv/prod

[[email protected] salt]# systemctl restart salt-master.service          重启服务

[[email protected] salt]# mkdir /srv/{base,dev,prod}                     创建目录

二、指定环境路径

 1、 部署源码包运行环境

[[email protected] dev]# vim top.sls

dev:

‘pc1’

- nginx_install                                             只定义目录位置 会默认去init.sls 文件找

2、创建目录,并把源码包拷贝过来

[[email protected] dev]#mkdir nginx_install

[[email protected] nginx_install]# mkdir files                           为了方便另创一个目录

[[email protected] nginx_install]# cp nginx-1.9.2.tar.gz files/          拷贝源码包

3、安装依赖包

           使用pkg.installed模块安装依赖包

[[email protected] nginx_install]# vim  initpkg.sls

init_pkg_install:

pkg.installed:

- name:

- gcc

- gcc-c++

- make

- autoconf

- openssl-devel

- pcre-devel

4、设定源码编译方式

           首先通过file.managed模块将源码分发至服务器

[[email protected] nginx_install]# vim install.sls

nginx_src_install:

file.managed:

- name: /usr/local/src/nginx-1.9.2.tar.gz                  目标路径

- source: salt://nginx_install/files/nginx-1.9.2.tar.gz    文件源路经

- user: root                                               所有者

- group: root                                              所属主

- mode: 644                                                权限

为了方便可以写个小脚本执行源码安装

build_src:                                                     指定源码安装脚本路径

cmd.scropt:

- source: salt://nginx_install/files/build.sh              指定脚本路径

- cwd: usrlocal/src

- user: root

- unless: test -d usrlocal/nginx                            判断有这个文件就不执行脚本

- repuire:

- file: nginx_src_install                                   上面执行完才会执行脚本

- pkg: init_pkg_install                                     判断是否已经安装依赖包

 5、创建脚本并存放在指定路径 

[[email protected] nginx_install]# vim files/build.sh

#!/bin/bash

useradd -s /sbin/nologin nginx

tar zxf nginx-1.9.12.tar.gz

cd nginx-1.9.12

./configure —prefix=usrlocal/nginx —user=nginx —group=nginx

make

make install

 三、配置开机启动服务

             1、创建开机启动的文件

[[email protected] nginx_install]# vim nginx_init.sls

nginx_init:

file.managed:

- name: usrlib/systemd/system/nginx.service           拷贝服务单元文件

- source: salt://nginx_install/files/nginx.service    源文件路径

- user: root

- group: root

- mode: 644

nginx_service:                                     设定服务运行状态

sevrice.running:

- name: nginx

- enable: true

- restart: true

- watch:                                          判断上述执行成功才运行服务

- file: nginx_init

2、创建init.sls运行文件

[[email protected] nginx_install]# vim init.sls

include:                                            按顺序执行

- .initpkg                                        . 当前目录

- .initall

- .nginx_init

 3、进行测试.

[[email protected] nginx_install]# salt ‘pc2’ state.highstate saltenv=dev test=true

如果没有报错就执行False

[[email protected] nginx_install]# salt ‘pc2’ state.highstate saltenv=dev test=false

 4、进入pc2上查看端口是否开启

nginx.service文件

[Unit]

Description=nginx - high performance web server

Documentation=http://nginx.org/en/docs/

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=usrlocal/nginx/logs/nginx.pid

ExecStartPre=usrlocal/nginxsbinnginx -t -c usrlocal/nginx/conf/nginx.conf

ExecStart=usrlocal/nginxsbinnginx -c usrlocal/nginx/conf/nginx.conf

ExecReload=usrlocal/nginxsbinnginx -s reload

ExecStop=usrlocal/nginxsbinnginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

原文地址:http://blog.51cto.com/13560729/2065956

时间: 2024-08-06 20:41:39

saltstack源码安装nginx的相关文章

saltstack 系列(四)centos7使用saltstack源码安装nginx

使用saltstack源码安装nginx,首先先看一下我nginx的目录  tree一下,我们只需要关系nginx-install.sls 和nignx-service.sls.clu-vhost是我用python写的自动添加集群和自动更新踢出集群,后面会讲到. nginx ├── files │   ├── clu-vhost │   │   ├── 11.py │   │   ├── content.txt │   │   ├── epel-release-latest-7.noarch.r

Centos 7.0 编译安装LNMP(Linxu+nginx+mysql+php)之源码安装nginx (一)

nginx简介:       Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. 其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器

saltstack源码安装nrpe

最近弄saltstack弄上瘾了,今天又弄了saltstack源码安装nrpe,安装nrpe之前需要安装nagios-plugins,首先是top.sls文件: [[email protected] salt]# cat top.sls base: '*': - nagios [[email protected] salt]# tree nagios   #目录结构 nagios ├── conf.sls ├── files │?? ├── conf.sh │?? ├── nagios-plug

源码安装Nginx以及用systemctl管理

一.源码安装Nginx: 先安装gcc编译器(安装过的可以忽略) [[email protected] ~]# yum -y install gcc gcc-c++ wget 进入src目录 [[email protected] ~]# cd /usr/local/src/ 下载 nginx软件包 [[email protected] src]# wget http://nginx.org/download/nginx-1.14.0.tar.gz 解压 [[email protected] sr

【Nginx】源码安装Nginx 平滑升级Nginx

Web服务对比 Linux平台 Php.Python:nginx.tengine(淘宝).apache Jave:tomcat.Jboss.IBM WebSphere Windows平台:IIS(.net) Nginx的优点:性能高.并发高.静态网站.动态网站(php.python) 在对比其他web软件的情况下nginx的性能更加好!在国内广泛使用 Nginx 十分轻量级的HTTP服务器 是一个高性能的HTTP和反向代理服务器 官方网站: http://nginx.org/ Nginx以及现代

源码安装Nginx

1.下载源码,解压 [[email protected] ~]# tar -xzvf nginx-1.8.0.tar.gz [[email protected] ~]# cd nginx-1.8.0 [[email protected] nginx-1.8.0]# ls auto CHANGES.ru configure html man srcCHANGES conf contrib LICENSE README 一般源码安装前,应先查看一下README的内容 2.准备编译配置文件 解压文件中

saltstack源码安装zabbix_agent

公司现有的监控使用zabbix,saltstack客户端服务端安装好后,客户端不需要每台机器逐台安装,当然修改zabbix配置文件,直接用salt完成,今天测试了salt源码安装zabbix_agent,效果还行: 老规矩,top.sls [[email protected] salt]# cat top.sls base: '*': - zabbix #目录树 [[email protected] salt]# tree zabbix/ zabbix/ ├── conf.sls ├── fil

LNMP架构 源码安装nginx+mysql+php+memcache+论坛

一.LNMP架构 LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等. Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器. Mysql是一个小型关系型数据库管理系统. PHP是一种在服务器端执行的嵌入HTML文档的脚本语言. 这四种软件均为免费开源软件,组合

Linux下源码安装nginx服务器以及部分配置

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(