对于想了解“WindowsServer2012R2”上“IIS8.5”上的ASP.NET应用程序与“WindowsServer2008R2”上的“IIS7.5”相比表现不佳的读者,本文将是一篇不可错过
对于想了解“Windows Server 2012 R2”上“IIS 8.5”上的ASP.NET应用程序与“Windows Server 2008 R2”上的“IIS 7.5”相比表现不佳的读者,本文将是一篇不可错过的文章,并且为您提供关于.net – 无法在Windows Server 2008 R2上的IIS7.5中运行net.pipe绑定、iis-7 – Windows Server 2008 R2上的IIS 7.5可以处理的默认并发请求数是多少?、Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App、Windows Server 2008R2 服务安装:IIS、DNS、SQLServer2008R2的有价值信息。
本文目录一览:- “Windows Server 2012 R2”上“IIS 8.5”上的ASP.NET应用程序与“Windows Server 2008 R2”上的“IIS 7.5”相比表现不佳
- .net – 无法在Windows Server 2008 R2上的IIS7.5中运行net.pipe绑定
- iis-7 – Windows Server 2008 R2上的IIS 7.5可以处理的默认并发请求数是多少?
- Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App
- Windows Server 2008R2 服务安装:IIS、DNS、SQLServer2008R2
“Windows Server 2012 R2”上“IIS 8.5”上的ASP.NET应用程序与“Windows Server 2008 R2”上的“IIS 7.5”相比表现不佳
>一个实例在Windows Server * 2012 * R2上的IIS 8.5下运行
>在Windows Server * 2008 * R2上的IIS 7.5下运行两个实例
让我感到困惑的是,新机器似乎比两台旧机器都要糟糕!
在2012年的盒子上,大约80分钟的窗口显示平均37%的cpu使用率(处理器时间)和平均8个请求/秒.
在2008年的盒子上,在同一时间范围内,我看到32.5%的cpu使用率和12.5 Requests / sec:
更重要的是,2012年的机箱(英特尔酷睿i7-4770 @ 3.40GHz)上的cpu实际上应该比2008年的机箱(英特尔至强E3-1230 @ 3.20GHz)更快:
我对这种性能差异缺乏理解的另一个原因是,2012实例只运行一个ASP.NET应用程序,而两个2008服务器也完成其他任务:一个运行所有三个访问的数据库服务器应用程序实例,另一个在同一个IIS实例下运行了很多其他ASP.NET应用程序.
题:
任何人都可以说明在ASP.NET应用程序性能方面落后于装备更好的服务器的罪魁祸首是什么?
将电源计划更改为高性能以将硬件用于其极限.
使用“平衡”电源计划时Windows Server 2008 R2上的性能下降:
https://support.microsoft.com/en-us/kb/2207548
https://sqlserverperformance.wordpress.com/2010/09/28/windows-power-plans-and-cpu-performance/
http://www.brentozar.com/archive/2010/10/sql-server-on-powersaving-cpus-not-so-fast/
编辑@oliver:
切换到高性能电源计划会产生以下PerfMon统计信息:
.net – 无法在Windows Server 2008 R2上的IIS7.5中运行net.pipe绑定
我可以证实我有:
>添加了一个net.pipe绑定到IIS“网站”(添加*作为信息).
>将net.pipe添加到IIS“网站”的“高级设置”中的绑定列表中.
这就是我的开发机器所需的全部内容.还有什么我需要做的吗?
我得到的错误来自一个简单的控制台应用程序测试客户端:
Unhandled Exception: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://nameOfService.svc that Could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException,if present,for more details. —> System.IO.PipeException: The pipe endpoint ‘net.pipe://nameOfService.svc’ Could not be found on your local machine.`
这里有一些配置:
客户:
<system.serviceModel> <bindings> <netNamedPipeBinding> <binding name="NetNamedPipeBinding_IWebAppNotifyService"> <security mode="None" /> </binding> </netNamedPipeBinding> </bindings> <client> <endpoint address="net.pipe://nameOfService.svc" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_IWebAppNotifyService" contract="ServiceReference2.IWebAppNotifyService" name="NetNamedPipeBinding_IWebAppNotifyService" /> </client> </system.serviceModel>
服务器:
<bindings> <netNamedPipeBinding> <binding name="WebAppNotifyServiceBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNaMetableCharCount="2147483647" /> <security mode="None"> </security> </binding> <binding name="ScannerManagerCommandBinding"> <security mode="None" /> </binding> </netNamedPipeBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="WebAppNotifyServiceBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="True" /> </behavior> </serviceBehaviors> </behaviors> <services> <service name="MonitoringApp.Notifier.WebAppNotifyService" behaviorConfiguration="WebAppNotifyServiceBehavior"> <host> <baseAddresses> <add baseAddress="net.pipe://nameOfService.svc" /> <add baseAddress="http://nameOfService" /> </baseAddresses> </host> <endpoint address="" binding="netNamedPipeBinding" bindingConfiguration="WebAppNotifyServiceBinding" contract="X.Y.IWebAppNotifyService" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services>
更新:
与承载net.pipe绑定的网站关联的应用程序池在“NetworkService”用户下运行,如果这有所不同.
我在Windows 3.5.1的Windows功能下启用了非HTTP激活,尽管它在.NET 4下运行.
解决方法
iis-7 – Windows Server 2008 R2上的IIS 7.5可以处理的默认并发请求数是多少?
这是在aspnet.config中定义的:
<system.web> <applicationPool maxConcurrentRequestsPercpu="12" maxConcurrentThreadsPercpu="0" requestQueueLimit="5000"/> </system.web>
这是默认值,绝不是限制.我见过的最大的是999999(我怀疑他们害怕将它设置得更高,以防万一).确定合适尺寸的最佳方法是通过对应用程序进行压力测试.
Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App
环境:Windows Server 2012,IIS 8,Asp.Net Core 1.1.
不少人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.Net Core App程序。过去无论是原始的Asp程序还是后来的Asp.Net程序,在IIS中的部署方式都没太大变化,仅需指向程序目录,然后设定虚拟目录,最后做一些参数配置。Asp.Net Core App为了做到跨平台,自带了一个轻量级的Web Server - Kestrel,那么要在IIS中部署Asp.Net Core App,就必须有一种新的机制来协调IIS与Kestrel Server之间的数据传递。
1. Asp.Net Core的部署模式
与传统的Asp.Net程序不同,Asp.Net Core App使用了Kestrel Server。Kestrel是一个跨平台的Web Server,与IIS一样负责请求的监听、接收和响应,但没有IIS丰富的管理功能,仍需要由IIS来处理一些前置工作。(当然你也可以使用Apache来做前置处理)
IIS负责把外部请求转发给后端的Asp.net Core App,充当“反向代理(reverse-proxy)”角色。
2. 理解反向代理
“反向”是指入站方向,“代理”可以理解为某种服务,这里是转发HTTP请求的服务。“反向代理”就是入站方向转发HTTP请求的服务。
和路由器原理一样,路由器除了让局域网能够访问internet,也可以通过设置NAT或端口映射,从internet访问内部的某台服务器,相当于把入站请求转发给指定电脑上,这与IIS的反向代理角色类似。代理服务器与路由器都是起到数据转发的作用,只不过代理服务器转发的是某类应用的数据,路由器转发的是数据包。
3. 部署环境
Asp.Net Core App部署需要操作系统满足:
- Windows 7 或更新版本
- Windows Server 2008 R2 或更新版本
4. 配置IIS
Windows Server上通过“添加角色和功能”,桌面Windows上通过“启用和关闭Windows功能”来安装和配置IIS。确保勾选Web服务和“IIS 管理控制台”:
Windows Server IIS 安装配置
桌面Windows IIS 安装配置
5. 安装.NET Core Windows Server Hosting程序集
安装.NET Core Windows Server Hosting程序集,让IIS具备反向代理功能。该程序集包含了.Net Core运行时(Runtime),.Net Core 类库(Library)和 Asp.Net Core Module。其中Asp.Net Core Module负责反向代理工作。
特别注意,按微软官方说法,如果是脱机安装,则需先手动安装Microsoft Visual C++ 2015 Redistributable。但实践证明即使在线安装很多时候也不会自动安装 Microsoft Visual C++ 2015 Redistributable,因此强烈建议手动安装Microsoft Visual C++ 2015 Redistributabl。
另外,目前.NET Core版本升级很快,请下载最新版本的.NET Core Windows Server Hosting,确保服务器上的.Net Core版本不低于部署的Asp.Net Core App版本。
下载 Microsoft Visual C++ 2015 Redistributable
下载最新版本.NET Core Windows Server Hosting
安装完成重启系统或重启IIS服务即可。
6. IIS中配置Asp.Net Core App
接下来的步骤与部署传统网站基本一致,但也有稍许不同,请留意。
1) 服务器中创建目录存放发布以后的App程序文件,确保App的web.config文件在网站根目录下。
2) 在网站根目录创建一个logs文件夹。如果你开启了某些日志服务,日志文件将记录在这里。当然也可以不记录日志,但初次部署对排错有帮助,建议创建。
web.config 中开启 stdoutLogEnabled="true"
<aspNetCore processpath="dotnet" arguments=".\Web.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
3) 在IIS管理器中添加网站。步骤与一般网站配置一致:
4) 配置应用程序池。在左侧导航栏选择“应用程序池”,选择指定程序池,右键菜单,选择“基本设置”,将.Net CLR版本设置为“无托管代码”。
7. 测试Asp.Net Core App
本例使用一个测试公网域名www.test.com,显然我们没有权限更改此域名在公网的解析记录,但我们可以更改此域名在本地的指向用于测试。使用记事本打开C:\Windows\System32\Drivers\etc\hosts文件,添加一条记录 “127.0.0.1 www.test.com”。之后我们在本地访问域名www.test.com时IP地址将解析为 127.0.0.1。使用浏览器打开www.test.com,我们会看到Asp.Net Core App已正常运行:
本文来自:https://www.cnblogs.com/lookerblue/p/7101641.html
Windows Server 2008R2 服务安装:IIS、DNS、SQLServer2008R2
一、IIS
Inter information services互联网信息服务,微软开发的运行在Windows系统中互联网服务,提供了web、ftp、smtp服务
- Windows server2003 、xp --> iis6
- Windows server2008 、Windows7 -->iis7.0
- win10、win8 -->iis7.5
搭建IIS步骤:
1.打开windows server 2008r2虚拟机,打开服务器管理器,进行选择下图所示
2.然后进入到如下图所示界面,操作如下图所示,应用程序开发、FTP服务器、安全性选项全选后,点击下一步,直到安装完成
3.打开dos命令窗口,输入netstat -ano,查看80端口号是否开启
4.打开浏览器,在浏览器中输入IP地址(IP地址在dos命令窗口中ipconfig可查看到),出现如下图所示界面,表示安装成功
二、IIS搭建web服务器
1.格式化D盘,一定要选择NTFS!!!不然后面添加默认文档时,会识别不了路径,可以右键D盘进行格式化
(若D盘能用的省略这一步)
2.在D盘根目录下创建一个文件夹,存放你想要搭建的在网上下载好的完整web服务器,如图我创建的是dms文件夹,图中的文件夹是我在网上下载好的web服务器
3.打开运行Internet信息服务(IIS)管理工具,进行如下图所示操作
4.完成创建,进入所建站点,选择默认文档,在空白处右键选择添加默认文档,输入index.asp添加首页,如图所示
5.点击ASP,启用父路径,一定要点应用!!!
6.在浏览器中输入站点的IP地址,也就是虚拟机的IP地址,也可以在IIS中浏览网页
7.出现如图所示网页,表示站点搭建成功
- 注:若访问网站时出现以下界面
解决方法:在IIS上面设置该网站可运行在32位的模式下面。
1.找到该网站所引用的应用程序池
2.在该应用程序池的高级设置里面--> 常规--> 启用32位应用程序,设置该值为true
- IIS搭建ASP站点总结
1、进入服务器管理器,找到添加角色;
2、在服务器角色中勾选“Web服务器(IIS)”,然后角色服务中勾选需要的角色服务(应用程序开发);
3、打开运行Internet信息服务(IIS)管理工具,展开左侧栏到“Default Web Site”;
4、在功能视图中找到“ASP”图标,在ASP设置中将启动父路径设置为“Ture”.
三、 FTP服务器:
file transfer protocol 文件传输协议服务器,基于c/s模式,应用层,使用端口20(传输数据)和21(传输命令),明文传输数据,使用IIS搭建FTP服务器(注:b/s 浏览器和服务器 web服务器)
- 服务类型:
非隔离账号:所有的账号访问的服务器数据类型一致
隔离账号:不同的账号访问的服务器类型不一致
- 服务器搭建环境要求:
IP地址可以静态配置,也可动态获取
FTP服务器运行在IIS之上
四、FTP服务器非隔离账号的搭建
1.安装IIS,并且注意FTP角色的安装
2.打开dos命令窗口,新建组ftpusers,以及用户u1和u2并设置密码,并将u1和u2加入到ftpuses组中(这里就不做演示了,跟着命令走)
1 net localgroup ftpusers /add 新建组
2 net user u1 u1passwd /add 新建账号
4 net localgroup ftpusers u1 将u1添加到ftpusers组中
6 net localgroup ftpusers u2 将u2添加到ftpusers组中
- 这里多讲windows的常用几个命令:
1 net user 查看用户
2 net localgroup 查看组
3 net localgroup 组名 查看指定组
4 net user 用户名 /del 删除用户
3.打开IIS管理器,右击网站,添加FTP站点,输入站点名称和物理路径,建议安装在除C盘外的硬盘,提前建立好站点目录,在站点目录中提前复制好几个文件,方便后面测试
4.安装完成后,进入所搭建的站点,点击用户隔离,选择FTP根目录,一定要应用!!!
5.禁用防火墙,不然宿主机不能访问到FTP服务器
6.在宿主机上打开dos命令窗口,访问FTP站点,在下图中可以看到u1和u2可以访问到的文件时一致的,所以是不隔离的
- ftp 虚拟机IP
- 常用的命令

