一、rpm部署安装httpd
1.修改配置文件
[root@server1 ~]# vim /etc/salt/master #将674行,675行和676行的注释去掉
674 file_roots:
675 base:
676 - /srv/salt
[root@server1 ~]# mkdir /srv/salt
[root@server1 ~]# systemctl restart salt-master #修改配置文件之后,要重启服务
2.部署脚本
[root@server1 ~]# cd /srv/salt
[root@server1 salt]# mkdir httpd
[root@server1 salt]# cd httpd/
[root@server1 httpd]# vim apache.sls
install-httpd:
pkg.installed:
- httpd #安装httpd
- php #安装php
- php-mysql #安装php-mysql
3.执行推送
[root@server1 httpd]# pwd
/srv/salt/httpd
[root@server1 httpd]# ls
apache.sls
[root@server1 httpd]# salt server2 state.sls httpd.apache
4.minion端查看,安装成功
[root@server2 ~]# rpm -q httpd
[root@server2 ~]# rpm -q php
[root@server2 ~]# rpm -q php-mysql
二、部署安装&启动httpd
1.部署脚本
[root@server1 httpd]# vim apache.sls
install-httpd:
pkg.installed:
- pkgs:
- httpd
- php
- php-mysql
service.running: #使用service模块的running方法
- name: httpd #开启httpd服务
- enable: True #设置httpd服务开机自启
2.执行推送
[root@server1 httpd]# salt server2 state.sls httpd.apache
3.minion端查看,开启80端口,启动成功,开机自启设置成功
三、安装&启动&配置httpd
1.在httpd中创建files目录用于存放httpd配置文件
[root@server1 ~]# cd /srv/salt/httpd/
[root@server1 httpd]# ls
apache.sls
[root@server1 httpd]# mkdir files
2.minion将配置文件传给master(因为master端没有httpd的配置文件httpd.conf,而server1端在案例一时装过httpd服务,生成了httpd.conf文件)
[root@server2 ~]# scp /etc/httpd/conf/httpd.conf server1:/srv/salt/httpd/files
3.master中更改httpd的端口号为8080
[root@server1 files]# pwd
/srv/salt/httpd/files
[root@server1 files]# vim httpd.conf
42 Listen 8080
4.部署脚本
[root@server1 httpd]# pwd
/srv/salt/httpd
[root@server1 httpd]# vim apache.sls
install-httpd:
pkg.installed:
- pkgs:
- httpd
- php
- php-mysql
file.managed: #调用file模块的managed方法,拷贝文件
- name: /etc/httpd/conf/httpd.conf #拷贝到目标主机的/etc/httpd/conf/httpd.conf
- source: salt://httpd/files/httpd.conf
service.running:
- name: httpd
- enable: True
5.执行推送
[root@server1 httpd]# salt server2 state.sls httpd.apache
6.minion端查看,minion(server2)的配置文件端口改为8080,但8080端口未开启,并未加载服务,只有当重启httpd服务时,才会成功加载服务
[root@server2 ~]# vim /etc/httpd/conf/httpd.conf
四、安装&启动&配置&加载httpd
1.master中更改httpd的端口号为8080(因为只有当minion端的配置文件httpd.conf发生改变时才能触发)
[root@server1 files]# pwd
/srv/salt/httpd/files
[root@server1 files]# vim httpd.conf
42 Listen 8888
2.部署脚本
方法一:
[root@server1 httpd]# vim apache.sls
install-httpd:
pkg.installed:
- pkgs:
- httpd
- php
- php-mysql
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://httpd/files/httpd.conf
service.running:
- name: httpd
- enable: True
- reload: True #重新加载httpd服务
watch: #监控触发
- file: install-httpd
方法二:
install-httpd:
pkg.installed:
- pkgs:
- httpd
- php
- php-mysql
service.running:
- name: httpd
- enable: True
- reload: True
watch:
- file: /etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf:
file.managed:
- name: /etc/httpd/conf/httpd.conf #这行可以不要,因为这部分的标签就是/etc/httpd/conf/httpd.conf
- source: salt://httpd/files/httpd.conf
方法三:
httpd:
pkg.installed: #但是这里只安装了httpd,并没有安装php和php-mysql。因为这部分定义的名字是httpd,所以相当于安装了httpd
httpd-service:
service.running:
- name: httpd
- enable: True
- reload: True
watch:
- file: /etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://httpd/files/httpd.conf
2.执行推送
[root@server1 httpd]# salt server2 state.sls httpd.apache
3.minion端查看,minion(server2)的8888端口开启
五、安装&启动&配置&加载httpd—文件分离
1.安装
[root@server1 httpd]# pwd
/srv/salt/httpd
[root@server1 httpd]# ls
apache.sls files
[root@server1 httpd]# mv apache.sls install.sls
[root@server1 httpd]# vim install.sls
httpd:
pkg.installed
[root@server1 httpd]# salt server2 state.sls httpd.install
server2端查看httpd是否已经安装
2.加载服务
[root@server1 httpd]# pwd
/srv/salt/httpd
[root@server1 httpd]# ls
files install.sls
[root@server1 httpd]# vim service.sls
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://httpd/files/httpd.conf
httpd-service:
service.running:
- name: httpd
- enable: False
- reload: True
watch:
- file: /etc/httpd/conf/httpd.conf
[root@server1 httpd]# salt server2 state.sls httpd.service
在server2端查看8080端口是否已经开启
3.安装&加载服务
将以上两个文件结合起来,重新写入service.sls文件
[root@server1 httpd]# pwd
/srv/salt/httpd
[root@server1 httpd]# ls
files install.sls
[root@server1 httpd]# vim service.sls
include:
- httpd.install
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://httpd/files/httpd.conf
httpd-service:
service.running:
- name: httpd
- enable: False #设置开机不自启
- reload: True
watch:
- file: /etc/httpd/conf/httpd.conf
[root@server1 httpd]# salt server2 state.sls httpd.service
server2端查看httpd是否已经安装
在server2端查看8080端口是否已经开启