SaltStack之编译安装LNMP环境
使用saltstack编译安装LNMP环境
一,系统版本查看
二,安装salt-master和salt-minion
安装配置过程参考SaltStack概述及安装
三,修改配置文件
/etc/salt/master设置根的两个目录
四,设置Nginx安装文档
目录结构为
其中files文件夹下面放置的是源码包 install.sls是安装配置文件
install.sls
include:
- pkg.make nginx:
user.present:
- uid: 1001 nginx-install:
file.managed:
- name: /root/tools/nginx-1.6.3.tar.gz
- source: salt://nginx/files/nginx-1.6.3.tar.gz
- mode: 755
- user: root
- group: root
cmd.run:
- name: cd /root/tools/ && tar -xf nginx-1.6.3.tar.gz && cd nginx-1.6.3 && ./configure --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx --prefix=/usr/local/nginx-1.6.3 && make && make install && ln -s /usr/local/nginx-1.6.3/ /usr/local/nginx
- require:
- pkg: make-pkg
- file: nginx-install
其中user.present为用户模块,创建一个uid为1001的nginx用户 cmd.run执行安装命令 pkg文件夹下面的make.sls放置本次安装所需要的所有yum包 require依赖这两个
make.sls文件内容为
make-pkg:
pkg.installed:
- pkgs:
- gcc
- pcre
- pcre-devel
- openssl-devel
- numactl
- libaio
- net-tools
- freetype-devel
- libjpeg-turbo-devel
- libpng-devel
- gd-devel
- libcurl-devel
- libxslt-devel
执行安装
salt 'web1.example.com' state.sls nginx.install saltenv=prod
默认没有加saltenv参数执行的是base环境下的配置,本次需要执行prod生产配置所以执行加参数saltenv=prod
五,设置MySQL安装文档
MySQL的install.sls文档内容为
include:
- pkg.make mysql-install:
file.managed:
- name: /root/tools/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
- source: salt://mysql/files/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
- mode: 755
- user: root
- group: root
cmd.run:
- name: cd /root/tools/ && yum remove mysql-libs -y && tar -xf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar && rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm && rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm && rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm && rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
- require:
- pkg: make-pkg
- file: mysql-install
执行安装
salt 'web1.example.com' state.sls mysql.install saltenv=prod
六,设置php安装文档
install.sls
include:
- pkg.make php-install:
file.managed:
- name: /root/tools/php-7.0.27.tar.gz
- source: salt://php/files/php-7.0.27.tar.gz
- mode: 755
- user: root
- group: root
cmd.run:
- name: cd /root/tools/ && tar -xf php-7.0.27.tar.gz && cd php-7.0.27 && ./configure --prefix=/usr/local/php7.0.27 --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --disable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-xml && make && make test && make install && ln -s /usr/local/php7.0.27/ /usr/local/php && /usr/local/php/sbin/php-fpm
- unless: test -L /usr/local/php
- require:
- pkg: make-pkg
- file: php-install
- file: php-config
- file: php-fpm-config
- file: php-www-config php-mysql-install:
file.managed:
- name: /root/tools/mysql-45881bd.tar.gz
- source: salt://php/files/mysql-45881bd.tar.gz
- mode: 755
- user: root
- group: root
cmd.run:
- name: cd /root/tools/ && tar -xf mysql-45881bd.tar.gz && cd mysql-45881bd && /usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=mysqlnd && make && make install && pkill php-fpm && /usr/local/php/sbin/php-fpm
- require:
- pkg: make-pkg
- file: php-mysql-install
- file: php-config
- file: php-fpm-config
- file: php-www-config php-config:
file.managed:
- name: /usr/local/php/lib/php.ini
- source: salt://php/files/php.ini
- user: root
- group: root
- mode: 644 php-fpm-config:
file.managed:
- name: /usr/local/php/etc/php-fpm.conf
- source: salt://php/files/php-fpm.conf
- user: root
- group: root
- mode: 644 php-www-config:
file.managed:
- name: /usr/local/php/etc/php-fpm.d/www.conf
- source: salt://php/files/www.conf
- user: root
- group: root
- mode: 644 php-mysql-test:
file.managed:
- name: /usr/local/nginx/html/mysql.php
- source: salt://php/files/mysql.php
- user: root
- group: root
- mode: 644 php-test:
file.managed:
- name: /usr/local/nginx/html/test.php
- source: salt://php/files/test.php
- user: root
- group: root
- mode: 644
其中test.php的内容为
<?php
phpinfo()
?
mysql.php的内容为
<?php
$mysqli = new mysqli("localhost", "root", "Mysql123456!");
if(!$mysqli) {
echo"database error";
}else{
echo"MySQL successful";
}
$mysqli->close();
?>
php-fpm.conf配置文档的源文件为/usr/local/php/etc/php-fpm.conf.default
www.conf配置文档的源文件为/usr/local/php/etc/php-fpm.d/www.conf.default
php.ini配置文件的源文件为/root/tools/php-7.0.27/php.ini-production
安装的源码包可以下载到本地电脑上再上传至对应的目录
执行安装(源码安装php时间较长)
salt 'web1.example.com' state.sls php.install saltenv=prod
测试
SaltStack之编译安装LNMP环境的更多相关文章
- CentOS编译安装LNMP环境
这里是教大家如何在centos下利用源码编译安装LNMP环境. 工具/原料 centos服务器一台 自用电脑一台 准备篇 配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 配置防火墙,开 ...
- Centos 6.8编译安装LNMP环境
Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...
- 源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!
和LAMP不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件),并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求,动态请求会转发 ...
- CentOS 6.5 编译安装 LNMP环境
建立一个软件包目录存放 mkdir -p /usr/local/src/ 清理已经安装包 rpm -e httpd rpm -e mysql rpm -e php yum -y remove http ...
- 源码编译安装lnmp环境
一.源码编译安装步骤 首先说明源码安装的好处 速度快,可自定义路径 主要有三步:1.配置 进入源码安装包 ./configure --prefix=/uer/local/nginx 可指定参数 ...
- centos6源码编译安装lnmp环境
操作系统 版本 64位 CentOS-6.6 10.0.0.20 安装环境所需依赖包 yum -y install gcc automake autoconf libtool make gcc- ...
- CentOS 6.4 linux下编译安装 LNMP环境
1.nginx编译安装 2.PHP编译安装 3.mysql编译安装 4.NGINX配置模板 5.CentOS 6.4 php-fpm 添加service 添加平滑启动/重启
- 源码编译安装LNMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) nginx版本: nginx-1.6.2 mysql版本: Mysql-5.6.23 php版本: ...
- CentOS6.5 编译安装lnmp环境
参考:http://54im.com/tag/libmcrypt http://www.educity.cn/linux/1240338.html 设置防火墙,并开启3306 80端口:vi /etc ...
随机推荐
- jQuery事件:bind、delegate、on的区别
最近在AngularJS的开发中,遇到一个神奇的事情:我们用到livebox来预览评论列表中的图片, 然而评论列表是由Angular Resource动态载入的.不可思议的是,点击这些动态载入的图片仍 ...
- max_int和-1
#include <stdio.h> int main(int argc, char *argv[]) { unsigned ; ) printf("umax:%u == -1\ ...
- rabbitMQ之安装和配置(一)
前言 erlang是一门面向并发的编程语言,流行的消息队列rabbitMQ是基于erlang环境运行的: 下载安装erlang语言环境 源码安装 # 从官网下载,在任何目录下,使用root权限 wge ...
- linux 清内存
注意:首先我们需要使用sync指令,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node.已延迟的块 I/O 和读写映射文件.否则在释放缓存的过程中,可能会丢失未保存的文件. 的值可以为0~3 ...
- boost 库的安装
一.windows下 环境:win7 64位 方法1:使用.exe类型的boost进行安装,也就是编译过得,这种方法最简单.下载后直接执行.exe就行了. http://sourceforge.net ...
- 高德地图API INVALID_USER_SCODE问题以及keystore问题
今天这篇文章会给大家介绍三个问题: 1,接入API时出现invalid_user_scode问题 首先进行第一个大问题,接入高德地图API时出现invalid_user_scode问题 因为项目需要接 ...
- Android——保存和恢复用户状态
onSaveInstanceState 保存 在暂停之后和保存之前调用 onRestoreInstanceState 恢复 再启动之后和显示之前调用 package com.example.chens ...
- 网桥bridge
1. 网桥基础 什么是网桥 网桥将多个网络在数据链路层连接起来.网桥的前身是集线器或中继器.网桥和集线器的区别:集线器上各端口都是共享同一条背板总线的,网桥的两个端口分别有一条独立的交换信道,不是共享 ...
- Android基础总结(八)Service
服务两种启动方式(掌握) startService 开始服务,会使进程变成为服务进程 启动服务的activity和服务不再有一毛钱关系 bindService 绑定服务不会使进程变成服务进程 绑定服务 ...
- NAT and Traversal NAT(TURN/STUN/ICE)
http://www.cnblogs.com/whyandinside/archive/2010/12/08/1900492.html -------------------------------- ...