IIS管理器配置与优化
1.1禁止多余的Web服务扩展
IIS6.0支持多种服务扩展有些管理员偷懒或者不求甚解担心Web运行中出现解析错误索性在建站时开启了所有的We b服务扩展。殊不知这其中的有些扩展比如 “所有未知C GI扩展” 、 “在服务器端的包含文件”等是Web运行中根本用不到的况且还占用IIS资源影响性能拖垮Web甚至某些扩展存在漏洞容易被攻击者利用。因此科学的原则是用到什么扩展就启用什么扩展。
如果企业站点是静态页面那什么扩展都不要开启。不过现在的企业站点都是交互的动态页面比如asp、 php、 jsp等。如果是as p页面那只需开启 “Activ e Serve r Pages ”即可。对于php、jsp等动态页面II S6.0默认是不支持的需要进行安装相应组件实现对这些扩展的支持。不过此时用不到的扩展完全可以禁用。
禁止Web服务扩展的操作非常简单打开“IIS管理器” 在左窗格中点击“Web服务扩展” 在右侧选择相应的扩展然后点击“禁用”即可。 (图1)
1.2删除不必要的IIS扩展名映射
IIS默认支持.asp、 .cdx等8种扩展名的映射这其中除了.asp之外其他的扩展几乎用不到。这些用不着的扩展会加重web服务器的负担而且带来一定的安全隐患。比如.asa .cer等扩展名就可以被攻击者利用来获得web shell。因为一般的asp系统都会限制a sp文件的上传但如果没有限制.asa或者.cer等扩展名攻击者就可以更改文件后缀突破上传限制运行.a s a或者.cer的文件获得we bshel l。 (图2)
删除IIS扩展名的操作是打开IIS管理器右键单击“默认Web站点”选择“属性” 点击“主目录”选项卡然后点击“配置”打开应用程序窗口最后根据自己的需要选择不必要的应用程序映射比如. shtml , . shtm, . stm等然后点击“删除”即可。 (图3)
1.3取消访问记录
IIS6.0默认开启对于web的访问记录。当开启记录功能后 IIS会事无巨细地忠实记录所有的web访问记录。这些记录文件的内容是非常庞杂的 比如访问时间、客户端IP、从哪个链接访问、 Cooki es等另外还包括Metho d(方法) , UserA gent(用户代理)等。这些记录不但占用大量的磁盘空间还大大地影响了web服务器的性能。有人做过评测停止访问记录可以提升5%到8%的web性能。而且这些记录对于一般用户特别是中小型的We b站点没有什么用途简直太耗费系统性能了 因此建议关闭它。
取消访问记录的操作是打开I I S管理器定位到具体的web站点右键点击选择“属性” 在“主目录”选项卡下取消对“记录访问”的勾选即可。 (图
4)
1.4对访问流量进行限制
默认情况下IIS 6.0对于访问量是没有限制的如果并发连接过大超过了Web的负载轻则发生网络拥塞重则导致服务器宕机。因此需要对用户的访问进行限制控制Web访问的流量。
打开“Internet信息服务”管理器在其窗口右侧点击主机名前面的“+”号依次定位到某个Web站点上。选中该We b站点右键单击选择“属性” 在打开的属性设置窗口中选中“性能”标签将“启用带宽限制”复选框选中在随后被激活的“最大网络使用”设置框中指定你的网络站点带宽的具体数值。大家可以根据服务器的性能及其访问量综合考虑继续设置。对于一般的企业站点将带宽流量设置为1500kb/s就差不多了。 同时在“网站连接”下可以进行连接限制的设置大家可以根据情况设置一个数值。完成以上设置后 IIS就只能使用其被授予的资源进行We b服务杜绝了异常情况造成的服务器过载为Web减负。 (图5)
1.5让Web负载自由伸缩
默认情况下IIS是全负荷地为W eb提供服务的这在一定程度上加重了Web负担。如何能够自动地根据负载变化自动调节工作进程呢?
利用IIS 6.0的Web园我们只需指定用于某个应用程序池的工作进程的数量就可以了实现各个Web站点之间的隔离。具体的配置步骤是在“Inter net信息服务”管理器中打开应用程序池的“属性”对话框转到“性能”页在“Web园”下面的“最大工作进程数”输入框中输入进程数量。当服务器的负载较小不需要额外的工作进程时 IIS 6.0在一定的时间后(默认20分钟可配置)自动缩减实际的工作进程数量;如果负载变大需要额外的工作进程 IIS 6.0再次增加工作进程数量。另外还可以“启用CUP监视” 设置“最大CPU使用率” “刷新CUP使用率值”以及“CPU使用率超过最大使用率是执行的操作”
这些设置可以根据需要进行设置。当一切设置完成后这一切就交给I IS自动进行不需要管理员干预。 (图6) 注意最好只是设置回收的时间性能标签下面的内容不要随便设置否则有可能造成服务器sessi on丢失的情况进而造成登陆用户名和密码短时间内被自动退出的情况
1.6配置应用呈现池
IIS可以支持多个Web服务特别是虚拟主机一台服务器上有非常多的Web站点。如何才能做到各个站点之间相互独立不因某些Web站点出现故障而影响其他站点呢?为不同工作进程指定应用程序池是个很好的解决办法。
(1) 、创建
打开“IIS管理器”中展开本地计算机右键单击“应用程序池” 选择“新建→应用程序池” 。在“应用程序池名称”框中输入新的应用程序池名称。如果点选选“将现有应用程序池作为模板” 可以在“应用程序池名称”下来列表中选择相应的应用程序池最后单击“确定”即可。 (图7)
(2) 、指派
在“IIS管理器中” 右键单击你要为其指派应用程序池的站点然后单击“属性” 。在该站点的属性面板中“主目录”选项卡在“应用程序池”下拉列表中选择刚才创建的应用程序池即可。如果所有的选项为灰色单击“创建”按钮就可以输入“应用程序名” 然后在“应用程序池”列表框中选择并指派网站的应用程序池了。 (图8)
(3) 、回收
利用“回收”功能可是设置如何恢复系统资源进行I IS资源使用的灵活定制。打开“IIS管理控制台 ”单击“+”号依次“展开本地计算机→应用程序池” 。选择你要回收的应用程序池右键单击选择“属性” 出现应用程序池的属性对话框单击“回收”选项卡在其下可以设置 “进程回收” 、 “内存回收”等所有这些设置大家根据实际需要进行设置。 (图9)
设置最大内存 当程序达到最大内存后其会自动重启,w3wp. exe就是你的A SP.NET应用宿主如果你使用了大量的S essio n、 Cache等资源并且Ses sion超市时间很长那么内存占用量就比较大。应用池是为增加性能而设的一个特性但是也消耗很大的内存。
1.7启用内容过期
对于静态文件启用内容过期可以提高访问性能。首先网站的目录要划分合理图片、CSS、JavaScript均放在单独目录下然后在IIS中选择目录 点属性-HTTP头启用内容过期可以选择30天后过去这样用户浏览器将比较当前日期和截止日期 以便决定是显示缓存页还是从服务器请求更新的页由于图片、CSS、 JS通常变化较少因此基本上都从本地缓存读取从而加快显示速度。
1.8启用Gzip压缩
启用Gzi p压缩是在Web服务器和浏览器间传输压缩文本内容的方法。Gzip压缩采用通用的压缩算法压缩HTM L、JavaS cript 、CSS等静态文件和a sp、 aspx、 php、jsp等动态文件。压缩的最大好处就是降低了网络传输的数据量从而提高客户端浏览器的访问速度。当然 同时也会增加一点点服务器的负担。通过Windows2003系统设置的方式启用Gzi p的突出优点就是效率较高所以我们直接设置II S让其支持Gzip压缩。
1、打开Int ernet信息管理器右击”网站“ 一定要注意是【网站】文件夹不是那个【默认网站】 点”属性“菜单-选”服务“选项卡选上“压缩应用程序文件”复选框那个“压缩静态文件”好像可以不选
2、打开Web服务扩展在其中增加Gzip压缩扩展并启用
3、设置IIS可进行压缩的文件类型这一步骤比较繁杂有一高人写了一个批处理文件用来简化此操作批处理内容如下
IISre set. exe /stopcscri pt adsut il.vbs set w3svc/filte rs/compr essio n/param eters/HcDoD ynami cComp ressi on truecscri pt adsut il.vbs set w3svc/filte rs/compr essio n/param eters/HcDoS tatic Compr essio n truecscri pt. exe adsut il.vbs set W3Svc/Filters/Compr ession/GZIP/HcFil eExtension s "shtml " "shtm" "htm" "html" "txt" "ppt" "xls" "xml" "pdf" "xslt
cscri pt. exe adsut il.vbs set W3Svc/Filte rs/Compr ession/DEFLATE/HcFil eExte nsion s "shtml " "shtm" "htm" "html" "txt" "ppt" "xls" "xml" "pdf" "
cscri pt. exe adsut il.vbs set W3Svc/Filte rs/Compr ession/GZIP/Hcscr iptFileExt ensionscscri pt. exe adsut il.vbs set W3Svc/Filte rs/Compr essio n/DEFLATE/Hcscr iptFi leExt ensio ns "asp" "dll" "exe" "aspx" "asmx"cscri pt. exe adsut il.vbs set W3Svc/Filte rs/Compr ession/GZIP/HcDynamicCompre ssion Level "9"cscri pt. exe adsut il.vbs set W3Svc/Filte rs/Compr essio n/DEFLATE/HcDynamicC ompre ssion Level "9"
IISre set. exe /restart
存为bat
把该批处理文件拷贝到c:\inetpub\Admin Scrip ts下执行即可
如果你设置完成了可以访问下面的地址测试效果http://gzip. zzbaike.com/
HTTP压缩是在We b服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HT ML、 JavaS cript或CSS文件。压缩的最大好处就是降低了网络传输的数据量从而提高客户端浏览器的访问速度。当然 同时也会增加一点点服务器的负担。Gzip是比较常见的一种HTT P压缩算法。本文介绍的HTTP压缩方式采用的是W indow s系统设置的方式优点是效率较高。
二. HTTP压缩工作原理
Web服务器处理HT TP压缩的工作原理如下
Web服务器接收到浏览器的HT TP请求后检查浏览器是否支持H TTP压缩
如果浏览器支持HTT P压缩 Web服务器检查请求文件的后缀名
如果请求文件是HTM L、 CSS等静态文件 Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件
如果请求文件的压缩文件不存在 Web服务器向浏览器返回未压缩的请求文件并在压缩缓冲目录中存放请求文件的压缩文件
如果请求文件的最新压缩文件已经存在则直接返回请求文件的压缩文件如果请求文件是ASP X等动态文件Web服务器动态压缩内容并返回浏览器压缩内容不存放到压缩缓存目录中。
三. IIS 6.0中配置HTTP Gzip压缩的步骤:
首先如果你需要压缩静态文件HTML 需要在硬盘上建一个目录并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件PHP asp aspx就不需要了 因为它的页面是每次都动态生成的压缩完就放弃。然后在IIS管理器中 “网站”上面右键属性不是下面的某个站点而是整个网站。进入“服务”标签选上启用动态内容压缩静态内容压缩。
1)打开Int ernet信息服务(IIS)管理器右击"网站"->"属性"选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件"按需要设置"临时目录"和"临时目录的最大限制"
2)在Inte rnet信息服务(IIS)管理器右击"Web服务扩展"->"增加一个新的Web服务扩展. . . "在"新建Web服务扩展"框中输入扩展名"HTTP Compr essio n"添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll其中Windows系统目录根据您的安装可能有所不同选中"设置扩展状态为允许"
3)
使用文本编辑器打开C :\Windows\System32\inets rv\MetaBase.xml (建议先备份),找到Loc ation ="/LM/W3SVC/Filte rs/Compr essio n/gzip"如果需要压缩动态文件则将HcDoD ynami cComp ressi on设置为"TRUE"并在HcS cript FileExtens ions中增加您要压缩的动态文件后缀名 如ASPx如果需要压缩静态文件则将HcD oStat icCom press ion和H cDoOn Deman dComp ress i on设置为 "TRUE"
并在HcF ileEx tensi ons中增加您需要压缩的静态文件后缀名如xml、 css等HcDyn amicC ompre ssion Level和HcOn Deman dComp Level表示需要的压缩率数字越小压缩率越低
4)编辑完毕后保存Met aBase.xml文件如果文件无法保存则可能II S正在使用该文件。打开"开始"->"管理工具"->"服务"停止"IIS Admin Servi ce"后 即可保存在运行中输入“net stop iisadmin /y”停止IIS服务运行完成后保存Met abase.xml
5)最后重新启动I IS。可以到HT TP压缩测试网站验证结果。在运行中输入“iisre set”重启IIS服务
1.9调整IIS高速缓存的容量
1. IIS高速缓存是对I IS进行优化时要考虑的最重要的项目之一。服务器保留了一部分内存空间用作IIS高速缓存为将来的请求存储对象这样I I S就可从高速缓存中检索对象而不用从硬盘中检索。
调整IIS高速缓存的容量需要修改注册表表项如下
\HKEY_LOCAL_MACH INE
\System
\Curre ntCon trolS et
\Servi ces
\InetI nfo
\Param eters
\Memor yCach eSize
Memor yCach eSize的范围是从0道4GB缺省值为3072000 3MB 。
此值最小应设为服务器内存10% IIS通过高速缓存C ache系统句柄,目录列表以及其他常用数据值来提高系统性能这个参数指明了分配给高速缓存cac he内存大小如果该值为0那就意味着"不进行任何高速缓存C ache "在这种情况下
系统性能可能会降低如果你服务器网络通讯繁忙并且有足够内存空间可以考虑增大该值必须注意是修改注册表后需要重新启动才能使新值生效
IIS通过高速缓存系统句柄、 目录列表以及其他常用数据的值来提高系统的性能。这个参数指明了分配给高速缓存的内存大小。如果该值为0那就意味着 “不进行任何高速缓存” 。在这种情况下系统的性能可能会降低。如果你的服务器网络通讯繁忙并且有足够的内存空间可以考虑增大该值。必须注意的是修改注册表后需要重新启动才能使新值生效。
1.10优化IIS的注意事项
为了避免以后的头疼在安装IIS之时就应该注意到I IS的优化。 比如
1为了提高性能和节约资源应该只运行需要的协议。这一点很多管理员都没有注意笔者曾见到在一台只作Web服务的机器上同时安装有NetBEUI、Tcp/IP和IPX协议。显然这是不合理的。
2应该将IIS服务器设置为独立的服务器不要让服务器去承受域控制器要求的额外负荷。试想服务器一边在响应用户的登录一边还要提供IIS服务性能能不下降吗
3可以把Windows Server 2003服务器的页交换文件分布到多个物理磁盘上注意是多个“物理磁盘” 分布在多个分区上是无效的。另外不要将页交换文件放在与Windows Server 2003引导区相同的分区中。
4使用磁盘镜像或磁盘带区集可以提高磁盘的读取性能。
5关于日志的记录应该采用文件记录而不是记录到O DBC数据源。此外还可以在记录期间增加用来记录日志的内存缓冲区的容量来减少磁盘的活动。该缓冲区的缺省容量值为64KB。
6最好把所有的数据都储存在一个单独的分区里。然后定期运行磁盘碎片整理程序以保证在存储Web服务器数据的分区中没有碎片。使用NTF S有助于减少碎片。笔者推荐使用Nort on的Speeddisk可以很快地整理NTF S分区。
7虽然SSL可以提供相当可靠的加密传输。但是所需的额外开销会导致IIS服务器速度下降尤其是在处理大型文件的时候。所以应该只对确实需要保护的目录进行SSL加密。
百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。官方网站:https://www.baizon.cnC3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C...
v5.net一直做独立服务器这块儿的,自从推出云服务器(VPS)以来站长一直还没有关注过,在网友的提醒下弄了个6G内存、2核、100G SSD的美国云服务器来写测评,主机测评给大家趟雷,让你知道v5.net的美国云服务器效果怎么样。本次测评数据仅供参考,有兴趣的还是亲自测试吧! 官方网站:https://v5.net/cloud.html 从显示来看CPU是e5-2660(2.2GHz主频),...
hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...