云计算集群技术与应用- 教案-教学设计 第02章 Web服务集群_第1页
云计算集群技术与应用- 教案-教学设计 第02章 Web服务集群_第2页
云计算集群技术与应用- 教案-教学设计 第02章 Web服务集群_第3页
云计算集群技术与应用- 教案-教学设计 第02章 Web服务集群_第4页
云计算集群技术与应用- 教案-教学设计 第02章 Web服务集群_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算集群技术与应用教学设计课程名称:云计算集群技术与应用__授课年级:_______________________授课学期:_______________________教师姓名:_______________________年月日课程名称第2章Web服务集群计划学时6学时内容分析本章主要介绍Web服务集群的相关知识,包含搭建LAMP平台,搭建LNMP平台,Nginx做负载均衡,以及Web集群实战案例。教学目标与教学要求【知识目标】理解Web服务集群。理解LAMP和LNMP。理解Nginx做负载均衡的相关知识。【技能目标】掌握LAMP和LNMP的部署。掌握部署Nginx负载均衡器。掌握构建Web集群的基本能力。【思政育人目标】针对文件配置和算法设计,需要精益求精,大力弘扬工匠精神;。引导学生树立刻苦钻研的“钉子”精神培养学生扎实稳打,迎难而上的性格。针对日常运维,培养从小事中发现、分析问题的科学思维观。教学重点部署LAMP平台,部署LNMP平台,以Nginx做负载均衡,Web集群实战案例教学难点以Nginx做负载均衡,Web集群实战案例教学方式课堂讲解配合ppt演示3学时,上机演练3学时教学过程第一学时(Web服务集群简介、搭建LAMP平台)一、提出需求,导入学习任务(1)思考Web集群的学习应该从何入手。大家所熟悉的博客、论坛等网站,其特点就是用户群体较大。当Web服务器直接面向客户端时,服务器往往要承载大量并发请求,单台服务器难以负荷。为了应对以上问题,其中的办法之一,可以配置多台Web服务器组成集群,以扩展架构的稳定性和可扩展性,承载更多的并发量以及提高用户的访问速度。(2)明确学习方向。理解Web服务集群简介。理解并掌握搭建LAMP平台。二、知识讲解(一)Web服务集群简介1.概念Web服务集群是指配置若干(两台及以上)台Web服务器组成一个系统,作为一个整体为用户提供Web服务。在Web集群环境中,前端使用负载均衡,将用户请求的流量按照算法分散地移交到后端Web服务器集群中,实现请求的分发,将会大大提升系统的吞吐量与请求性能。2.Web服务器Web服务器又称为网站服务器,能够处理浏览器等客户端的请求然后返回相应结果,Web服务器可提供浏览类网站文件,又可提供下载类数据文件。当前主流的Web服务器有Apache、Nginx、IIS,在云端Web类应用中,使用率可达95%以上。3.Web集群基础架构(二)搭建LAMP平台1.LAMP简介在LAMP中,Linux是自由和开放源码的类Unix操作系统,可安装在各种计算机硬件设备中。Apache是最受欢迎的一个开放源码的Web服务器软件,强大且实用。M可以是多线程、多用户的SQL数据库管理系统MySQL,也可以是MariaDB。P一般是指PHP、Perl或Python等脚本语言,其中PHP是一种编程语言,最初用来设计生产动态网站,主要用于服务器端的应用程序软件。(1)LAMP可以是LinuxApacheMySQLPHP的简写,其实就是把Apache、MySQL以及PHP安装在Linux系统上,来运行动态网站或者服务器,是比较常用的Web搭建框架。(2)LAMP的工作原理2.实验的准备环境本书全部实验使用虚拟机代替物理服务器,在虚拟环境下的Linux操作系统中进行,实验所用操作系统版本为CentOS7.6。CentOS7自带Firewalld和SELinux守护工具,一外一内,保证系统的安全。(1)查看系统版本号。(2)关闭CentOS7默认防火墙Firewalld。(3)关闭SELinux3.LAMP的部署及测试准备1台VM虚拟机搭建LAMP平台。HostNameIP说明web139搭建LAMP框架(1)Apache的安装与测试安装Apache[root@web1~]#yum-yinstallhttpd查看Apache版本[root@web1~]#httpd-vServerversion:Apache/2.4.6(CentOS)Serverbuilt:Nov10202114:41:18启动Apache服务并设置开机自启[root@web1~]#systemctlstarthttpd[root@web1~]#systemctlenablehttpd验证Apache服务是否安装成功在本机浏览器中输入虚拟机的IP地址,如果看到Apache默认的测试页面,说明Apache服务成功运行。测试Apache是否能解析常见的动静态页面(2)PHP的安装与测试安装PHP[root@web1html]#yum-yinstallphp重启Apache服务[root@web1html]#systemctlrestarthttpd再次访问index.php(3)数据库的安装与测试安装MariaDB客户端与服务端[root@web1~]#yum-yinstallmariadbmariadb-server更改数据库密码。[root@web1~]#mysql_secure_installation登录数据库测试[root@web1~]#mysql-uroot-p123测试PHP与数据库是否连通查看PHP的拓展模块[root@web1~]#php-m|grepmysql安装php-mysql[root@web1~]#yum-yinstallphp-mysql再次查看PHP的拓展模块重启Apache服务再次在浏览器上访问linktest.php三、知识巩固(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)使用第2章课后作业。第二学时(上机练习-LAMP的部署及测试)一、目标学生根据教材中的操作步骤和教师的演示进行上机练习,以此练习LAMP的部署等相关知识,以及检查学生对相关知识点的掌握情况。上机练习完成后将报告通过平台提交给老师。二、上机任务1.在单机环境下部署LAMP环境安装Apache安装PHP或Python安装MySQL或者MariaDB三、教师评分教师根据学生对上机任务的完成度给予评分,满分为4分,并纳入平时成绩中。第三学时(搭建LNMP平台、Nginx-负载均衡)一、回顾上节课内容(1)对上节课布置的作业以及学生提出的问题进行答疑解惑。(2)回顾上节课内容,引出本节课主题。(3)明确学习方向。理解并掌握搭建LNMP平台。理解Nginx做方向代理和负载均衡。了解Nginx负载均衡的优缺点。了解Nginx负载均衡后端状态。理解Nginx负载均衡的应用。二、知识讲解(一)搭建LNMP平台1.LNMP简介(1)LAMP是LinuxNginxMySQLPHP的简写,即把Nginx、MySQL以及PHP安装在Linux系统上,组成一个高效、免费、高扩展的网站服务系统,是国内大中型互联网公司网站常用的Web搭建框架。(2)LAMP中是以Apache作为Web服务器与客户端浏览器进行交互,顾名思义,在LNMP环境中,是以Nginx作为Web服务器。Nginx(enginex)是一款高性能、轻量级的Web服务器,是一款反向代理服务器,也是一款邮箱代理服务器(IMAP/POP3/SMTP),具有性能优越、功能丰富、占有内存少等优点。(3)LNMP的工作原理。2.LNMP的分离部署及测试在本案例中准备两台VM虚拟机(或物理服务器),分离部署LNMP环境,如表。HostNameIP说明web139应用程序及文件服务器db140数据库服务器(1)部署Nginx—应用服务器(1)Nginx的安装。[root@web1~]#yum-yinstallnginx启动Nginx服务,并设置该项服务开机自启。[root@web1~]#systemctlstartnginx[root@web1~]#systemctlenablenginx检查Nginx是否正常工作在80端口。[root@web1~]#netstat-unltp|grep80打开浏览器,输入IP,即可看到Nginx的欢迎界面。测试Nginx是否能解析常见的动静态页面。(2)部署PHP-FPM—应用服务器(39)Nginx不支持对外部动态程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。想要让服务器可以处理PHP文件,则必须安装PHP-FPM。下载安装PHP-FPM及相关插件[root@web1~]#yuminstall-yphp-fpmphp-mysqlphp-gdPHP-FPM安装完成后,将其开启并设置其开机自启。[root@web1~]#systemctlstartphp-fpm[root@web1~]#systemctlenablephp-fpmPHP正常工作在9000端口,查看PHP-FPM的进程信息。[root@qfedu~]#netstat-anpt|grepphp-fpm将.php文件加入网站处理的范围,更新网站接收的文件类型。#在Nginx配置文件的Server模块内进行添加即可。[root@web1~]#vim/etc/nginx/conf.d/default.confserver{listen80;server_namelocalhost;location/{root/usr/share/nginx/html;indexindex.htmlindex.htmindex.php;}#省略部分代码}在其配置文件的Server模块启用nginx_fastcgi功能,修改其调用路径。location~\.php${root/usr/share/nginx/html;fastcgi_pass:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME/$document_root$fastcgi_script_name;includefastcgi_params;}再次重启Nginx,访问测试文件index.php。3.部署数据库—数据库服务器(40)安装MariaDB客户端与服务端[root@db1~]#yum-yinstallmariadbmariadb-server启动MariaDB服务,并设置其开机自启更改数据库密码登陆数据库测试,并授予应用服务器操作权限[root@db1~]#mysql-uroot-p123……MariaDB[(none)]>grantallon*.*toroot@'39'identifiedby'123';QueryOK,0rowsaffected(0.00sec)MariaDB[(none)]>flushprivileges;QueryOK,0rowsaffected(0.00sec)在网站默认目录下创建文件link.php[root@db1~]#cat/usr/share/nginx/html/link.php<?php$link=mysql_connect('2','root','123');if($link)echo"Successfully";elseecho"Fail";mysql_close();?>在浏览器中访问link.php(二)Nginx-负载均衡1.反向代理与负载均衡(1)Nginx不仅是一款优秀的Web软件,还可以作为七层代理和负载均衡。(2)代理服务器(ProxyServer)是网络信息的中转站,是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。正向代理是处于客户端与服务端之间的代理节点。反向代理同样是处于客户端与服务端之间的代理节点,与正向代理不同的是,反向代理是服务于客户端的代理节点。2.Nginx负载均衡的优缺点(1)Nginx作为负载均衡具备如下特点。作为开源软件,功能强大,性能卓越,运行稳定。配置文件简单灵活。有内置的健康检查功能,能够自动剔除工作不正常的后端服务器。上传文件使用异步模式。支持多种分配策略,可以分配权重,分配方式灵活。(2)Nginx作为负载均衡的优缺点如下所示。优点Nginx可以复制用户请求。Nginx可以根据域名、URL识别用户的请求类型,因此Nginx可以做动静分离。Nginx为开源软件,可以免费使用。缺点Nginx不仅要把用户的请求发送给后端真实服务器,还要将后端真实服务器返回的页面发送给用户,流量会经过Nginx,所以Nginx可能成为瓶颈。3.Nginx负载均衡算法轮询算法(RoundRobin,简称RR)加权轮询算法(WeightRoundRobin,简称WRR)IP_hash算法fair公平算法URL_hash算法4.Nginx负载均衡后端状态后端Web服务器在前端Nginx负载均衡调度中的状态,主要有以下几种。down:表示当前的服务器暂时不参与负载。weight:默认值为1。weight值越大,负载的权重就越大。max_fails:表示允许请求失败的次数,默认值为1。fail_timeout:达到max_fails所指定的失败次数后需要暂停的时间。backup:所有的非backup状态的服务器,down或者压力很大时,backup服务器将会开始接受请求,所以这台服务器压力会最小。client_body_in_file_only:设置为on可以将客户端上传的数据记录到文件中用来做调试。client_body_temp_path:设置记录文件的目录,最多可以设置3层目录。Location:对URL进行匹配,可以进行重定向或者进行新的负载均衡。5.Nginx负载均衡的应用实际上,对于用户访问量不大的小型企业来说,一般用不到负载均衡。访问流量一般的中型企业,通常只做四层负载均衡或七层负载均衡中的一种。而一些大型企业中,每时每刻访问量都非常大,通常四、七层负载均衡都会做,常见的负载架构如图。三、知识巩固(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)使用第2章课后作业。第四学时(上机练习-LNMP的分离部署及测试)一、目标学生根据教材中的操作步骤和教师的演示进行上机练习,以此练习LNMP的分离部署等相关知识,以及检查学生对相关知识点的掌握情况。上机练习完成后将报告通过平台提交给老师。二、上机任务1.准备两台VM虚拟机(或物理服务器),分离部署LNMP环境安装部署Nginx安装部署PHP-FPM安装部署数据库三、教师评分教师根据学生对上机任务的完成度给予评分,满分为4分,并纳入平时成绩中。第五学时(Web集群实战案例-业务上线)一、回顾上节课内容(1)对上节课布置的作业以及学生提出的问题进行答疑解惑。(2)回顾上节课内容,引出本节课主题。(3)明确学习方向。理解并掌握集群架构的设计。掌握部署数据库掌握在应用服务器上线业务。掌握部署Nginx负载均衡。二、知识讲解工作原理在负载均衡集群中,Web服务集群的所有服务器节点想客户端提供相同的服务。集群负载均衡器则会接收用户的入站请求,然后将请求分摊给后端的Web服务集群。这样即可实现负载均衡的功能,以提升系统的吞吐量、请求性能、高容灾。本节的案例中,将Nginx作为负载均衡器,也是反向代理服务器,在Web集群上部署博客应用,其工作原理如图。准备环境准备4台VM虚拟机(或者物理服务器),一台做负载均衡器,两台Web服务器做集群,一台做数据库服务器。HostNameIP说明lb139Nginx负载均衡器web140Web服务器部署论坛应用web241Web服务器部署论坛应用db142数据库服务器(1)同步时间(详见第2章PPT)(2)域名解析部署数据库—数据库服务器(42)安装MariaDB客户端与服务端,具体如下所示。[root@db1~]#yum-yinstallmariadbmariadb-server启动MariaDB服务,并设置其开机自启。进入数据库安全设置模式,更改数据库密码登录数据库,授予Web服务器操作权限,然后创建网站数据库。[root@db1~]#mysql-uroot-p123……MariaDB[(none)]>grantallon*.*toroot@'40'identifiedby'123';QueryOK,0rowsaffected(0.00sec)MariaDB[(none)]>grantallon*.*toroot@'41'identifiedby'123';QueryOK,0rowsaffected(0.00sec)#创建discuz数据库,做Web集群的数据库MariaDB[(none)]>createdatabasediscuz;QueryOK,1rowaffected(0.21sec)MariaDB[(none)]>flushprivileges;QueryOK,0rowsaffected(0.06sec)论坛业务上线(详细步骤见第2章PPT)1.两台Web服务器上搭建LNMP环境首先安装Nginx,并设置为开机自启。[root@web1~]#yuminstall-ynginx[root@web1~]#systemctlstartnginx[root@web1~]#systemctlenablenginx检查Nginx是否正常工作在80端口。下载安装PHP-FPM及相关插件。PHP-FPM安装完成后,将其开启并设置其开机自启。将.php文件加入网站处理的范围,更新网站接收的文件类型。2.在Web应用服务器中通过Discuz项目包模拟需要上线的软件包,Discuz项目包可以通过Discuz官方网站获取。将获取的项目包放到/tmp目录之后进行解压。[root@web1tmp]#unzipDiscuz_X3.4_SC_UTF8.zip为保证业务正常上线,将html目录下的文件删除。将软件包目录下所有文件备份到页面路径下。授予该路径相应的权限。有了执行权限,业务就可以在线上运行。重新启动Nginx服务,即可访问到该业务。单击“我同意”按钮,进入论坛安装页面若出现部分文件不可写的情况,可以通过终端对项目文件与目录授予相关权限。单击“下一步”按钮,设置运行环境选择“全新安装”并单击“下一步”按钮,开始填写数据库与网站管理员信息填写完成之后,单击“下一步”按钮开始安装论坛继续访问页面。将Web1中的网站资源备份到Web2中。[root@web1~]#scp-r/usr/share/nginx/html/*11:/usr/share/nginx/html/通过web2终端对各文件与目录授予相关权限。[root@web2html]#chmod-R777/usr/share/nginx/html/*至此,Web真实服务器的论坛业务已成功上线。部署负载均衡—Nginx—(负载均衡器(39))Windows本地hosts文件的位置在C:\Windows\System32\drivers\etc中,以记事本的方式打开hosts文件,追加以下内容即可。39在服务器上安装EPEL源。[root@lb1~]#yum-yinstallepel-releaseEPEL源安装完成后,可以使用ls命令查看服务器现有源,若出现epel.repo,说明EPEL源成功安装。[root@lb1~]#ls/etc/yum.repos.dCentOS-Base.repoepel.repo接下来使用Yum的方式获取Nginx。[root@lb1~]#yum-yinstallnginx安装Nginx后,编辑其配置文件/etc/nginx/nginx.conf,添加相关的服务器组。[root@lb1~]#vim/etc/nginx/nginx.conf#注意更改的位置!http{······此处省略部分代码······server{······此处省略部分代码······#引用服务器组location/{proxy_passhttp://html;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerREMOTE-HOST$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}······此处省略部分代码······}#配置服务器组upstreamhtml{ serverweb1:80we

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论