saltstack之nginx、php的配置
mkdir /srv/salt/prod/libmcryptmkdir /srv/salt/prod/libmcrypt/files
# ll
total 512
-rw-r--r-- 1 root root 523321 Oct 11 20:13 libmcrypt-2.5.7.tar.gz
# pwd
/srv/salt/prod/libmcrypt/files
# pwd
/srv/salt/prod/libmcrypt
# tree
.
├── files
│ └── libmcrypt-2.5.7.tar.gz
└── install.sls
# cat install.sls
libmcrypt-install:
file.managed:
- name: /usr/local/src/libmcrypt-2.5.7.tar.gz
- source: salt://libmcrypt/files/libmcrypt-2.5.7.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /usr/local/src/ && tar xf libmcrypt-2.5.7.tar.gz && cd libmcrypt-2.5.7 && ./configure && make && make install
- unless: test -d /usr/local/src/libmcrypt-2.5.7
- require:
- file: /usr/local/src/libmcrypt-2.5.7.tar.gz
5.2编译安装php
# cat install.sls
pkg-php: 编写依赖包状态配置
pkg.installed:
- names:
- libxml2
- libxml2-devel
- bzip2
- bzip2-devel
- libjpeg-turbo
- libjpeg-turbo-devel
- libpng
- libpng-devel
- freetype
- freetype-devel
- zlib
- zlib-devel
- libcurl
- libcurl-devel
php-install: php编译安装状态配置
file.managed:
- name: /usr/local/src/php-5.6.30.tar.bz2
- source: salt://php/files/php-5.6.30.tar.bz2
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /usr/local/src/ && tar xf php-5.6.30.tar.bz2 && cd php-5.6.30 && ./configure --prefix=/usr/local/php --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-mcrypt --with-zlib --with-libxml-dir=/usr --enable-xml--enable-sockets --enable-fpm --with-config-file-path=/usr/local/php/etc --with-bz2 --with-gd && make && make install
- unless: test -d /usr/local/php
- require:
- pkg: pkg-php 由于上面安装的依赖于是基于pkg模式
- file: /usr/local/src/php-5.6.30.tar.bz2
pdo-plugin: php插件pdo_mysql状态配置
cmd.run:
- name: cd /usr/local/src/php-5.6.30/ext/pdo_mysql && /usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make&& make install
- unless: test -f /usr/local/php/lib/php/extensions/*/pdo_mysql.so
- require:
- file: php-install
php-ini: 提供php的php-ini配置文件
file.managed:
- name: /usr/local/php/etc/php.ini
- source: salt://php/files/php.ini-production
- user: root
- group: root
- mode: 644
php-fpm: 提供php-fpm的配置文件
file.managed:
- name: /usr/local/php/etc/php-fpm.conf
- source: salt://php/files/php-fpm.conf.default
- user: root
- group: root
- mode: 644
php-service: 将php-fpm服务添加到系统服务中
file.managed:
- name: /etc/init.d/php-fpm
- source: salt://php/files/init.d.php-fpm
- user: root
- group: root
- mode: 755
cmd.run:
- name: chkconfig --add php-fpm
- unless: chkconfig --list|grep php-fpm
- require:
- file: /etc/init.d/php-fpm
service.running:
- name: php-fpm
- enable: True
- require:
- cmd: php-service
- watch:
- file: php-ini
- file: php-fpm
页:
[1]