saltstack 自动化部署PHP应用平台


1.saltstack 介绍;

 

Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。

salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等.


2.参考学习网站;

    

  官方网站: http://www.saltstack.com

  官方文档: http://docs.saltstack.com

  Githup : https://githup.com/saltstack

  中国saltstack用户组: http://www.saltstack.cn


3.运行方式;

   LOCAL 

   Master/minion

   Salt ssh


4.功能介绍;     

  

    远程执行,配置管理,云管理;


5.支持操作系统版本;

 Centos redhat centoo debianubuntu freeBSD

 Solaris fedora macos archlinux windows suse 

 注意:windows 只能作为minion 端,不能作为master;


6.saltstack 部署;

   

To install using the SaltStack repository:

  1. Run one of     the following commands based on your version to import the SaltStack     repository key:

Version 7:

rpm --importhttps://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub

Version 6:

rpm --importhttps://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub

Version 5:

wget https://repo.saltstack.com/yum/redhat/5/x86_64/latest/SALTSTACK-EL5-GPG-KEY.pub

rpm --import SALTSTACK-EL5-GPG-KEY.pub

rm -f SALTSTACK-EL5-GPG-KEY.pub

  1. Save the     following file to /etc/yum.repos.d/saltstack.repo:

Version 7 and 6:

[saltstack-repo]

name=SaltStack repo for RHEL/CentOS $releasever

baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest

enabled=1

gpgcheck=1

gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub

Version 5:

[saltstack-repo]

name=SaltStack repo for RHEL/CentOS $releasever

baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest

enabled=1

gpgcheck=1

gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-EL5-GPG-KEY.pub

  1. Run sudo yum     clean expire-cache.

  2. Run sudo yum     update.

  3. Install the     salt-minion, salt-master, or other Salt components:

  • yum install      salt-master

  • yum install      salt-minion

  • yum install      salt-ssh

  • yum install      salt-syndic

              yum install salt-cloud

7.配置salstack;

  自动化部署PHP应用平台_第1张图片

自动化部署PHP应用平台_第2张图片

8.master 配置项目路径:

自动化部署PHP应用平台_第3张图片

9.项目目录结构;

tree       /etc/salt/states/

├── app-user                             ########项目环境需要用户名################
│   └── app-mysql-user.sls        ######## 配置mysql用户名 sls 文件###########
├── p_w_picpaths-app                         #########图片社区环境目录################     
│   ├── dfsj-p_w_picpath.sls                ##########图片社区核心配置文件############
│   └── files                                #######环境代码和配置文件################  
│       ├── dfsj-p_w_picpaths.sql.gz        ##########项目数据库文件##############
│       ├── p_w_picpath_admin_project.py   
│       ├── p_w_picpath_api_project.py
│       ├── img4admin.tar.gz          ###########软件源码包#########################
│       └── img4api.tar.gz
├── init                                 #########依赖包环境主目录###################  
│   ├── files                         │                 
│   │   ├── packages
│   │   │   ├── libevent-2.0.21-stable.tar.gz          ######依赖包###########
│   │   │   └── zend-loader-php5.6-linux-x86_64.tar.gz
│   ├── limit.sls          
│   ├── memecached_packages.sls     ########php memcached 依赖包扩展配置文件####
│   ├── mysql_packege.sls           ############mysql 数据库依赖配置文件###############
│   ├── nginx_packege.sls           ###########nginx 配置环境依赖包###################
│   ├── pkg.sls                            #######php 依赖环境包###########################   
├── memcached-php                ###################memcache 扩展php #########
│   ├── files               
│   │   ├── libmemcached.tar.gz
│   │   └── memcached.tar.gz              #########环境包#######################
│   └── php-memecached-mode.sls     ############模块添加php 扩展配置文件####
├── mysql
│   ├── db_install_bak.sls          ############mysql 核心配置文件#############
│   └── files                      
│       ├── my_new.cnf             ############mysql 主配置文件################
│       ├── mysql-5.6.27.tar.gz     ########################
│       ├── mysqld                                                软件包
│       ├── mysql.tar.gz
│       └── mysq.usermangaer.txt   #######################
├── nginx
│   ├── files
│   │   ├── p_w_picpath.api.conf             ########程序api 程序配置文件############
│   │   ├── p_w_picpath.community.conf  #############程序后台配置文件########
│   │   ├── nginx.conf                   #########nginx 核心文件################
│   │   └── test-app.php             ###############php 环境测试页面#########
│   └── web_install.sls                ############nginx 编排核心文件###########
├── php
│   ├── files
│   │   ├── php-5.6.28.tar.bz2    ##################php 软件包####################
│   │   └── php-fpm                  ###################php-fpm 配置文件############
│   └── php_fastcgi.sls
├── prod                     
├── system-optimization         ################环境初始化目录#############
│   └── system_sysctl.sls           ###############修改内核参数###############
├── top.sls                                ################项目入口文件##############
└── zend-php                           ################zend 模块扩展#############
├── files
│   └── zend-loader-php.tar.gz   #############zend-loader 包###########
└── php-zend-mode.sls               ################zend模块配置文件######



10.项目相关sls文件;


(1).程序入口sls 文件;

自动化部署PHP应用平台_第4张图片


(2).添加mysql 用户sls 文件;

自动化部署PHP应用平台_第5张图片

(3).环境内核调整sls文件;

自动化部署PHP应用平台_第6张图片

自动化部署PHP应用平台_第7张图片

自动化部署PHP应用平台_第8张图片

自动化部署PHP应用平台_第9张图片

(4).nginx 相关配置文件;

依赖包sls文件;

自动化部署PHP应用平台_第10张图片

核心配置sls

自动化部署PHP应用平台_第11张图片

自动化部署PHP应用平台_第12张图片


(5).mysql 相关配置文件;

依赖软件包;

自动化部署PHP应用平台_第13张图片

核心配置文件

自动化部署PHP应用平台_第14张图片

自动化部署PHP应用平台_第15张图片



(6)php 配置文件sls;

依赖包;

自动化部署PHP应用平台_第16张图片

核心配置文件;

自动化部署PHP应用平台_第17张图片

7.添加zend php 加速模块;

wKiom1ij_X-CINOEAAB5B7hpnkY051.png-wh_50


8.memcached 扩展sls文件;

依赖文件:

自动化部署PHP应用平台_第18张图片

核心配置sls 文件;

自动化部署PHP应用平台_第19张图片


9.程序后台/api 配置sls文件:


自动化部署PHP应用平台_第20张图片

自动化部署PHP应用平台_第21张图片

自动化部署PHP应用平台_第22张图片


10.项目部署成功路径;


(1).项目代码路径:/var/www/img4admin  以及 /var/www/img4api     


(2).mysql程序:

             后台程序日志:/var/log/nginx/img4admin.log  
             接口程序日志;/var/log/nginx/img4api.log
             mysql 主日志:/var/log/mysqld.log
             mysql 慢查询日志:/usr/local/mysql/slow.log
             安装目录:/usr/local/mysql
             数据目录: /usr/local/mysql/data
             配置文件:/etc/my.cnf
             启动脚本:/etc/init.d/mysqld


(3).nginx 程序:

             主程序目录:/etc/nginx/conf.d
             启动脚本:/etc/init.d/nginx
             
(4).php 程序目录;
            安装目录:/usr/local/php
            php-fpm 配置文件目录:/usr/local/php/etc/php-fpm
            php 核心配置文件: /usr/local/php/etc/php.ini
            启动脚本:/etc/init.d/php-fpm