windows2008 iis网站 指定域名,深圳市龙华区平安医院,网站建设与维护专业,杭州做网站的公司有哪些目录
一、ansible模块
script模块 copy模块
使用command模块下载 nfs-utils rpcbind
在被控制的主机上添加static目录#xff0c;并创建test文件
command模块
service模块
二、playbook
三、playbook编排vsftpd
1、安装
2、卸载
3、启动服务
4、修改配置文件设置不…目录
一、ansible模块
script模块 copy模块
使用command模块下载 nfs-utils rpcbind
在被控制的主机上添加static目录并创建test文件
command模块
service模块
二、playbook
三、playbook编排vsftpd
1、安装
2、卸载
3、启动服务
4、修改配置文件设置不允许匿名访问并重启
5、练习修改httpd端口为8080
四、playbook编排多个hosts任务
1、创建文件
2、nfs
五、roles(难点
1、roles介绍 一、ansible模块
script模块 [rootm0 ~]# vim test000.sh #!/bin/bash
mkdir /tmp/three
touch /tmp/three/test
echo i am echo,at mttt /tmp/three/test
echo well done [rootm0 ~]# source test000.sh well done [rootm0 ~]# ansible group02 -m script -a ./test000.sh copy模块 [rootm0 ~]# ansible s -m copy -a src./mysql_master.sh dest~ 使用command模块下载 nfs-utils rpcbind [rootm0 ~]# ansible s -m command -a yum -y install nfs-utils [rootm0 ~]# ansible s -m command -a yum -y install rpcbind [rootm0 ~]# vim /etc/exports /static *(ro,sync) 在被控制的主机上添加static目录并创建test文件 [rootm0 ~]# ansible s -m file -a path/static statedirectory [rootm0 ~]# ansible s -m file -a path/static/test statetouch [rootm0 ~]# ansible s -m copy -a src/etc/exports dest/etc/exports command模块 [rootm0 ~]# ansible s -m command -a systemctl start nfs [rootm0 ~]# ansible s -m command -a systemctl enable nfs service模块 [rootm0 ~]# ansible s -m service -a namerpcbind statestarted enabledyes [rootm0 ~]# yum -y install nfs-utils [rootm0 ~]# mkdir /nfs [rootm0 ~]# mount -t nfs 192.168.8.157:/static /nfs/ [rootm0 ~]# ls /nfs/ test 二、playbook
playbook(剧本):是ansible用于配置,部署,和管理被控节点的剧本。用于ansible操作的编排。
一般使用ymal格式
playbook 剧本是保存在控制机的yml文件
YMAL格式 ■ 以.yaml或xyml结尾
■ 文件的第一行以” --- “开始,表明YMAL文件的开始(可选的)
■ 以#号开头为注释
■ 列表中的所有成员都开始于相同的缩进级别,并且使用一个-“作为开头(一个横杠和一个空格)
■ 一个字典是由一个简单的 键:值 的形式组成(这个冒号后面必须是一个空格)
■ 注意:写这种文件可以使用tab键和空格
Playbook常⻅语法
hosts: ⽤于指定要执⾏任务的主机其可以是⼀个或多个由冒号分 隔主机组.
remote_user: ⽤于指定远程主机上的执行任务的⽤户.
tasks:任务列表,按顺序执行任务.
■ 如果一个host执行task失败,整个tasks都会回滚,修正playbook中的错误,然后重新执行即可.
---
- hosts: 组名/别名/ip/域名remote_user: roottasks:- name: 任务说明模块 key0value0service: namevsftpd statestarted anabledyes- name: 修改配置文件command: sed...notify:- ancdefhandler:- name: abcdefservice namevsftpd ststerestared
...
三、playbook编排vsftpd
1、安装 [rootm0 ~]# vim test001.yml ---
- hosts: s #使用tab键对齐 指定组remote_user: root #tasks: - name: 安装vsftpdyum: namevsftpd statelatest [rootm0 ~]# ansible-playbook ./test001.yml 2、卸载 [rootm0 ~]# vim test001.yml ---
- hosts: sremote_user: roottasks:- name: 卸载vsftpyum: namevsftpd stateabsent- name: 安装vsftpdyum: namevsftpd statelatest [rootm0 ~]# ansible-playbook ./test001.yml 3、启动服务 [rootm0 ~]# vim test001.yml ---
- hosts: sremote_user: roottasks:- name: 卸载vsftpyum: namevsftpd stateabsent- name: 安装vsftpdyum: namevsftpd statelatest- name: 启动服务service: namevsftpd statestarted e
nabledyes [rootm0 ~]# ansible-playbook ./test001.yml 4、修改配置文件设置不允许匿名访问并重启
handlers:类似task,但需要使用notify通知调用。
■ 不管有多少个通知者进行了notify,等到play中的所有task执行完成之后,handlers也只会被执行一次.
■ handlers最佳的应用场景是用来重启服务,或者触发系统重启操作.除此以外很少用到了. [rootm0 ~]# yum -y install lftp [rootm0 ~]# lftp 192.168.8.157 lftp 192.168.8.157:~ ls drwxr-xr-x 2 0 0 6 Jun 09 2021 pub [roots0 ~]# sed -n /^anonymous_enableYES/s/YES/NO/g /etc/vsftpd/vsftpd.conf [rootm0 ~]# vim test001.yml ---
- hosts: sremote_user: roottasks:- name: 卸载vsftpyum: namevsftpd stateabsent- name: 安装vsftpdyum: namevsftpd statelatest- name: 启动服务service: namevsftpd statestarted enabledyes- name: 修改配置文件command: sed -i /^anonymous_enableYES/s/YES/NO/g /etc/vsftpd/vsftpd.confnotify: #调用- abcdefghandlers:- name: abcdefgservice: namevsftpd stateres
tarted[rootm0 ~]# ansible-playbook ./test001.yml [rootm0 ~]# lftp 192.168.8.157 lftp 192.168.8.157:~ exit [rootm0 ~]# lftp 192.168.8.157 lftp 192.168.8.157:~ ls 中断 5、练习修改httpd端口为8080 [rootm0 ~]# yum -y install httpd [rootm0 ~]# systemctl start httpd [rootm0 ~]# ls /var/www/html [rootm0 ~]# echo http html file /var/www/html/index.html [rootm0 ~]# curl localhost http html file [rootm0 ~]# vim /etc/httpd/conf/httpd.conf Listen 8080 [rootm0 ~]# systemctl restart httpd [rootm0 ~]# curl localhost curl: (7) Failed connect to localhost:80; 拒绝连接 [rootm0 ~]# curl localhost:8080 http html file [rootm0 ~]# vim test002.yml ---
- hosts: sremote_user: roottasks:- name: 将本机的rope文件复制到被控制主机copy: src/etc/yum.repos.d dest/etc/- name: 安装httpdyum: namehttpd statepresent- name: 修改配置文件command: sed -i /^Listen/s/80/8080/g /etc/httpd/conf/httpd.conf- name: 修改默认的资源文件command: echo woowowowowowwo /var/www/html/index.html- name: 启动httpd服务service: namehttpd statestarted
四、playbook编排多个hosts任务
1、创建文件 [rootm0 ~]# vim test003.yml ---
- hosts: sremote_user: roottasks:- name: 创建一个文件file: path/tmp/xxxx.txt statetouch- hosts: s1 #两台主机remote_user: roottasks:- name: 也创建一个文件file: path/tmp/yyyy.txt statetouch
... [rootm0 ~]# ansible-playbook ./test003.yml [roots0 ~]# ls /tmp/ xxxx.txt [roots1 ~]# ls /tmp/ yyyy.txt 2、nfs [rootm0 ~]# vim test004.yml ---
- hosts: sremote_user: roottasks:- name: 安装nfs-utilsyum: namenfs-utils statepresent- name: 安装rpcbindyum: namerpcbind statepresent- name: 创建共享文件file: path/static statedirectory- name: 配置文件shell: echo /static *(ro,sync) /etc/exports- name: 启动nfsservice: namenfs statestarted enabledyes- name: 启动rpcbindservice: namerpcbind statestarted enabledyes- hosts: 192.168.8.158remote_user: roottasks:- name: 安装nfs-utilsyum: namenfs-utils statelatest- name: 创建挂载目录file: path/nfs statedirectory- name: 挂载nfscommand: mount -t nfs 192.168.8.157:/static /nfs [rootm0 ~]# ansible-playbook ./test004.yml [roots1 ~]# ls /nfs/ test 五、roles(难点
1、roles介绍
roles(角色):就是通过分别将variables,tasks及handlers等放置于单独的目录中,并可以便捷地调用它们的一种机制。
假设我们要写一个playbook来安装管理lamp环境,那么这个playbook就会写很长。所以我们希望把这个很大的文件分成多个功能拆分,分成apache管理,php管理,mysql管理,然后在需要使用的时候直接调用就可以了,以免重复写。就类似编程里的模块化的概念,以达到代码复用的效果。