升木 发表于 2018-12-14 10:39:46

自动化部署PHP应用平台

  

  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:

[*]  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

[*]  Save the   following file to /etc/yum.repos.d/saltstack.repo:
Version 7 and 6:

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:

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

[*]  Run sudo yum   clean expire-cache.
[*]  Run sudo yum   update.
[*]  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;
https://s5.运维网.com/wyfs02/M02/8D/9F/wKiom1ij8YWBJ_2GAAHETZvKLLQ240.png-wh_500x0-wm_3-wmp_4-s_1907637927.png
https://s4.运维网.com/wyfs02/M00/8D/9F/wKiom1ij8cigt4gXAACPZlLA61c773.png-wh_500x0-wm_3-wmp_4-s_3094229920.png
  8.master 配置项目路径:
  https://s5.运维网.com/wyfs02/M00/8D/9C/wKioL1ij8n2xV0nWAACAlI72oJ4782.png-wh_500x0-wm_3-wmp_4-s_1015963051.png

  9.项目目录结构;
  tree       /etc/salt/states/

  ├── app-user                           ########项目环境需要用户名################
│   └── app-mysql-user.sls      ######## 配置mysql用户名 sls 文件###########
├── images-app                         #########图片社区环境目录################      
│   ├── dfsj-image.sls                ##########图片社区核心配置文件############
│   └── files                              #######环境代码和配置文件################   
│       ├── dfsj-images.sql.gz      ##########项目数据库文件##############
│       ├── image_admin_project.py   
│       ├── image_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
│   │   ├── image.api.conf             ########程序api 程序配置文件############
│   │   ├── image.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 文件;
  https://s1.运维网.com/wyfs02/M02/8D/9F/wKiom1ij9i6xT4TLAABBorJON_Q091.png-wh_500x0-wm_3-wmp_4-s_2636552944.png
  

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

  https://s3.运维网.com/wyfs02/M01/8D/9F/wKiom1ij9ZeCFShpAABMwfXJloU947.png-wh_500x0-wm_3-wmp_4-s_3477804078.png

  (3).环境内核调整sls文件;
  
https://s3.运维网.com/wyfs02/M01/8D/9F/wKiom1ij9weASm2dAABs2IlZKEU803.png-wh_500x0-wm_3-wmp_4-s_3053391027.png
https://s4.运维网.com/wyfs02/M01/8D/9C/wKioL1ij9weSPbNOAABxc6XlBuQ373.png-wh_500x0-wm_3-wmp_4-s_1501727844.png
https://s4.运维网.com/wyfs02/M01/8D/9F/wKiom1ij9wfzmAU9AABrjPsCZAA602.png-wh_500x0-wm_3-wmp_4-s_2061494880.png
https://s5.运维网.com/wyfs02/M02/8D/9F/wKiom1ij9wjSUEdsAABYxRevii0519.png-wh_500x0-wm_3-wmp_4-s_2111008723.png
  (4).nginx 相关配置文件;
  依赖包sls文件;
  https://s5.运维网.com/wyfs02/M00/8D/9C/wKioL1ij-AuS7htfAAA27FB1XhQ377.png-wh_500x0-wm_3-wmp_4-s_53671797.png
  核心配置sls

  https://s3.运维网.com/wyfs02/M00/8D/9C/wKioL1ij96yScyV8AACgi7F38QY779.png-wh_500x0-wm_3-wmp_4-s_1107388655.png
https://s4.运维网.com/wyfs02/M01/8D/9F/wKiom1ij963Sx3LrAABsw3HIVx0121.png-wh_500x0-wm_3-wmp_4-s_2556600128.png
  

  (5).mysql 相关配置文件;
  依赖软件包;
https://s1.运维网.com/wyfs02/M01/8D/9C/wKioL1ij-eLhoIvnAAB-jtPZRis348.png-wh_500x0-wm_3-wmp_4-s_2964130184.png

  核心配置文件

https://s2.运维网.com/wyfs02/M00/8D/9C/wKioL1ij-LPxU1eqAACiAC8cIo4319.png-wh_500x0-wm_3-wmp_4-s_2777791879.png
  https://s2.运维网.com/wyfs02/M00/8D/9C/wKioL1ij-YryGJwlAACLJuESuBs912.png-wh_500x0-wm_3-wmp_4-s_1307703190.png

  

  

  (6)php 配置文件sls;
  依赖包;

https://s2.运维网.com/wyfs02/M02/8D/9F/wKiom1ij_OSQ0iKeAAB57wZXB3U808.png-wh_500x0-wm_3-wmp_4-s_2489697938.png
  核心配置文件;
https://s1.运维网.com/wyfs02/M00/8D/9C/wKioL1ij_SGgN528AADzlm5e7lI531.png-wh_500x0-wm_3-wmp_4-s_2439819844.png
  7.添加zend php 加速模块;
https://s3.运维网.com/wyfs02/M02/8D/9F/wKiom1ij_X-CINOEAAB5B7hpnkY051.png-wh_500x0-wm_3-wmp_4-s_3800566037.png
  

  8.memcached 扩展sls文件;
  依赖文件:
https://s1.运维网.com/wyfs02/M00/8D/9F/wKiom1ij_hjgGGo9AAAor6IE31o727.png-wh_500x0-wm_3-wmp_4-s_3926071912.png

  核心配置sls 文件;
https://s5.运维网.com/wyfs02/M02/8D/9C/wKioL1ij_eShLK2sAAEcRngCwMQ194.png-wh_500x0-wm_3-wmp_4-s_2768798081.png
  

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

https://s3.运维网.com/wyfs02/M01/8D/9D/wKioL1ij_yuAT2NIAACdzzuPMMo648.png-wh_500x0-wm_3-wmp_4-s_1282668742.png
https://s5.运维网.com/wyfs02/M01/8D/9D/wKioL1ij_sPDjS56AAC0hK33Zhs767.png-wh_500x0-wm_3-wmp_4-s_3839930248.png

https://s5.运维网.com/wyfs02/M02/8D/A0/wKiom1ij_4XCH8lFAAC4m9V86uk306.png-wh_500x0-wm_3-wmp_4-s_951562290.png
  

  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






页: [1]
查看完整版本: 自动化部署PHP应用平台