<code>salt install haproxy</code>
<code>http:</code><code>/</code><code>/</code><code>www.cnblogs.com</code><code>/</code><code>reblue520</code><code>/</code><code>p</code><code>/</code><code>6732913.html</code>
<code>https:</code><code>/</code><code>/</code><code>chegva.com</code><code>/</code><code>794.html</code>
<code>haproxy.install.sls</code>
<code>include pkg.pkg</code><code>-</code><code>init 依赖</code>
<code>haproxy</code><code>-</code><code>install </code><code>-</code> <code>file</code><code>.managed cmd.run 编译haproxy</code>
<code>haproxy</code><code>-</code><code>init </code><code>-</code> <code>file</code><code>.managed cmd.run 启动脚本并chkconfig</code>
<code>haproxy</code><code>-</code><code>config</code><code>-</code><code>dir</code> <code>file</code><code>.directory 目录权限</code>
<code>cluster.haproxy</code><code>-</code><code>outside.sls</code>
<code>include haproxy.install </code>
<code>haproxy</code><code>-</code><code>service </code><code>-</code> <code>file</code><code>.managed service.running haproxy配置文件,服务自启动</code>
<code># cd /srv/salt/base/</code>
<code># vim top.sls</code>
<code>base:</code>
<code>'*'</code><code>:</code>
<code>-</code> <code>init.env_init</code>
<code>prod:</code>
<code>-</code> <code>cluster.haproxy</code><code>-</code><code>outside</code>
<code>语法</code>
<code>-</code> <code>require:</code>
<code>-</code> <code>cmd: haproxy</code><code>-</code><code>init</code>
<code>-</code> <code>watch:</code>
<code>-</code> <code>file</code><code>: haproxy</code><code>-</code><code>service</code>
<code>-</code> <code>unless: test </code><code>-</code><code>d </code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>haproxy</code>
<code>salt install keepalived </code>
<code>/</code><code>etc</code><code>/</code><code>keepalived</code><code>/</code><code>keepalived.conf</code>
<code># cp keepalived/etc/init.d/keepalived.init /srv/salt/prod/keepalived/files/</code>
<code># cp keepalived/etc/init.d/keepalived.sysconfig /srv/salt/prod/keepalived/files/</code>
<code># cp keepalived/etc/keepalived/keepalived.conf /srv/salt/prod/keepalived/files/</code>
<code>keepalived.install.sls</code>
<code>keepalived</code><code>-</code><code>install </code><code>-</code> <code>file</code><code>.managed cmd.run 编译keepalived</code>
<code>keepalived</code><code>-</code><code>init </code><code>-</code> <code>file</code><code>.managed cmd.run </code><code>file</code><code>.managed </code><code>file</code><code>.directory 启动脚本并chkconfig</code>
<code> </code>
<code>cluster.keepalived</code><code>-</code><code>outside.sls</code>
<code>include keepalived.install </code>
<code>keepalived</code><code>-</code><code>service </code><code>-</code> <code>file</code><code>.managed service.running keepalived配置文件,服务自启动</code>
<code>-</code> <code>template: jinja</code>
<code>{</code><code>%</code> <code>if</code> <code>grains[</code><code>'fqdn'</code><code>] </code><code>=</code><code>=</code> <code>'mini1'</code> <code>%</code><code>}</code>
<code>-</code> <code>ROUTEID: haproxy_ha</code>
<code>-</code> <code>STATEID: MASTER</code>
<code>-</code> <code>PRIORITYID: </code><code>150</code>
<code>{</code><code>%</code> <code>elif</code> <code>grains[</code><code>'fqdn'</code><code>] </code><code>=</code><code>=</code> <code>'node2.chinasoft.com'</code> <code>%</code><code>}</code>
<code>-</code> <code>STATEID: BACKUP</code>
<code>-</code> <code>PRIORITYID: </code><code>100</code>
<code>{</code><code>%</code> <code>endif </code><code>%</code><code>}</code>
<code>salt install memcached</code>
<code>user.www </code>
<code>libevent.install </code><code>-</code> <code>file</code><code>.managed cmd.run require </code><code>-</code> <code>file</code><code>: libevent</code><code>-</code><code>source</code><code>-</code><code>install</code>
<code>memcached.install </code>
<code> </code><code>include: </code><code>-</code> <code>libevent.install </code><code>-</code> <code>user.www</code>
<code> </code><code>-</code> <code>file</code><code>.managed cmd.run </code>
<code> </code><code>require </code><code>-</code> <code>cmd: libevent</code><code>-</code><code>source</code><code>-</code><code>install </code><code>-</code> <code>file</code><code>: memcached</code><code>-</code><code>source</code><code>-</code><code>install</code>
<code>memcached.service</code>
<code> </code><code>include: </code><code>-</code> <code>memcached.install</code>
<code> </code><code>-</code> <code>cmd.run</code>
<code> </code><code>require </code><code>-</code> <code>cmd: memcached</code><code>-</code><code>source</code><code>-</code><code>install </code><code>-</code> <code>user: www</code><code>-</code><code>user</code><code>-</code><code>group</code>
与安装haproxy区别的是,memcached引用了libevent,本来是3步,最后变为4步
<code>salt install nginx (三步)</code>
<code>pcre</code><code>-</code><code>source</code><code>-</code><code>install </code><code>-</code><code>file</code><code>.managed </code><code>-</code><code>cmd.run</code>
<code>nginx.install </code>
<code> </code><code>-</code><code>include </code><code>-</code> <code>pcre.install </code><code>-</code> <code>user.www</code>
<code> </code><code>nginx</code><code>-</code><code>source</code><code>-</code><code>install </code><code>-</code><code>file</code><code>.managed </code><code>-</code><code>cmd.run </code>
<code>nginx.service</code>
<code> </code><code>-</code> <code>include nginx.install</code>
<code> </code><code>nginx</code><code>-</code><code>init </code><code>-</code><code>file</code><code>.managed </code><code>-</code><code>cmd.run</code>
<code> </code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>nginx</code><code>/</code><code>conf</code><code>/</code><code>nginx.conf</code>
<code> </code><code>nginx</code><code>-</code><code>service </code><code>file</code><code>.directory</code>
<code>salt php</code><code>+</code><code>nginx虚拟主机</code>
<code>1.php</code><code>配置</code>
<code>2.php</code> <code>redis 模块</code>
<code>3.php</code> <code>memcached模块</code>
<code>4.bbs</code> <code>论坛</code>
<code>php</code><code>-</code><code>init</code>
<code>php</code><code>-</code><code>install </code><code>-</code><code>include </code><code>-</code> <code>file</code><code>.manage </code><code>-</code><code>cmd.run</code>
<code>2.php</code> <code>redis模块</code>
<code>php</code><code>-</code><code>redis</code><code>-</code><code>install</code>
<code> </code><code>-</code> <code>file</code><code>.manage </code><code>-</code><code>cmd.run</code>
<code> </code><code>-</code> <code>file</code><code>.append</code>
<code>总结</code>
<code>pkg</code><code>-</code><code>php </code><code>-</code> <code>pkg.installed </code>
<code>php</code><code>-</code><code>source</code><code>-</code><code>install </code><code>-</code> <code>file</code><code>.manage </code><code>-</code><code>cmd.run</code>
<code>php</code><code>-</code><code>ini </code>
<code>php</code><code>-</code><code>fpm</code>
<code>php</code><code>-</code><code>fastcgi</code><code>-</code><code>service</code>
<code>redis</code><code>-</code><code>plugin</code>
<code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>php</code><code>-</code><code>fastcgi</code><code>/</code><code>etc</code><code>/</code><code>php.ini</code>
<code>memcache</code><code>-</code><code>plugin</code>
<code>-</code> <code>service: php</code><code>-</code><code>fastcgi</code><code>-</code><code>service</code>
<code>-</code> <code>watch_in:</code>
<code>-</code> <code>service: nginx</code><code>-</code><code>service</code>
所有的目录结构
[root@saltstack-node1 ~]# tree /srv/salt/
/srv/salt/├── base│ ├── init│ │ ├── audit.sls
├── cluster
│ ├── files
│ │ ├── haproxy-outside.cfg
│ │ └── haproxy-outside-keepalived.conf
│ ├── haproxy-outside-keepalived.sls
│ └── haproxy-outside.sls
├── haproxy
│ │ ├── haproxy-1.5.3.tar.gz
│ │ └── haproxy.init
│ └── install.sls
├── keepalived
│ │ ├── keepalived-1.2.17.tar.gz
│ │ ├── keepalived.init
│ │ └── keepalived.sysconfig
├── libevent
│ │ └── libevent-2.0.22-stable.tar.gz
├── memcached
│ │ └── memcached-1.4.24.tar.gz
│ ├── install.sls
│ └── service.sls
├── nginx
│ │ ├── nginx-1.9.1.tar.gz
│ │ ├── nginx.conf
│ │ └── nginx-init
├── pcre
│ │ └── pcre-8.37.tar.gz
├── php
│ │ ├── init.d.php-fpm
│ │ ├── memcache-2.2.7.tgz
│ │ ├── php-5.6.9.tar.gz
│ │ ├── php-fpm.conf.default
│ │ ├── php.ini-production
│ │ └── redis-2.2.7.tgz
├── user
│ └── www.sls
└── web
├── bbs.sls
└── files
└── bbs.conf
salt安装nginx服务
vim /srv/salt/top.sls
dev:
'minion.hello.com':
- nginx
cd /srv/salt
mkdir dev
cd dev
mkdir nginx
/srv/salt/dev/nginx nginx.sls
nginx:
pkg:
- installed
service:
- running
- enable: Ture
- watch:
- file: /etc/nginx/nginx.conf
- file: /etc/nginx/conf.d/default.conf
- require:
- pkg: nginx
/etc/nginx/nginx.conf:
file.managed:
- source: salt://nginx/nginx.conf
- mode: 664
- user: root
- group: root
/etc/nginx/conf.d/default.conf:
- source: salt://nginx/default.conf
salt 'minion.hello.com' state.highstate
salt haproxy
<a href="http://www.cnblogs.com/caoxiaojian/p/5095653.html" target="_blank">http://www.cnblogs.com/caoxiaojian/p/5095653.html</a>
这篇博文写的非常详细,极力推荐,但是要自己操作。因为目录结构复杂点。
mkdir /srv/salt/prod/pkg/
mkdir /srv/salt/prod/haproxy/
mkdir /srv/salt/prod/haproxy/files
cd /srv/salt/prod/pkg/
vim pkg-init.sls
pkg-init: # ID describe
pkg.installed: # pkg模块 installed方法
- names:
- gcc
- gcc-c++
- glibc
- make
- autoconf
- openssl
- openssl-devel
cd /srv/salt/prod/haproxy/files/
ll
-rw-r--r-- 1 root root 1538976 11月 7 09:04 haproxy-1.6.2.tar.gz
cp haproxy-1.6.2.tar.gz /usr/local/src/
cd /usr/local/src/
make TARGET=linux26 PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy
vim haproxy.init
BIN=/usr/local/haproxy/sbin/$BASENAME
cp haproxy.init /srv/salt/prod/haproxy/files/
cd /srv/salt/prod/haproxy/
vim install.sls
include: # 导入pkg目录下的pkg-init.sls文件
- pkg.pkg-init
haproxy-install: # 定义声明一个ID
file.managed: # file模块下的managed方法
- name: /usr/local/src/haproxy-1.6.2.tar.gz # 文件名:拷贝minion端这里,文件名是haproxy-1.6.2.tar.gz
- source: salt://haproxy/files/haproxy-1.6.2.tar.gz # 从这里拷贝
- user: root # 用户
- group: root # 组
- mode: 755 # 权限
cmd.run: # 执行命令
- name: cd /usr/local/src/ && tar zxf haproxy-1.6.2.tar.gz && cd haproxy-1.6.2 && make TARGET=linux26 PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy
- unless: test -d /usr/local/haproxy # 判断是否存在,unless返回值是false时,才执行命令
- require: # 依赖下面的内容
- pkg: pkg-init # pkg是模块
- file: haproxy-install # file也是模块
haproxy-init: # 定义声明一个ID
file.managed:
- name: /etc/init.d/haproxy
- source: salt://haproxy/files/haproxy.init
- mode: 755
- cmd: haproxy-install
cmd.run:
- name: chkconfig --add haproxy
- unless: chkconfig --list |grep haproxy
- file: haproxy-init
net.ipv4.ip_nonlocal_bind: # 定义声明一个ID
sysctl.present: # 修改系统的kernel值
- value: 1 # 改值为1
haproxy-config-dir:
file.directory:
- name: /etc/haproxy
salt 'linux-node1.*' state.sls haproxy.install env=prod
注意
cat /etc/salt/master
file_roots:
base:
- /srv/salt/base
prod:
- /srv/salt/prod
interface: ip
nodegroups:
mysql: 'cm1'
目录结构
[root@nginx salt]# tree
.
├── base
│ └── _modules
│ └── my_disk.py
└── prod
├── haproxy
│ ├── files
│ │ ├── haproxy-1.5.4.tar.gz
│ │ └── haproxy.init
│ └── install.sls
└── pkg
└── pkg-init.sls
本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1915156,如需转载请自行联系原作者