千家信息网

SaltStack实战之配置管理-LAMP自动化部署

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,SaltStack实战之配置管理-LAMP自动化部署学习 SaltStackSaltStack实战之配置管理-LAMP自动化部署1. 部署思路2. 编写lamp.sls1. 部署思路将lamp分成3部
千家信息网最后更新 2026年11月02日SaltStack实战之配置管理-LAMP自动化部署

SaltStack实战之配置管理-LAMP自动化部署


学习 SaltStack



  • SaltStack实战之配置管理-LAMP自动化部署

    • 1. 部署思路

    • 2. 编写lamp.sls


1. 部署思路

  1. 将lamp分成3部分:软件包、配置文件、服务;

  2. 确认安装的软件包名、配置文件路径、服务名等;

  3. 按以上信息编写yaml文件;

2. 编写lamp.sls

[root@salt-master112 salt]# pwd
/srv/salt
[root@salt-master112 salt]# ls
dev init prod test top.sls
[root@salt-master112 salt]# cat dev/lamp.sls
lamp-pkg-install:
pkg.installed:
- names:
- httpd
- php
- php-fpm
- mysql
- mysql-server
- php-mysql
- php-pdo

apache-service:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source:
- salt://dev/files/httpd.conf
- user: root
- group: root
- mode: 644
service.running:
- name: httpd
- enable: True

mysql-service:
file.managed:
- name: /etc/my.cnf
- source:
- salt://dev/files/my.cnf
- user: root
- group: root
- mode: 644
service.running:
- name: mysqld
- enable: True

php-fpm-service:
service.running:
- name: php-fpm
- enable: True
[root@salt-master112 salt]# cat top.sls
base:
'*':
- init.dns

dev:
'node*.test.com':
- lamp
[root@salt-master112 salt]# ls dev/
files lamp.sls
[root@salt-master112 salt]# ls dev/files/
httpd.conf my.cnf
[root@salt-master112 salt]#

执行salt '*' state.highstate查看结果:

 [root@salt-master112 salt]# salt-key -L
Accepted Keys:
master.test.com
node1.test.com
node2.test.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@salt-master112 salt]# salt '*' state.highstate
master.test.com:
----------

ID: /etc/resolv.conf
Function: file.managed
Result: True
Comment: File /etc/resolv.conf is in the correct state
Started: 23:20:50.495770
Duration: 23.706 ms
Changes:

Summary for master.test.com
------------

Succeeded: 1
Failed: 0
------------

Total states run: 1
Total run time: 23.706 ms
node1.test.com:
----------

ID: /etc/resolv.conf
Function: file.managed
Result: True
Comment: File /etc/resolv.conf is in the correct state
Started: 15:23:33.990342
Duration: 32.918 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: httpd
Result: True
Comment: Package httpd is already installed
Started: 15:23:34.603609
Duration: 649.913 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php-pdo
Result: True
Comment: Package php-pdo is already installed
Started: 15:23:35.253716
Duration: 0.539 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php-fpm
Result: True
Comment: Package php-fpm is already installed
Started: 15:23:35.254347
Duration: 0.359 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: mysql-server
Result: True
Comment: Package mysql-server is already installed
Started: 15:23:35.254807
Duration: 0.346 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php-mysql
Result: True
Comment: Package php-mysql is already installed
Started: 15:23:35.255233
Duration: 0.367 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: mysql
Result: True
Comment: Package mysql is already installed
Started: 15:23:35.255688
Duration: 0.355 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php
Result: True
Comment: Package php is already installed
Started: 15:23:35.256129
Duration: 0.348 ms
Changes:
----------

ID: apache-service
Function: file.managed
Name: /etc/httpd/conf/httpd.conf
Result: False
Comment: Unable to manage file: none of the specified sources were found
Started: 15:23:35.256569
Duration: 6.275 ms
Changes:
----------

ID: apache-service
Function: service.running
Name: httpd
Result: False
Comment: Service httpd has been enabled, and is dead
Started: 15:23:35.275736
Duration: 230.013 ms
Changes:
----------
httpd:
True
----------

ID: mysql-service
Function: file.managed
Name: /etc/my.cnf
Result: False
Comment: Unable to manage file: none of the specified sources were found
Started: 15:23:35.505956
Duration: 6.35 ms
Changes:
----------

ID: mysql-service
Function: service.running
Name: httpd
Result: False
Comment: Service httpd is already enabled, and is dead
Started: 15:23:35.512412
Duration: 134.002 ms
Changes:
----------

ID: php-fpm-service
Function: service.running
Name: php-fpm
Result: True
Comment: Service php-fpm is already enabled, and is running
Started: 15:23:35.646635
Duration: 196.639 ms
Changes:
----------
php-fpm:
True

Summary for node1.test.com
------------

Succeeded: 9 (changed=2)
Failed: 4
------------

Total states run: 13
Total run time: 1.258 s

node2.test.com:
----------

