自动化部署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]