SaltStack配置管理-LAMP状态设计

  上一篇:SaltStack之Salt-ssh

  

  配置文件模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
apache:ID必须是全局唯一的
 
  pkg:状态模块
 
  installed:方法
 
  name:参数
 
  service:服务模块
  running:方法是运行
  file:文件模块
 
  managed:方法是管理
 
  name:管理文件的路径
 
  source:源文件
 
  user:文件用户
 
  group:文件用户组
 
  mode: 文件权限

  

  PS:一个ID下面一个模块只能用一次

  

  配置文件的另外一种写法,没有设置name参数的时候ID就是name

1
2
3
4
5
6
/etc/httpd/conf/httpd.conf
  file.managed:
    - source: salt://apache/file/httpd.conf
    - user: root
    - group: root
    - mode: 644

  

  PS:没有配置文件的时候可以找一台主机手动安装软件包获取配置文件

 

  编写sls配置文件,目录结构为

  配置文件内容为  

  apache.init

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

  运行安装

1
2
3
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选择

 

   下一篇:SaltStack配置管理-状态间关系

 

 

 

  

posted @   minseo  阅读(230)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示