ID: /etc/resolv.conf
Function: file.managed
Result: True
Comment: File /etc/resolv.conf is in the correct state
Started: 15:23:34.682679
Duration: 103.617 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: httpd
Result: True
Comment: The following packages were installed/updated: httpd
Started: 15:23:38.021487
Duration: 46521.648 ms
Changes:
----------
apr:
----------
new:
1.3.9-5.el6_2
old:
apr-util:
----------
new:
1.3.9-3.el6_0.1
old:
apr-util-ldap:
----------
new:
1.3.9-3.el6_0.1
old:
httpd:
----------
new:
2.2.15-59.el6.centos
old:
httpd-tools:
----------
new:
2.2.15-59.el6.centos
old:
mailcap:
----------
new:
2.1.31-2.el6
old:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php-pdo
Result: True
Comment: The following packages were installed/updated: php-pdo
Started: 15:24:24.562565
Duration: 8749.133 ms
Changes:
----------
php-common:
----------
new:
5.3.3-49.el6
old:
php-pdo:
----------
new:
5.3.3-49.el6
old:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php-fpm
Result: True
Comment: The following packages were installed/updated: php-fpm
Started: 15:24:33.336866
Duration: 8477.529 ms
Changes:
----------
php-fpm:
----------
new:
5.3.3-49.el6
old:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: mysql-server
Result: True
Comment: The following packages were installed/updated: mysql-server
Started: 15:24:41.843441
Duration: 28414.553 ms
Changes:
----------
mysql:
----------
new:
5.1.73-8.el6_8
old:
mysql-libs:
----------
new:
5.1.73-8.el6_8
old:
mysql-server:
----------
new:
5.1.73-8.el6_8
old:
perl-DBD-MySQL:
----------
new:
4.013-3.el6
old:
perl-DBI:
----------
new:
1.609-4.el6
old:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php-mysql
Result: True
Comment: The following packages were installed/updated: php-mysql
Started: 15:25:10.289755
Duration: 8122.46 ms
Changes:
----------
php-mysql:
----------
new:
5.3.3-49.el6
old:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: mysql
Result: True
Comment: Package mysql is already installed
Started: 15:25:18.458202
Duration: 1.519 ms
Changes:
----------

ID: lamp-pkg-install
Function: pkg.installed
Name: php
Result: True
Comment: The following packages were installed/updated: php
Started: 15:25:18.459996
Duration: 14374.708 ms
Changes:
----------
php:
----------
new:
5.3.3-49.el6
old:
php-cli:
----------
new:
5.3.3-49.el6
old:
----------

ID: apache-service
Function: file.managed
Name: /etc/httpd/conf/httpd.conf
Result: False
Comment: Unable to manage file: none of the specified sources were found
Started: 15:25:32.846614
Duration: 38.9 ms
Changes:
----------

ID: apache-service
Function: service.running
Name: httpd
Result: False
Comment: Service httpd has been enabled, and is dead
Started: 15:25:32.916084
Duration: 674.943 ms
Changes:
----------
httpd:
True
----------

ID: mysql-service
Function: file.managed
Name: /etc/my.cnf
Result: False
Comment: Unable to manage file: none of the specified sources were found
Started: 15:25:33.591498
Duration: 23.162 ms
Changes:
----------

ID: mysql-service
Function: service.running
Name: httpd
Result: False
Comment: Service httpd is already enabled, and is dead
Started: 15:25:33.614954
Duration: 357.977 ms
Changes:
----------

ID: php-fpm-service
Function: service.running
Name: php-fpm
Result: True
Comment: Service php-fpm is already enabled, and is running
Started: 15:25:33.973402
Duration: 512.95 ms
Changes:
----------
php-fpm:
True

Summary for node2.test.com
------------

Succeeded: 9 (changed=8)
Failed: 4
------------

Total states run: 13
Total run time: 116.373 s
ERROR: Minions returned with non-zero exit code
[root@salt-master112 salt]#

上面结果中有报错
Unable to manage file: none of the specified sources were found

需要修改路径,把dev去掉。因为在top.sls配置文件中,lamp是定义在dev下面的,因此salt://应该是从dev目录下为起始的。

- salt://files/httpd.conf


配置 文件 实战 管理 自动化 思路 结果 路径 软件 软件包 服务 信息 目录 部分 面的 学习 起始 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 金融科技还是互联网 互联网络科技有限公司 金融科技与互联网金融 易互联网科技有限公司 互联网 科技创业 为想互联网科技 致聘互联网科技 玖二柒互联网科技公司待遇 深圳前海聚择互联网科技有限公司 欧洲十大科技互联网公司 互联网科技公司实习生 天津腾达互联网科技有限公司 元气玛特互联网科技公司是外包吗 电子商务与互联网科技的关系 互联网营销推广黑科技 易企秀互联网科技是做什么的 互联网高科技行业有哪些企业 绵阳真晨互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 南京欣网互联网络科技 苏州找大状互联网科技有限公司 互联网中国科技 重庆科技学院互联网 西藏七维空间互联网科技有限公司 银川新华互联网科技学校联系电话 为客找房互联网科技公司怎么样 珠海东科互联网科技有限公司 互联网科技接地气 互联网科技职业技能培训学校
0