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:
[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
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;
8.master 配置项目路径:
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 文件;
(2).添加mysql 用户sls 文件;
(3).环境内核调整sls文件;
(4).nginx 相关配置文件;
依赖包sls文件;
核心配置sls
(5).mysql 相关配置文件;
依赖软件包;
(6)php 配置文件sls;
依赖包;
核心配置文件;
7.添加zend php 加速模块;
8.memcached 扩展sls文件;
依赖文件:
核心配置sls 文件;
9.程序后台/api 配置sls文件:
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
本文出自 “渲染不变的昨天” 博客,谢绝转载!
原文:http://breaklinux.blog.51cto.com/8193722/1898084