1 help 查看帮助
2 delete 删除文件
3 dir = ls
4 close 退出用户
5 bye 退出ftp服务器
6 pwd 查看目录

7.接下来测试下载文件和上传文件
- get 文件路径 下载文件,到dos命令工作的目录:C:\Windows\system32
如下图所示,看到了dos命令工作的目录中有了在FTP服务器中下载的文件,下载测试成功
- put(以dos命令工作的目录为主目录,写路径)或(直接拖过来) 上传文件,上传到ftp站点的根目录:D:\dms\ftpbugeli
我这里不能拖到dos命令窗口中,就上传dos命令工作的目录中的aadcloudap.dll文件
如下图所示,看到了ftp站点的根目录中有了在FTP服务器中上传的文件,上传测试成功
五、FTP服务器隔离账号的搭建
1.安装IIS,并且注意FTP角色的安装
2.打开dos命令窗口,新建用户u3和u4并设置密码(这里就不做演示了,跟着上面的命令走)
3.在硬盘里建立好站点总目录,在站点总目录中在新建一个文件夹localuser(文件夹名称一定要是localuser!!!),并在里面新建以你测试要使用用户的用户名的文件夹,文件夹里面创建不同的文件,方便测试区分。文件夹名称一定要与用户名一致!!!这里我用的是administrator、u3和u4(注:为了方便我虚拟机内站点的管理,我把所有站点都放到了一个总的文件夹里)
5.为各个文件夹设置如下图所示的权限
- administrator文件夹的权限
- u3文件夹的权限
- u4文件夹的权限
若删除不了其他用户的权限,进入高级安全设置,取消包括从该对象的父项继承的权限,就可以删除了
6.打开IIS管理器,右击网站,添加FTP站点,按照如下图所示做操作,没有截图的就是默认选项,注意这里的物理路径!!!
7.安装完成后,进入所搭建的站点,点击用户隔离,选择用户名目录
(禁用全局虚拟目录),一定要应用!!!
8.在宿主机上打开dos命令窗口,访问FTP站点,在下图中可以看到u3、u4和administrator用户可访问到的文件是不一致的,所以是隔离的
六、DNS
Domain Name System 域名系统,它是一个分布式数据库。存储域名和IP的一一对应关系,方便用户访问网络。能够将域名解析为IP(域名解析),也能将IP解析为域名(反向解析),该协议是基于UDP协议,默认端口是53
- 域名空间结构
如下图所示,展示了域名系统最为常见的结构。“.”是完全合格域名(FQDN)中最后的符号,分析系统是从后往左分析,“ftp.liuliansuannai.”,此处“.”可以当做根域,“com”是顶级域名,“liuliansuannai”是二级域,“ftp”是主机名
- DNS结构
DNS工作流程
- 正向查询:根据域名找IP
- 反向查询:根据IP找域名
在DNS工作过程,需要按照正向查询或反向查询的方式进行,在正向查询过程中有递归查询和迭代查询两种方式,用户PC向本地DNS服务器的查询时递归,本地DNS服务器向其他的域名服务器(根DNS、.COM DNS等)的查询是迭代,具体的查询示意图如下
host文件位置 C:\Windows\System32\drivers\etc
DNS安装要求
- DNS服务器端:
- 配置静态IP
- 首选DNS指向自己
- 网关可有可无
- DNS客户端:
- IP地址可以静态也可以动态获取
- 首选DNS必须指向DNS服务器
DNS服务器记录类型
五、配置DNS服务器
1.首先搭建web服务器,打开服务器管理器 --> 角色 --> 添加角色 -->DNS服务器,进入一下界面
我这里选择的是不安装,你也可以选择安装
2.根据提示配置静态IP地址(首先DNS服务器地址填127.0.0.1即可)
3.然后再去服务器管理器里安装DNS服务器,安装好DNS服务器之后,再开始里面打开DNS管理器 --> WIN-HLPRVITRNMA -->正向查找区域,右键 --> 新建区域,出现如图所示界面,操作如图所示,没有显示的步骤,默认直接点击下一步
- 注:这里的区域名称随便取,但注意格式
4.新建区域向导完成后,右键新建的区域向导,选择新建主机,完成后右键选择新建别名
注:新建别名这里的目标主机的选择,建议直接点击浏览,然后选择你要新建别名的目标主机
5.打开IIS管理器,新建一个web服务器(教程参考章第一个),这里我用的是本篇所装的pentest,去打开IIS管理器,右击你所要使用的web服务器,选择添加网站绑定,注意这里的IP地址应与你新建主机的IP地址一致!!!
6.打开dos命令窗口,查看DNS服务是否开启,查看UDP53,如图所示服务开启成功
1 netstat -ano |findstr 53 查看53端口
7.测试DNS服务器是否可用,新建一个Windows客户端虚拟机,配置客户端的地址,要求首选DNS必须指向DNS服务器!!!
8.再客户端上进行测试,方法如下,若结果如图所示,则DNS服务器搭建成功!
- 打开dos命令窗口,输入以下命令
1 ping www.baidu.com
2 ping yyy.baidu.com
3 nslookup www.baidu.com #可以看到服务器分给客户端的地址
- 打开浏览器,再地址栏中分别输入www.baidu.com和yyy.baidu.com
- 若再浏览器中访问不了别名,将服务器再IIS中绑定的网站删掉,即可浏览别名
- 访问web站点的方式:
1.基于IP的访问方式,默认端口为80,这种方式搭建的web服务器在当前环境中只有一个
2.基于IP+端口的访问方式,可以使用的端口较多,搭建的web服务器可以有多个;访问时:http://ip:port
3.基于主机头的访问方式,需要DNS服务器支持,http://url:80、http://url:81
六、安装SQLServer2008R2服务
1.如果你跟着上面的步骤安装了DNS服务器,那么现在你应该是不能联网的,建议更改IP为下图所示
2.打开下载好的SQL server 2008 R2文件夹,双击setup.exe,进入安装界面,点击的安装,选择“全新安装或向现有安装添加功能”,进入安装程序,按照如图所示步骤进行操作
- 我安装的是破解版,密钥已经提供了
- 这里要先点击安装,然后等待
- 下面的步骤根据自己的需求或者按照我的步骤进行操作
- 这里要输入你的密码,一定要记住啊!
- 等待......
- 安装完成
2.在所有程序中打开SQLServer2008R2,进行如图所示操作
- 这里的登录名一定要填sa,sa是默认登录名,输入密码进行登录
- 进入以下界面
3.打开IIS管理器,新建一个web服务器ASPCMS,为使用SQLServer2008R2进行管理,配置如下,详细步骤参考本章第一个教程
- 在浏览器中浏览验证是否可用
4.打开MSSQL(SQLServer2008R2的简称),右键数据库,选择新建数据库,新建ASPCMS的数据库,进入到以下界面
5.进入到ASPCMS的根目录中找到AspCms_Config.asp文件,进行配置,修改如图所示,数据库密码填写你的密码(需要提前下载编译器,或使用记事本进行操作)
6.再次打开浏览器,访问ASPCMS的站点,发现出现以下错误
7.打开MSSQL,右键aspcms数据库,点击任务,导入数据,进入以下界面,主要操作如图所示
- 导入完成
8.再次进入浏览器浏览ASPCMS站点,发现浏览正常
9.打开dos命令窗口,查看服务端口号
1 netstat -ano|findstr 1433 查看1433端口号
10.打开Navicat,点击链接,做如下图所示操作后,点击确认
关于“Windows Server 2012 R2”上“IIS 8.5”上的ASP.NET应用程序与“Windows Server 2008 R2”上的“IIS 7.5”相比表现不佳的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.net – 无法在Windows Server 2008 R2上的IIS7.5中运行net.pipe绑定、iis-7 – Windows Server 2008 R2上的IIS 7.5可以处理的默认并发请求数是多少?、Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App、Windows Server 2008R2 服务安装:IIS、DNS、SQLServer2008R2的相关信息,请在本站寻找。
本文标签: