当前位置: 首页 > news >正文

网站集约化建设进度报告网站建设所面临的问题

网站集约化建设进度报告,网站建设所面临的问题,做网站建设最好学什么,展示类网站模板role角色 一#xff1a;Roles 模块1.roles 的目录结构#xff1a;2.roles 内各目录含义解释3.在一个 playbook 中使用 roles 的步骤#xff1a;#xff08;1#xff09;创建以 roles 命名的目录#xff08;2#xff09;创建全局变量目录#xff08;可选#xff09;Roles 模块1.roles 的目录结构2.roles 内各目录含义解释3.在一个 playbook 中使用 roles 的步骤1创建以 roles 命名的目录2创建全局变量目录可选3在 roles 目录中分别创建以各角色名称命名的目录如 httpd、mysql4在每个角色命名的目录中分别创建files、handlers、tasks、templates、meta、defaults和vars目录用不到的目录可以创建为空目录也可以不创建5在每个角色的 handlers、tasks、meta、defaults、vars 目录下创建 main.yml 文件千万不能自定义文件名6修改 site.yml 文件针对不同主机去调用不同的角色7运行 ansible-playbook 二使用Role编写LNMP剧本1.创建目录和main.yml文件2.搭建Nginx角色3.搭建Mysql角色4.搭建php角色5.lnmp剧本 一Roles 模块 roles用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令引入即可。 简单来讲roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中并可以便捷的include它们的一种机制。roles一般用于基于主机构建服务的场景中但也可以是用于构建守护进程等场景中。主要使用场景代码复用度较高的情况下。 假如我们现在有3个被管理主机第一个要配置成httpd第二个要配置成haproxy服务器第三个要配置成MySQLmariadb服务器。我们如何来定义playbook 第一个play用到第一个主机上用来构建httpd第二个play用到第二个主机上用来构建haproxy。这些个play定义在playbook中比较麻烦将来也不利于模块化调用不利于多次调用。比如说后来又加进来一个主机这第3个主机既是httpd服务器又是haproxy服务器我们只能写第3个play上面写上安装httpd和haproxy。这样playbook中的代码就重复了。 为了避免代码重复可以定义一个角色叫httpd第二个角色叫haproxy并使用roles实现代码重复被调用。 1.roles 的目录结构 cd /etc/ansible/ tree roles/ roles/ ├── web/ #相当于 playbook 中的 每一个 play 主题 │ ├── files/ │ ├── templates/ │ ├── tasks/ │ ├── handlers/ │ ├── vars/ │ ├── defaults/ │ └── meta/ └── db/├── files/├── templates/├── tasks/├── handlers/├── vars/├── defaults/└── meta/2.roles 内各目录含义解释 files 用来存放由 copy 模块或 script 模块调用的文件。 templates 用来存放 jinjia2 模板template 模块会自动在此目录中寻找 jinjia2 模板文件。 tasks 此目录应当包含一个 main.yml 文件用于定义此角色的任务列表此文件可以使用 include 包含其它的位于此目录的 task文件。 handlers 此目录应当包含一个 main.yml 文件用于定义此角色中触发条件时执行的动作。 vars 此目录应当包含一个 main.yml 文件用于定义此角色用到的变量。 defaults 此目录应当包含一个 main.yml 文件用于为当前角色设定默认变量。这些变量具有所有可用变量中最低的优先级并且可以很容易地被任何其他变量覆盖。所以生产中我们一般不在这里定义变量 meta 此目录应当包含一个 main.yml 文件用于定义此角色的元数据信息及其依赖关系。 3.在一个 playbook 中使用 roles 的步骤 1创建以 roles 命名的目录 mkdir /etc/ansible/roles/ -p #yum装完默认就有2创建全局变量目录可选 mkdir /etc/ansible/group_vars/ -p touch /etc/ansible/group_vars/all #文件名自己定义引用的时候注意3在 roles 目录中分别创建以各角色名称命名的目录如 httpd、mysql mkdir /etc/ansible/roles/httpd mkdir /etc/ansible/roles/mysql4在每个角色命名的目录中分别创建files、handlers、tasks、templates、meta、defaults和vars目录用不到的目录可以创建为空目录也可以不创建 mkdir /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta} mkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta}5在每个角色的 handlers、tasks、meta、defaults、vars 目录下创建 main.yml 文件千万不能自定义文件名 touch /etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.yml touch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml6修改 site.yml 文件针对不同主机去调用不同的角色 vim /etc/ansible/site.yml --- - hosts: webserversremote_user: rootroles:- httpd - hosts: dbserversremote_user: rootroles:- mysql7运行 ansible-playbook cd /etc/ansible ansible-playbook site.yml二使用Role编写LNMP剧本 1.创建目录和main.yml文件 mkdir /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta} -p mkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta} -p mkdir /etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta} -ptouch /etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.yml touch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml touch /etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml2.搭建Nginx角色 在files目录李准备文件 准备关闭防护墙脚本 vim /etc/ansible/roles/nginx/tasks/init.yml - name: disable firewalldservice: namefirewalld statestopped enabledno- name: disable selinuxshell: /usr/sbin/setenforce 0ignore_errors: true准备剧本文件 /etc/ansible/roles/nginx/tasks/main.yml - include: init.yml #引入另外一个剧本- name: copy nginx yum repocopy: srcnginx.repo dest/etc/yum.repos.d/- name: install nginxyum: namenginx- name: copy index.phpcopy: srcindex.php dest/usr/share/nginx/html- name: copy index.confcopy: srcdefault.conf dest/etc/nginx/conf.d/default.confnotify: restart nginx- name: start nginxservice: namenginx statestarted enabledyes3.搭建Mysql角色 在files目录下准备配置文件 在tasks目录下准备剧本 vim /etc/ansible/roles/nginx/tasks/main.yml- include: init.yml- name: install mysql.reposhell: wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm rpm -ivh mysql57-community-release-el7-11.noarch.rpmignore_errors: true- name: mysql.repocopy: srcmysql-community.repo dest/etc/yum.repos.d/mysql-community.repo- name: install mysqlyum: namemysql-server- name: start msqlservice: namemysqld statestarted enabledyes- name: grep passwdscript: passwd.sh4.搭建php角色 在files目录下准备配置文件 在tasks目录下准备配置配置文件 vim /etc/ansible/roles/nginx/tasks/main.yml - include: init.yml- name: install yum reposhell: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm- name: install phpshell: yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcacheignore_errors: true- name: start phpservice: namephp-fpm statestarted enabledyes- name: user phpuser: namephp create_homeno shell/sbin/nologin- name: php.inicopy: srcphp.ini dest/etc/php.ini- name: www.confcopy: srcwww.conf dest/etc/php-fpm.d/www.conf- name: create nginxfile: name/usr/share/nginx statedirectory- name: create nginxfile: name/usr/share/nginx/html statedirectory5.lnmp剧本 vim /etc/ansible/lnmp.yml - name: nginx playhosts: webserversremote_user: rootroles:- nginx- name: mysql playhosts: mysqlremote_user: rootroles:- mysqltags:- ddd- name: php playhosts: dbserversremote_user: rootroles:- phptags:- aaa
http://www.zqtcl.cn/news/368874/

相关文章:

  • 旅游网站规划设计余姚网站公司
  • 广州市地铁站地图dede增加手机网站
  • dede 网站名称 空的网站开发行业新闻
  • 网站开发费用做账升级系统
  • 外贸公司网站制作价格网络公司的经营范围有哪些
  • 东莞三合一网站制作海南省生态文明村建设促进会网站
  • 邯郸做企业网站设计的公司福田祥菱m2
  • 手表拍卖网站动漫做暧视频网站
  • 福州网站定制公司如何做p2p网站
  • 微信外链网站开发嘉兴市城市建设门户网站
  • 在手机上如何制作网站qq注册网页入口
  • asp.net程序做的网站安全吗国内什么网站用asp.net
  • 凡科网做网站网站编辑知识
  • c#做交易网站taxonomy wordpress
  • 统一门户网站开发员给我用织梦做的网站
  • 网站上有声的文章是怎么做的深圳市住房和建设局网站和市住宅租赁管理服务中心
  • 如何对网站进行爬虫页面设计存在的问题
  • 知名网站建设加盟合作企业邮箱如何登录
  • asp net mvc做网站软文推广是什么
  • 张家口住房和城乡建设厅网站如何做点击赚钱的网站
  • 网站在建设中无法访问贵州碧江区住房和城乡建设局网站
  • 营销类网站 英文东莞正规的免费网站优化
  • 柳州网站推广最好的公司百度seo优化培训
  • 哈尔滨门户网站建站哪个网站做农产品
  • 网站行业关键词如何建设网站
  • wordpress插件目录504wordpress访问优化插件
  • 固定ip做网站网页源码提取工具
  • php网站模板源码下载公司网络营销推广软件
  • 免费电子版个人简历模板温州快速排名优化
  • 网站修改titlewordpress显示icp备案