IIS Web服务器的Web Farm(共享网页和共享配置)

简介:
IIS Web服务器的Web Farm
这里利用下图的环境建立一个由IIS Web服务器所组成的Web Farm,架设其网址为www.itchenyi.com。我们将直接在图中两台IIS Web服务器上启用Windows NLB,NLB操作模式采用单播模式。

Web Farm 的软硬件需求
         要搭建以上环境的话,其软硬件配置需匹配下诉要求(如非生产环境,建议使用Microsoft的Hyper-V所提供的虚拟机来测试)
1 、IIS Web 服务器Web1 与Web2:这两台组成Web Farm的服务器都是Windows Server 2008R2 Enterprise,且将安装Web服务器IIS角色,同时我们要创建一个NLB群集,并将这两台服务器加入此群集。这两台服务器各有两块网卡,一块连接 网络 1、一块连接 网络 2,其中只有 网卡 1启用Windows NLB,因此 网卡 1除 了原有的固定IP地址(192.168.1.1、192.168.1.2)之外,它们还有一个共同的群集IP地址(192.168.1.254)并通过这 个群集IP地址来接收由测试计算机Win-XP发来的上网请求(http://www.itchenyi.com/)。
2 、文件服务器FileServer:这台Windows Server 2003服务器用来存储Web服务器的网页内容,也就是两台Web服务器的主目录都是在这台文件服务器的相同文件夹,两台Web服务器也应该要使用相同的设置,而这些共享设置也是被存储在这台文件服务器上。
提示:
         由于这里采用Web Farm的设置,因此将测试环境简化为仅采用一台文件服务器,所以网页内容与共享设置并没有容错功能,故此可以架设多台文件服务器利用DFS复制来同步网页内容与共享设置,便以提供容错功能。
DNS 服务器:依旧使用Windows Sever 2003服务器来解析Web Farm网址www.itchenyi.com的IP地址。
测试计算机WIN-XP:这里我仍沿用我的习惯,用XP测试www.itchenyi.com是否可以正常连接Web Farm,提示、测试计算机和DNS服务器可以是同一台计算机,对于测试来说没有任何影响。
 
准备网络环境与计算机
         这里将列出整个搭建Web Farm环境的过程,以供大家参考。
1、将DNS1与WIN-XP的网卡连接到网络1,Web1与Web2的网卡1连接到网络1,网卡2连接到网络2,FileServer的网卡连接网络2。若使用Windows Server 2008R2 Hyper-V虚拟机的话,新建2个虚拟网络即可。
2、更改两台Web服务器的两块网卡名称,以便于识别,如下图。
提示:如果你是通过虚拟机复制操作系统的话,需要在计算机上运行Sysprep.exe程序更改其SID。

3、如前面拓扑图所示,设置IP地址、子网掩码、首选DNS。
4、暂时关闭所有测试环境中的防火墙。
 
DNS 服务器设置(如使用WIN 2003 需插入光盘)

新建区域| 添加A 记录(省略无关紧要步骤)

测试DNS 是否正常提供解析

          提示:
         虽然成功解析到Web Farm网站的群集IP地址,但是还没有新建群集,也没设置群集IP地址,因此会出现无法连接的信息,如果群集和群集IP地址都建立好了。仍发送icmp包,那么大有可能是因为win server 2008的防火墙未关闭。
 
文件服务器的设置
         这台文件服务器用来存储Web服务器的共享设置,与共享网页内容,需先在本地安全数据库新建一个用户账户,以便于两台Web 服务器可以利用这个账户连接文件服务器。
提示:若此文件服务器有加入Active Directory 域的话,也可以使用域账户。

将webuser用户加入到WebFiles文件权限里

接着在此文件内新建两个子文件夹,一个用来存储共享的配置,一个用来存储共享网页(网站的主目录),架设文件名吻别是Configurations与Contents,如下图
 
Web 服务器Web1 的设置。
我们将在Web1上安装Web服务器IIS角色,同时假设网页为使用ASP.NET编写。因此还需要安装ASP.NET角色。
 

         接下来新建一个测试用的首页,其文件名为default.aspx,却内容如下,将此文件放到网站默认的主目录%SystemDrive%\inetpub\wwwroot之下。
<b>客户端的IP地址是:</b>
<%Response.Write(Request.ServerVariables("remote_addr"))%><br>
<b>Web Server的IP地址是:</b>
<%Response.Write(Request.ServerVariables("local_addr"))%>
建议更改网站读取默认文件的优先级,以便网站优先读取default.aspx,如图:

接着我们客户机上利用浏览器来测试是否可以正常连接网站。如下图,为成功连接的界面。图中我们直接利用Web1的固定IP地址连接Web,因为还没有启用Windows NLB。无法使用群集IP地址连接。

Web 服务器Web2 的设置
Web2的设置大致与Web1设置相同,以下仅列出摘要:
1、在Web2上安装Web服务器(IIS)角色与ASP.NET角色服务。
2、 不需要新建default.aspx、也 不需要将default.aspx复制到Web2的主目录。
3、直接测试,如下

共享网页与共享的配置
接下来我们要让两个网站使用存储在文件服务器FileServer内的网页与共享配置。
Web1共享网页的配置。
我们将以Web1的网页来当作两个网站的共享网页,因此先将Web1主目录中的测试首页default.aspx。通过网络复制到文件服务器FileServer的共享文件夹\\IP\Webfiles\Contents内。

注意:
         在Windows Server 2008R2内启用了 网络发现功能后,可能也发现不了文件服务器,其可能的原因是 网络发现功能又被自动的关闭了,其可能原因是一下四个服务没有启动:DNS Client、Function Discovery Resource Publication、SSDP Discovery、UPnP Device Host。
接下来要将Web1的主目录制定到\\IP\WebFiles\Contents共享文件夹,并且利用新建在文件服务器FileServer内的本地用户账户webuser来连接此共享文件夹,且在Web1上也必须新建一个相同名与密码的用户账户,(需取消选择 用户下次登录时更改密码、改选择 密码永不过期),且必须将其加入到IIS_IUSRS组内,如下图

将Web1主目录制定到\\IP\WebFiles\Contents共享文件夹的步骤为:
1、单击Default Web Site右边的基本设置

2、如下图,在物理路径处输入\\IP\WebFiles\Contents、单击连接为。

3、如下图【选择 特定用户→单机设置→输入用来连接的用户名webuser与密码→确定】

4、单击下图中的测试设置,测试是否可以正常连接上述共享文件夹,

完成后,用客户端访问测试一番(应先将浏览器的缓存清楚)此时应该可以正常看到default.aspx的网页。
提示:
         如果网站因故不正常或安全设置有异动的话,则你可能需要针对网站的应用程序池执行 回收操作,以便让网站恢复正常或取得最新的安全设置值,举例来说,Default Web Site的应用程序池为DefaultAppPool,若要针对此池来执行回收操作,可如下图所示。。。。

Web1 的共享的配置
我们将以Web1的设置来当作两个Web服务器的共享设置,因此请先将Web1的设置和密钥导出到\\IP\WebFiles\Configurations,然后再指定Web1来使用这份位于\\IP\WebFiles\Configurations的设置。
1、将Web1的设置导出、存储到文件服务器上,双击Web1服务器的共享的配置

2、单击下图中右边的 导出配置...在图中的物理路径输入文件服务器的路径→单击连接为→输入用户名webuser和密码→单击确定。

3、如下图【设置用来保护加密密钥的密码→单击确定→在前图中单击确定】密码必须至少为8个字符,且需包含数字、特殊符号、英文大小写字母【需匹配服务器的密码复杂性】。

4、接着启用Web1的共享的配置功能:【如下图选择启用共享的配置→在 物理路径中输入存储共享的配置的路径→输入有权限连接此共享文件夹的用户名webuser与密码→单击应用→输入前面设置的密钥密码→确定】。

5、确定后会显示Web1的现有加密密钥会被备份到本地计算机内用来存储的目录中(%Systemroot%\system32\inetsrv\config)。
Web2 共享网页的设置
         我们要将Web2的主目录制定到文件服务器FileServer的共享文件夹中,并利用新建在文件服务器内的本地用户连接此共享文件夹。同样也要在Web2上新建一个相同名称的账户及密码,设置密码永不过期,且加入到IIS_IUSRS组内。

将Web2的主目录制定到文件服务器的步骤与web1完全相同,这里不再重复,

完成后,可到测试计算机XP上利用http://192.168.1.2/来测试,此时应该可以正常看到default.aspx的网页,如图。

 
Web2 的共享的配置
         现在我们要让Web2来使用位于文件服务器上的共享配置,步骤如下:
1、双击Web2界面中的共享的配置。(可参照前面的步骤)
2、选择启用共享的配置→在物理路径中输入共享配置的路径→输入有权连接的用户webuser和密码→单机应用→输入前面设置的加密的密钥密码→确定。
 
到这里两台Web服务器的共享均完成了!等时间空了。会将NLB群集的相关设置也发上来









本文转自 lgpqdwjh 51CTO博客,原文链接:http://blog.51cto.com/itchenyi/1127399,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
135 3
|
7月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
378 1
|
7月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
88 3
|
9月前
|
JavaScript 搜索推荐 前端开发
从零搭建到部署:Angular与Angular Universal手把手教你实现服务器端渲染(SSR),全面解析及实战指南助你提升Web应用性能与SEO优化效果
【8月更文挑战第31天】服务器端渲染(SSR)是现代Web开发的关键技术,能显著提升SEO效果及首屏加载速度,改善用户体验。Angular Universal作为官方SSR解决方案,允许在服务器端生成静态HTML文件。本文通过具体示例详细介绍如何使用Angular Universal实现SSR,并分享最佳实践。首先需安装Node.js和npm。
283 1
|
9月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
464 0
|
9月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
80 0
|
9月前
|
Java 数据库 API
JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
115 0
|
9月前
|
Rust 安全 Java
Rust语言在Web后端的应用:基于Actix-web构建高性能、安全可靠的服务器实践
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的无限潜力。
423 0
|
9月前
|
JavaScript 前端开发 UED
服务器端渲染新浪潮:用Vue.js和Nuxt.js构建高性能Web应用
【8月更文挑战第30天】在现代Web开发中,提升应用性能和SEO友好性是前端开发者面临的挑战。服务器端渲染(SSR)能加快页面加载速度并改善搜索引擎优化。Vue.js结合Nuxt.js提供了一个高效框架来创建SSR应用。通过安装`create-nuxt-app`,可以轻松创建新的Nuxt.js项目,并利用其自动路由功能简化页面管理。Nuxt.js默认采用SSR模式,并支持通过`asyncData`方法预取数据,同时提供了静态站点生成和服务器端渲染的部署选项,显著提升用户体验。
175 0
|
2月前
|
关系型数据库 MySQL 数据库
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
339 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!

热门文章

最新文章