SaltStack配置管理-LAMP状态设计
配置文件模板
apache:
pkg.installed:
- name: httpd
service.running:
- name: httpd
/etc/httpd/conf/httpd.conf
file.managed:
- source: salt://apache/file/httpd.conf
- user: root
- group: root
- mode: 644
/etc/httpd/conf/php.conf
file.managed:
- source: salt://apapche/files/php.conf
- user: root
- group: root
- mode: 644
apache:ID必须是全局唯一的 pkg:状态模块 installed:方法 name:参数 service:服务模块 running:方法是运行 file:文件模块 managed:方法是管理 name:管理文件的路径 source:源文件 user:文件用户 group:文件用户组 mode: 文件权限
PS:一个ID下面一个模块只能用一次
配置文件的另外一种写法,没有设置name参数的时候ID就是name
/etc/httpd/conf/httpd.conf
file.managed:
- source: salt://apache/file/httpd.conf
- user: root
- group: root
- mode: 644
PS:没有配置文件的时候可以找一台主机手动安装软件包获取配置文件
编写sls配置文件,目录结构为

配置文件内容为
apache.init
apache-install:
pkg.installed:
- name: httpd
apache-config:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf
- user: root
- group: root
- mode: 644
apache-running:
service.running:
- name: httpd
- enable: True
mysql.init
mysql-install:
pkg.installed:
- pkgs:
- mariadb
- mariadb-server
mysql-config:
file.managed:
- name: /etc/my.cnf
- source: salt://mysql/file/my.cnf
- user: root
- group: root
- mode: 644
mysql-service:
service.running:
- name: mariadb
- enable: True
php.init
php-install:
pkg.installed:
- pkgs:
- php
- php-pdo
- php-mysql
php-config:
file.managed:
- name: /etc/php.ini
- source: salt://php/files/php.ini
- user: root
- group: root
- mode: 644
运行安装
salt -S '192.168.56.12' state.sls apache.init saltenv=prod salt -S '192.168.56.12' state.sls php.init saltenv=prod salt -S '192.168.56.12' state.sls mysql.init saltenv=prod
-S参数是执行IP选择

浙公网安备 33010602011771号