设计网站vcg,在线设计平台的消费者分析,网站结构优化包括哪些,asp.net 做网站文章是怎么存储的核心是管理配置进行批量节点部署。 执行其中的一些列tasks。 playbook由YAML语言编写。 YAML的格式如下#xff1a; 文件名应该以 .yml 结尾 1.文件的第一行应该以“—”#xff08;三个连字符#xff09;开始#xff0c;表明YAML文件的开始。 2.在同一行中#xff0c;#之…核心是管理配置进行批量节点部署。 执行其中的一些列tasks。 playbook由YAML语言编写。 YAML的格式如下 文件名应该以 .yml 结尾 1.文件的第一行应该以“—”三个连字符开始表明YAML文件的开始。 2.在同一行中#之后的内容表示注释类似于shellpython和ruby。 3.YAML中的列表元素以“-”开头并且跟着一个空格。后面为元素内容。 4.同一个列表之中的元素应该保持相同的缩进否则会被当做错误处理。 5.play中hosts、variables、roles、tasks等对象的表示方法都是以键值中间以“”分隔表示并且“”之后要加一个空格。 ---
- hosts: node1 #hosts指示使用哪个主机或者主机组来运行下面的tasks,host也可以使用通配符格式.remote_user: root #remote_user指定远端主机的哪个用户来登录远端系统在远端系统执行task的用户可以任意指定也可以使用sudo但是用户必须要有执行相应的task权限。tasks: #执行的核心- name: install mysql-server packageyum: namemysql-server statepresent- name: starting mysqld serviceservice: namemsyql statestarted一。主机或者主机组在inventorry清单中指定可以使用系统默认的/etc/ansible/hosts 也可以自己编辑在运行的时候加上-i 选项指定清单的位置。 在运行清单文件的时候 --list-hosts选项会显示哪些主机将会参与执行task的过程中。 二。使用ansible-playbook运行playbook文件得到的输出信息中信息内容为JSON格式并且由不同的颜色组成便于识别。 [rootansible ansible]# ansible-playbook roles.yml 如何定义一个role
[rootansible ansible]# pwd
/etc/ansible
[rootansible ansible]# ls
ansible.cfg hosts nginx.yml rolesMkdir创建文件夹 Mkdir -p 创建嵌套式文件夹 Mkdir -v 显示过程 Mkdir -pv同时创建多个文件夹 roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中、并可以便捷地include他们的一种机制 [rootansible roles]# ls
[rootansible roles]# mkdir -pv ./{nginx,mysql,httpd}/{files,templates,vars,tasks,handlers,meta,default}[rootansible roles]# tree
.
├── httpd
│ ├── default
│ ├── files
│ ├── handlers
│ ├── meta
│ ├── tasks
│ ├── templates
│ └── vars
├── mysql
│ ├── default
│ ├── files
│ ├── handlers
│ ├── meta
│ ├── tasks
│ ├── templates
│ └── vars
└── nginx├── default├── files├── handlers├── meta├── tasks├── templates└── vars[rootansible nginx]# pwd
/etc/ansible/roles/nginx用于定义此角色用到的各handler在handler中使用include包含的其他的handler文件也应该位于此目录中 files目录存放由copy或script等模块调用的文件 templates目录templates模块会自动在此目录中寻找Jinja2模板文件 tasks目录至少应该包含一个名为main.yml的文件其定义了此角色的任务列表此文件可以使用include包含其他的位于此目录中的task文件 handlers目录此目录中应当包含一个main vars目录应当包含一个main.yml文件用于定义此角色用到的变量 meta目录应当包含一个main.yml文件用于定义此角色的特殊设定及其依赖关系ansible 1.3及其以后的版本才支持 default目录为当前角色设定默认变量时使用此目录应当包含一个main.yml文件 .
├── default
├── files
│ └── nginx-1.18.0-1.el7.ngx.x86_64.rpm
├── handlers
│ └── main.yml
├── meta
├── tasks
│ └── main.yml
├── templates
│ └── nginx.conf.j2
└── vars└── main.yml[rootansible ]# cp /var/cache/yum/x86_64/7/nginx/packages/nginx.rpm /etc/ansible/roles/nginx/files/
[rootansible ]# cp /tmp/nginx.conf.j2 /etc/ansible/roles/nginx/templates/[rootansible nginx]# ls tasks/
main.yml
[rootansible nginx]# cat tasks/main.yml
- name: cpcopy: srcnginx.rpm dest/tmp/nginx.rpm
- name: installyum: name/tmp/nginx.rpm statelatest
- name: conftemplate: srcnginx.conf.j2 dest/etc/nginx/nginx.conftags: nginxconfnotify: new conf to reload
- name: start serviceservice: namenginx statestarted enabledtrue修改变量文件
cat vars/main.yml
nginxport: 9999定义handlers文件
[rootansible nginx]# cat handlers/main.yml
- name: new conf to reloadservice: namenginx staterestarted[rootansible ansible]# pwd
/etc/ansible
[rootansible ansible]# cat roles.yml
- hosts: webremote_user: rootroles:- nginx[rootansible nginx]# cat handlers/main.yml
- name: new conf to reloadservice: namenginx staterestarted
[rootansible nginx]# cat tasks/main.yml
- name: cpcopy: srcnginx-1.18.0-1.el7.ngx.x86_64.rpm dest/tmp/nginx-1.18.0-1.el7.ngx.x86_64.rpm
- name: installyum: name/tmp/nginx-1.18.0-1.el7.ngx.x86_64.rpm statelatest
- name: conftemplate: srcnginx.conf.j2 dest/etc/nginx/nginx.conftags: nginxconfnotify: new conf to reload
- name: start serviceservice: namenginx statestarted enabledtrue
[rootansible nginx]# cat templates/nginx.conf.j2 user nginx;
worker_processes 1;error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;
server {listen {{ nginxport }};
}include /etc/nginx/conf.d/*.conf;
}
[rootansible nginx]# cat vars/main.yml
nginxport: 9999