重庆网站建设服务公司,建站行业怎么样,wordpress管理密码修改,企业营销网站建立1、简介#xff1a;
Ansible 中的角色#xff08;Role#xff09;是一种组织和封装Playbook的方法#xff0c;用于管理和组织 Ansible代码。它可以将任务和配置逻辑模块化#xff0c;以便在不同的Playbook中共享和重用。
2、通过 role 远程部署并配置 nginx
(1) 准备目…1、简介
Ansible 中的角色Role是一种组织和封装Playbook的方法用于管理和组织 Ansible代码。它可以将任务和配置逻辑模块化以便在不同的Playbook中共享和重用。
2、通过 role 远程部署并配置 nginx
(1) 准备目录结构 mkdir roles/nginx/{files,handlers,tasks,templates,vars} -p touch roles/site.yaml roles/nginx/{handlers,tasks,vars}/main.yaml echo 1234 roles/nginx/files/index.html yum install -y nginx cp /etc/nginx/nginx.conf roles/nginx/templates/nginx.conf.j2 ● files存放需要复制到目标主机的文件。
● handlers存放角色的处理器handlers这些处理器用于在需要时触发某些操作通常与任务相关。
● tasks角色的主要任务列表。
● templates存放模板文件并部署到目标主机。
● vars存放角色的其他变量。 (2) 编写任务 tasks
vim roles/nginx/tasks/main.yaml
---- name: install epel-release packgeyum: nameepel-release statelatest- name: install nginx packgeyum: namenginx statelatest- name: copy index.htmlcopy: srcindex.html dest/usr/share/nginx/html/index.html- name: copy nginx.conf templatetemplate: srcnginx.conf.j2 dest/etc/nginx/nginx.confnotify: restart nginx- name: make sure nginx service runningservice: namenginx statestarted enabledyes (3) template
① 简介
使用 Jinja2 模板引擎编写包含变量和表达式的动态配置文件
② 作用
在 Jinja2 模版中的文件允许存在变量 变量在拷贝时会经过一次转换拷贝到客户机时先调用变量将调用的值替换变量再拷给客户机。
③ 示例
vim roles/nginx/templates/nginx.conf.j2
调用已知变量 worker_processes {{ ansible_processor_cores }}; ● Jinja2 模版变量格式为 {{ 变量名 }}若编写在普通文件中剧本是将 worker_processes {{ ansible_processor_cores }} 直接拷贝到客户机但在 Jinja 文件中变量会先转换成对应的值 (1)再拷贝给客户机。
● 此处的 worker_processes 不能设置成 auto否则每次执行剧本时都会先检索 CPU 数量。 调用自定义变量 worker_connections {{ worker_connections }}; 自定义变量在 vars 下的 main.yaml 里进行声明vim roles/nginx/vars/main.yaml (4) 编写处理程序 handlers
在 tasks 的 main.yaml 里编写了触发器 notify: restart nginx其对应的处理器程序在 handlers 下的 main.yaml 里编写。handlers 的 main.yaml 里存放了剧本所有的处理程序
vim roles/nginx/handlers/main.yaml
---- name: restart nginxservice: namenginx staterestarted (5) 编写总剧本 site.yaml
vim roles/site.yaml
- host: host1roles:- nginx (6) 执行剧本
① 检查剧本的语法 ansible-playbook site.yaml --syntax-check 不用检查每个目录下的 yaml 文件因为这些文件不完整只是一个剧本中的一部分。
② 执行剧本 ansible-playbook site.yaml 3、ansible 补充
(1) 使用 ansible 循环创建多个用户
vim createUser.yaml
- hosts: host1tasks:- name: create usersuser: name{{ item }} statepresent groupswheelwith_items:- testuser1- testuser2
groupswheel 是在创建用户时为用户指定的附加用户组。在默认情况下wheel 组通常被授权通过sudo来执行系统命令这意味着成员可以以超级用户root权限执行命令从而获得对系统的更高控制权。 (2) 服务器托管
服务器托管又称主机托管指将服务器及相关设备托管到具有完善机房设施、高品质网络环境、丰富带宽资源和运营经验以及可对用户的网络和设备进行实时监控的网络数据中心内。它摆脱了虚拟主机受软硬件资源的限制能够提供高性能的处理能力提高网站的访问速度同时有效降低维护费用和机房设备投入、线路租用等高额费用。
(3) CDN 技术
CDNContent Delivery Network内容分发网络是一种网络架构和服务旨在改善互联网上的内容传输速度、性能和可用性。CDN通过将内容存储在位于全球各地的服务器上使内容更靠近最终用户从而减少了网络传输延迟提高了网站和应用程序的加载速度并提供更好的用户体验。CDN技术的主要目标是加速内容交付减少服务器负载提高可靠性和安全性。