﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-金华网站建设-义乌网站建设-浙江网站建设-随笔分类-服务器架设</title><link>http://www.cnitblog.com/zhangyafei/category/4612.html</link><description>金华网页设计-义乌网页设计服务-浙江网络安全维护 提供企业网络安全维护、企业网站建设、企业网站维护、企业服务器维护等服务(金华服务器维护-义乌服务器维护),咨询: 张先生 15924245918  QQ：77883459</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 18:47:58 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 18:47:58 GMT</pubDate><ttl>60</ttl><item><title>IIS 错误代码大全</title><link>http://www.cnitblog.com/zhangyafei/archive/2008/06/21/45919.html</link><dc:creator>网工地带</dc:creator><author>网工地带</author><pubDate>Sat, 21 Jun 2008 08:14:00 GMT</pubDate><guid>http://www.cnitblog.com/zhangyafei/archive/2008/06/21/45919.html</guid><wfw:comment>http://www.cnitblog.com/zhangyafei/comments/45919.html</wfw:comment><comments>http://www.cnitblog.com/zhangyafei/archive/2008/06/21/45919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhangyafei/comments/commentRss/45919.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhangyafei/services/trackbacks/45919.html</trackback:ping><description><![CDATA[<div class="content" id="textbody">
<p><strong> 400无法解析此请求。</strong> </p>
<p>401.1未经授权：访问由于凭据无效被拒绝。</p>
<p>401.2未经授权:访问由于服务器配置倾向使用替代身份验证方法而被拒绝。</p>
<p>401.3未经授权：访问由于ACL对所请求资源的设置被拒绝。</p>
<p>401.4未经授权：Web服务器上安装的筛选器授权失败。</p>
<p>401.5未经授权：ISAPI/CGI应用程序授权失败。</p>
<p>401.7未经授权：由于Web服务器上的URL授权策略而拒绝访问。</p>
<p>403禁止访问：访问被拒绝。</p>
<p>403.1禁止访问：执行访问被拒绝。</p>
<p>403.2禁止访问：读取访问被拒绝。</p>
<p>403.3禁止访问：写入访问被拒绝。</p>
<p>403.4禁止访问：需要使用SSL查看该资源。</p>
<p>403.5禁止访问：需要使用SSL128查看该资源。</p>
<p>403.6禁止访问：客户端的IP地址被拒绝。</p>
<p>403.7禁止访问：需要SSL客户端证书。</p>
<p>403.8禁止访问：客户端的DNS名称被拒绝。</p>
<p>403.9禁止访问：太多客户端试图连接到Web服务器。</p>
<p>403.10禁止访问：Web服务器配置为拒绝执行访问。</p>
<p>403.11禁止访问：密码已更改。</p>
<p>403.12禁止访问：服务器证书映射器拒绝了客户端证书访问。</p>
<p>403.13禁止访问：客户端证书已在Web服务器上吊销。</p>
<p>403.14禁止访问：在Web服务器上已拒绝目录列表。</p>
<p>403.15禁止访问：Web服务器已超过客户端访问许可证限制。</p>
<p>403.16禁止访问：客户端证书格式错误或未被Web服务器信任。</p>
<p>403.17禁止访问：客户端证书已经到期或者尚未生效。</p>
<p>403.18禁止访问：无法在当前应用程序池中执行请求的URL。</p>
<p>403.19禁止访问：无法在该应用程序池中为客户端执行CGI。</p>
<p>403.20禁止访问：Passport登录失败。</p>
<p>404找不到文件或目录。</p>
<p>404.1文件或目录未找到：网站无法在所请求的端口访问。</p>
<p>注意404.1错误只会出现在具有多个IP地址的计算机上。如果在特定IP地址/端口组合上收到客户端请求，而且没有将IP地址配置为在该特定的端
口上侦听，则IIS返回404.1HTTP错误。例如，如果一台计算机有两个IP地址，而只将其中一个IP地址配置为在端口80上侦听，则另一个IP地址
从端口80收到的任何请求都将导致IIS返回404.1错误。只应在此服务级别设置该错误，因为只有当服务器上使用多个IP地址时才会将它返回给客户端。</p>
<p>404.2文件或目录无法找到：锁定策略禁止该请求。</p>
<p>404.3文件或目录无法找到：MIME映射策略禁止该请求。</p>
<p>405用于访问该页的HTTP动作未被许可。</p>
<p>406客户端浏览器不接受所请求页面的MIME类型。</p>
<p>407Web服务器需要初始的代理验证。</p>
<p>410文件已删除。</p>
<p>412客户端设置的前提条件在Web服务器上评估时失败。</p>
<p>414请求URL太大，因此在Web服务器上不接受该URL。</p>
<p><strong> 500服务器内部错误。</strong> </p>
<p>500.11服务器错误：Web服务器上的应用程序正在关闭。</p>
<p>500.12服务器错误：Web服务器上的应用程序正在重新启动。</p>
<p>500.13服务器错误：Web服务器太忙。</p>
<p>500.14服务器错误：服务器上的无效应用程序配置。</p>
<p>500.15服务器错误：不允许直接请求GLOBAL.ASA。</p>
<p>500.16服务器错误：UNC授权凭据不正确。</p>
<p>500.17服务器错误：URL授权存储无法找到。</p>
<p>500.18服务器错误：URL授权存储无法打开。</p>
<p>500.19服务器错误：该文件的数据在配置数据库中配置不正确。</p>
<p>500.20服务器错误：URL授权域无法找到。</p>
<p>500100内部服务器错误：ASP错误。</p>
<p>501标题值指定的配置没有执行。</p>
<p>502Web服务器作为网关或代理服务器时收到无效的响应。</p>
<p>WIN2003SERVERIIS6.0ASP错误解析</p>
<p><strong> 事件ID描述</strong> </p>
<p>0100内存不足。无法分配所需的内存。</p>
<p>0101意外错误。函数返回|。</p>
<p>0102要求字符串输入。函数需要字符串输入。</p>
<p>0103要求数字输入。函数需要数字输入。</p>
<p>0104不允许操作。</p>
<p>0105索引超出范围。数组索引超出范围。</p>
<p>0106类型不匹配。遇到未处理的数据类型。</p>
<p>0107数据大小太大。请求中发送的数据大小超出允许的限制。</p>
<p>0108创建对象失败。创建对象'%s'时出错。</p>
<p>0109成员未找到。</p>
<p>0110未知的名称。</p>
<p>0111未知的界面。</p>
<p>0112参数丢失。</p>
<p>0113脚本超时。超过了脚本运行的最长时间。可以通过为Server.ScriptTimeout属性指定一个新值或在IIS管理工具中修改值来更改此限制。</p>
<p>0114对象不可用于自由线程。应用程序对象仅接受自由线程对象；而对象'%s'不可用于自由线程。</p>
<p>0115意外错误。外部对象中发生一个可捕捉的错误(%X)。脚本无法继续运行。</p>
<p>0116脚本分隔符结束标记丢失。脚本块缺少脚本结束标记(%&gt;)。</p>
<p>0117脚本结束标记丢失。脚本块缺少脚本结束标记(&lt;/SCRIPT&gt;)或标记结束符号(&gt;)。</p>
<p>0118对象的结束标记丢失。对象块缺少对象结束标记(&lt;/OBJECT&gt;)或标记结束符号(&gt;)。</p>
<p>0119Classid或Progid属性丢失。对象实例'|'在对象标记中需要有效的Classid或Progid。</p>
<p>0120Runat属性无效。脚本标记或对象标记的Runat属性只能有'Server'值。</p>
<p>0121对象标记中的范围无效。对象实例'|'的作用范围不能是Application或Session。要创建有Session或Application作用范围的对象实例，请将在Global.asa文件中加入Object标记。</p>
<p>0122对象标记中的范围无效。对象实例'|'必须有Application或Session作用范围。这将应用于所有在Global.asa文件内创建的对象。</p>
<p>0123缺少Id属性。缺少Object标记所需的Id属性。</p>
<p>0124Language属性丢失。缺少Object标记所需的Language属性。</p>
<p>0125属性结束标记丢失。'|'属性的值没有结束分隔符。</p>
<p>0126未找到Include文件。未找到Include文件'|'。</p>
<p>0127HTML注释的结束标记丢失。HTML注释或在服务器端的包含文件缺少结束标记(--&gt;)。</p>
<p>0128File或Virtual属性丢失。Include文件名必须用File或Virtual属性指定。</p>
<p>0129未知的脚本语言。服务器上找不到脚本语言'|'。</p>
<p>0130File属性无效。File属性'|'不能以斜杠或反斜杠开始。</p>
<p>0131不允许的父路径。Include文件'|'不能包含'..'来表示父目录。</p>
<p>0132编译错误。无法处理ActiveServerPage'|'。</p>
<p>0133ClassID属性无效。对象标记有一个无效的ClassID'|'。</p>
<p>0134ProgID属性无效。对象有一个无效的ProgID'|'。</p>
<p>0135循环包含。文件'|'包含它本身（可能是非直接地包含）。请检查包含文件中的其他Include语句。</p>
<p>0136对象实例名无效。对象实例'|'试图使用一个保留名称。这个名称被ActiveServerPages的内部对象使用。</p>
<p>0137全局脚本无效。脚本块必须是允许的Global.asa过程之一。Global.asa文件中不允许在&lt;%...%&gt;内使用脚
本指令。允许的过程名称是Application_OnStart、Application_OnEnd、Session_OnStart或
Session_OnEnd。</p>
<p>0138脚本块嵌套。脚本块不可放在另一个脚本块内。</p>
<p>0139嵌套对象。对象标记不能放在另一个对象标记内。</p>
<p>0140页命令次序有误。@命令必须是ActiveServerPage中的第一个命令。</p>
<p>0141页命令重复。@命令只可以在ActiveServerPage中使用一次。</p>
<p>0142线程令牌错误。无法打开线程令牌。</p>
<p>0143应用程序名无效。未找到有效的应用程序名称。</p>
<p>0144初始化错误。初始化时页级别的对象列表失败。</p>
<p>0145新应用程序失败。无法添加新的应用程序。</p>
<p>0146新会话失败。无法添加新的会话。</p>
<p>0147500服务器错误。</p>
<p>0148服务器太忙。</p>
<p>0149正在重新启动应用程序。重启动应用程序期间无法处理请求。</p>
<p>0150应用程序目录错误。无法打开应用程序目录。</p>
<p>0151更改通知错误。无法创建更改通知事件。</p>
<p>0152安全错误。处理用户安全凭据时发生错误。</p>
<p>0153线程错误。新线程请求已失败。</p>
<p>0154HTTP头写入错误。HTTP头无法写入客户端浏览器。</p>
<p>0155页内容写入错误。页内容无法写入客户端浏览器。</p>
<p>0156头错误。HTTP头已经写入到客户端浏览器。任何HTTP头必须在写入页内容之前修改。</p>
<p>0157启用缓冲。缓冲启用后不能关闭。</p>
<p>0158URL丢失。URL是必需的。</p>
<p>0159缓冲已关闭。缓冲必须启用。</p>
<p>0160日志记录错误。将条目写入日志失败。</p>
<p>0161数据类型错误。将Variant转换为String变量失败。</p>
<p>0162不能修改Cookie。不能修改Cookie'ASPSessionID'。它是一个保留的Cookie名。</p>
<p>0163逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。</p>
<p>0164TimeOut值无效。指定的TimeOut值无效。</p>
<p>0165SessionID错误。无法创建SessionID字符串。</p>
<p>0166对象未初始化。试图访问未初始化的对象。</p>
<p>0167会话初始化错误。初始化Session对象时发生错误。</p>
<p>0168禁止的对象使用。Session对象中不能保存内部对象。</p>
<p>0169缺少对象信息。Session对象中不能保存信息不全的对象。需要对象的线程模型信息。</p>
<p>0170删除会话错误。无法正确删除Session。</p>
<p>0171路径丢失。必须为MapPath方法指定Path参数。</p>
<p>0172路径无效。MapPath方法的路径必须是虚拟路径。使用了一个实际的路径。</p>
<p>0173路径字符无效。MapPath方法的Path参数中指定了一个无效字符。</p>
<p>0174多个路径字符无效。MapPath方法的Path参数中指定了无效的'/'或'\\'。</p>
<p>0175不允许的路径字符。MapPath方法的Path参数中不允许使用'..'字符。</p>
<p>0176未找到路径。MapPath方法的Path参数与已知路径不符。</p>
<p>0177Server.CreateObject失败。%s</p>
<p>0178Server.CreateObject访问错误。检查权限时调用Server.CreateObject失败。对此对象的访问被拒绝。</p>
<p>0179应用程序初始化错误。初始化Application对象时发生错误。</p>
<p>0180禁止的对象使用。Application对象中不能保存内部对象。</p>
<p>0181线程模型无效。使用单元线程模型的对象不能存储在Application对象中。</p>
<p>0182对象信息丢失。Application对象中不能保存信息不全的对象。需要此对象的线程模型信息。</p>
<p>0183空Cookie项。不能保存空项Cookie。</p>
<p>0184Cookie名称丢失。必须为Cookie指定名称。</p>
<p>0185默认属性丢失。未找到对象的默认属性。</p>
<p>0186证书分析错误。</p>
<p>0187对象添加冲突。无法将对象添加到应用程序。应用程序被另一个要求添加对象的请求锁定。</p>
<p>0188禁止的对象使用。无法将用对象标记创建的对象添加到会话内部。</p>
<p>0189禁止的对象使用。无法将用对象标记创建的对象添加到应用程序内部。</p>
<p>0190意外错误。释放外部对象时发生可捕获错误。</p>
<p>0191意外错误。外部对象的OnStartPage方法中发生可捕获错误。</p>
<p>0192意外错误。外部对象的OnEndPage方法中发生可捕获错误。</p>
<p>0193OnStartPage失败。外部对象的OnStartPage方法中出错。</p>
<p>0194OnEndPage失败。外部对象的OnEndPage方法中出错。</p>
<p>0195无效的服务器方法调用。Session_OnEnd和Application_OnEnd期间不能调用Server对象的此方法。</p>
<p>0196无法启动进程外组件。只能使用InProc服务器组件。若要使用LocalServer组件，必须设置AspAllowOutOfProcComponents配置数据库设置。请参阅帮助文件，了解重要注意事项。</p>
<p>0197禁止的对象使用。不能将有单元模型行为的对象添加到应用程序内部对象。</p>
<p>0198服务器正在关闭。不能处理请求。</p>
<p>0199禁止的对象使用。不能将JScript对象添加到会话。</p>
<p>0200超出'Expires'属性范围。为'Expires'指定的日期和时间在1980年1月1日之前或在2038年1月19日3:14:07GMT之后。</p>
<p>0201默认脚本语言无效。为此应用程序指定的默认脚本语言无效。</p>
<p>0202代码页丢失。代码页属性丢失。</p>
<p>0203代码页无效。指定的代码页属性无效。</p>
<p>0204CodePage值无效。指定的CodePage值无效。</p>
<p>0205更改通知。创建更改通知事件失败。</p>
<p>0206不能调用BinaryRead。使用Request.Form集合后不能调用BinaryRead。</p>
<p>0207不能使用Request.Form。调用BinaryRead后不能使用Request.Form集合。</p>
<p>0208不能使用通用Request集合。调用BinaryRead后不能使用通用Request集合。</p>
<p>0209TRANSACTION属性的值非法。TRANSACTION属性只能是REQUIRED、REQUIRES_NEW、SUPPORTED或NOT_SUPPORTED。</p>
<p>0210方法未实施。此方法尚未实施。</p>
<p>0211对象超出范围。引用内置的ASP对象，此操作已不再有效。</p>
<p>0212无法清除缓冲区。客户端调试启用时，Response.Flush之后不能有Response.Clear。</p>
<p>0214路径参数无效。Path参数超出允许的最大长度。</p>
<p>0215ENABLESESSIONSTATE属性的值非法。ENABLESESSIONSTATE属性的值只能是TRUE或FALSE。</p>
<p>0216MSDTC服务未运行。如果未运行MSDTC服务，则不能运行事务性网页。</p>
<p>0217对象标记中的范围无效。对象的作用范围必须是Page、Session或Application。</p>
<p>0218LCID丢失。LCID属性丢失。</p>
<p>0219LCID无效。指定的LCID不可用。</p>
<p>0220不允许请求GLOBAL.ASA。不允许请求指向GLOBAL.ASA的URL。</p>
<p>0221@命令指令无效。指定的'|'选项未知或无效。</p>
<p>0222TypeLib规范无效。METADATA标记包含无效的类型库规范。</p>
<p>0223未找到TypeLib。METADATA标签含有的类型库规范和注册表项不符。</p>
<p>0224无法加载TypeLib。无法加载METADATA标记中指定的类型库。</p>
<p>0225无法包装TypeLib。不能通过METADATA标记中指定的类型库创建类型库包装对象。</p>
<p>0226无法修改StaticObjects。运行时无法修改StaticObjects集合。</p>
<p>0227Server.Execute失败。调用Server.Execute失败。</p>
<p>0228Server.Execute错误。加载此页时调用Server.Execute失败。</p>
<p>0229Server.Transfer失败。调用Server.Transfer失败。</p>
<p>0230Server.Transfer错误。加载此页时调用Server.Transfer失败</p>
<p>0231Server.Execute错误。使用的URL格式无效，或者使用了完全限定的绝对URL。请使用相对URL。</p>
<p>0232Cookie规范无效。METADATA标记包含无效的Cookie规范。</p>
<p>0233无法加载Cookie脚本源。无法加载METADATA标记中指定的Cookie脚本源文件。</p>
<p>0234包含指令无效。脚本块中可能没有服务器端包含文件指令。请使用&lt;SCRIPT&gt;标签的SRC=属性。</p>
<p>0235Server.Transfer错误。使用的URL格式无效，或者使用了完全限定的绝对URL。请使用相对URL。</p>
<p>0236Cookie规范无效。METADATA标记包含无效的SRC参数或缺少该参数。</p>
<p>0237Cookie规范无效。METADATA标记包含无效的NAME参数或缺少该参数。</p>
<p>0238属性值丢失。没有为'|'属性指定值。</p>
<p>0239无法处理文件。不支持UNICODEASP文件。</p>
<p>0240脚本引擎异常。ScriptEngine在'%s'中从'%s'引发'%X'异常。</p>
<p>0241CreateObject异常。'%s'的CreateObject引发%X异常。</p>
<p>0242查询OnStartPage接口异常。查询的'%s'对象的OnStartPage或OnEndPage方法引发%X异常。</p>
<p>0243Global.asa中的METADATA标记无效。Global.asa中只能使用METADATATYPE="TypeLib"。</p>
<p>0244无法启用会话状态。应用程序中禁用会话时，无法启用会话状态。</p>
<p>0245代码页值混合使用。指定的@CODEPAGE值与包含文件的CODEPAGE或文件的已保存格式的值不同。</p>
<p>0246并发用户太多。请稍后再试..</p>
<p>0247BinaryRead的参数无效。BinaryRead的参数必须为非负值。</p>
<p>0248未处理脚本。必须处理此ASP文件才能使用ObjectContext对象。</p>
<p>0249无法在Request上使用IStream。使用Request.Form集合或Request.BinaryRead后无法在Request对象上使用IStream。</p>
<p>0250默认代码页无效。为此应用程序指定的默认代码页无效。</p>
<p>0251超出响应缓冲区限制。ASP页的执行引起响应缓冲区超出其配置限制</p>
</div>
<br><img src ="http://www.cnitblog.com/zhangyafei/aggbug/45919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhangyafei/" target="_blank">网工地带</a> 2008-06-21 16:14 <a href="http://www.cnitblog.com/zhangyafei/archive/2008/06/21/45919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iss服务的基础知识</title><link>http://www.cnitblog.com/zhangyafei/archive/2008/06/20/45901.html</link><dc:creator>网工地带</dc:creator><author>网工地带</author><pubDate>Fri, 20 Jun 2008 04:43:00 GMT</pubDate><guid>http://www.cnitblog.com/zhangyafei/archive/2008/06/20/45901.html</guid><wfw:comment>http://www.cnitblog.com/zhangyafei/comments/45901.html</wfw:comment><comments>http://www.cnitblog.com/zhangyafei/archive/2008/06/20/45901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhangyafei/comments/commentRss/45901.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhangyafei/services/trackbacks/45901.html</trackback:ping><description><![CDATA[<p>一、IIS的添加 </p>
<p>请进入&#8220;控制面板&#8221;，依次选&#8220;添加/删除程序&#8594;添加/删除Windows组件&#8221;，将&#8220;Internet信息服务（IIS）&#8221;前的小钩去掉（如有），
重新勾选中后按提示操作即可完成IIS组件的添加。用这种方法添加的IIS组件中将包括Web、FTP、NNTP和SMTP等全部四项服务。 </p>
<p>二、IIS的运行 </p>
<p>当IIS添加成功之后，再进入&#8220;开始&#8594;设置&#8594;控制面板&#8594;管理工具&#8594;Internet服务管理器(Internet信息服务)&#8221;以打开IIS管理器，对于有&#8220;已停止&#8221;字样的服务，均在其上单击右键，选&#8220;启动&#8221;来开启。 </p>
<p>第一篇 IIS之Web服务器 </p>
<p>一、建立第一个Web站点 </p>
<p>比如本机的IP地址为192.168.0.1，自己的网页放在D:\Wy目录下，网页的首页文件名为Index.htm，现在想根据这些建立好自己的Web服务器。 </p>
<p>对于此Web站点，我们可以用现有的&#8220;默认Web站点&#8221;来做相应的修改后，就可以轻松实现。请先在&#8220;默认Web站点&#8221;上单击右键，选&#8220;属性&#8221;，以进入名为&#8220;默认Web站点属性&#8221;设置界面。 </p>
<p>1．修改绑定的IP地址：转到&#8220;Web站点&#8221;窗口，再在&#8220;IP地址&#8221;后的下拉菜单中选择所需用到的本机IP地址&#8220;192.168.0.1&#8221;。 <br>2．修改主目录：转到&#8220;主目录&#8221;窗口，再在&#8220;本地路径&#8221;输入（或用&#8220;浏览&#8221;按钮选择）好自己网页所在的&#8220;D:\Wy&#8221;目录。 <br>3．添加首页文件名：转到&#8220;文档&#8221;窗口，再按&#8220;添加&#8221;按钮，根据提示在&#8220;默认文档名&#8221;后输入自己网页的首页文件名&#8220;Index.htm&#8221;。 <br>4．
添加虚拟目录：比如你的主目录在&#8220;D:\Wy&#8221;下，而你想输入&#8220;192.168.0.1/test&#8221;的格式就可调出&#8220;E:\All&#8221;中的网页文件，这里面
的&#8220;test&#8221;就是虚拟目录。请在&#8220;默认Web站点&#8221;上单击右键，选&#8220;新建&#8594;虚拟目录&#8221;，依次在&#8220;别名&#8221;处输入&#8220;test&#8221;，在&#8220;目录&#8221;处输入
&#8220;E:\All&#8221;后再按提示操作即可添加成功。 <br>5．效果的测试：打开IE浏览器，在地址栏输入&#8220;192.168.0.1&#8221;之后再按回车键，此时就能够调出你自己网页的首页，则说明设置成功！ </p>
<p>注：具体不同的电脑会有不同的选项名称，但大体上还是可以找到了</p>
<p>
<p>二、添加更多的Web站点 </p>
<p>1．多个IP对应多个Web站点 </p>
<p>如果本机已绑定了多个IP地址，想利用不同的IP地址得出不同的Web页面，则只需在&#8220;默认Web站点&#8221;处单击右键，选&#8220;新建&#8594;站点&#8221;，然后根据提
示在&#8220;说明&#8221;处输入任意用于说明它的内容（比如为&#8220;我的第二个Web站点&#8221;）、在&#8220;输入Web站点使用的IP地址&#8221;的下拉菜单处选中需给它绑定的IP地址
即可；当建立好此Web站点之后，再按上步的方法进行相应设置。 </p>
<p>2．一个IP地址对应多个Web站点 </p>
<p>当按上步的方法建立好所有的Web站点后，对于做虚拟主机，可以通过给各Web站点设不同的端口号来实现，比如给一个Web站点设为80，一个设为
81，一个设为82&#8230;&#8230;，则对于端口号是80的Web站点，访问格式仍然直接是IP地址就可以了，而对于绑定其他端口号的Web站点，访问时必须在IP地
址后面加上相应的端口号，也即使用如 &#8220;http://192.168.0.1:81&#8221; 的格式。 </p>
<p>很显然，改了端口号之后使用起来就麻烦些。如果你已在DNS服务器中将所有你需要的域名都已经映射到了此惟一的IP地址，则用设不同&#8220;主机头名&#8221;的方法，可以让你直接用域名来完成对不同Web站点的访问。 <br>比
如你本机只有一个IP地址为192.168.0.1，你已经建立（或设置）好了两个Web站点，一个是&#8220;默认Web站点&#8221;，一个是&#8220;我的第二个Web站点
&#8221;，现在你想输入&#8220;www.enanshan.com&#8221;可直接访问前者，输入&#8220;www.popunet.com&#8221;可直接访问后者。其操作步骤如下： </p>
<p>（1）请确保已先在DNS服务器中将你这两个域名都已映射到了那个IP地址上；并确保所有的Web站点的端口号均保持为80这个默认值。 <br>（2）
再依次选&#8220;默认Web站点&#8594;右键&#8594;属性&#8594;Web站点&#8221;，单击&#8220;IP地址&#8221;右侧的&#8220;高级&#8221;按钮，在&#8220;此站点有多个标识下&#8221;双击已有的那个IP地址（或单击选
中它后再按&#8220;编辑&#8221;按钮），然后在&#8220;主机头名&#8221;下输入&#8220;www.enanshan.com&#8221;再按&#8220;确定&#8221; 按钮保存退出。 </p>
<p>（3）接着按上步同样的方法为&#8220;我的第二个Web站点&#8221;设好新的主机头名为&#8220;www.popunet.com&#8221;即可。 <br>（4）最后，打开你的IE浏览器，在地址栏输入不同的网址，就可以调出不同Web站点的内容了。 </p>
<p>3．多个域名对应同个Web站点 </p>
<p>你只需先将某个IP地址绑定到Web站点上，再在DNS服务器中，将所需域名全部映射向你的这个IP地址上，则你在浏览器中输入任何一个域名，都会直接得到所设置好的那个网站的内容。 </p>
<p>三、对IIS服务的远程管理 </p>
<p>1．在&#8220;管理Web站点&#8221;上单击右键，选&#8220;属性&#8221;，再进入&#8220;Web站点&#8221;窗口，选择好&#8220;IP地址&#8221;。 </p>
<p>2．转到&#8220;目录安全性&#8221;窗口，单击&#8220;IP地址及域名限制&#8221;下的&#8220;编辑&#8221;按钮，点选中&#8220;授权访问&#8221;以能接受客户端从本机之外的地方对IIS进行管理；最后单击&#8220;确定&#8221;按钮。 </p>
3．则在任意计算机的浏览器中输入如&#8220;http://192.168.0.1:3598&#8221;（3598为其端口号）的格式后，将会出现一个密码询问窗
口，输入管理员帐号名（Administrator）和相应密码之后就可登录成功，现在就可以在浏览器中对IIS进行远程管理了！在这里可以管理的范围主
要包括对Web站点和FTP站点进行的新建、修改、启动、停止和删除等操作
。</p>
<p>
<div class="content" id="textbody">
<p>四、常见问题解答 </p>
<p>Q：在上文中所涉及到的网址中，有的加了&#8220;http://&#8221;，有的没加，这意味着什么呢？ <br>A：没有加&#8220;http://&#8221;部分的网址，说明其可加可不加；而加了&#8220;http://&#8221;部分的，则说明它必不可少！对于带端口号的网址则必须加；否则可省略。 <br>Q：对于上文中涉及到IP地址的网址，可否用比较&#8220;友好&#8221;的名称来代替呢？ <br>A：可以！它除了能够用IIS服务器所在的计算机名来代替之外，还可在DNS服务器中新建域名和相应IP地址的映射表，就也可以用域名来进行访问了！ <br>Q：我设置好了一个Web服务器，但是当我访问网页时，却出现密码提示窗口。这是为什么？ <br>A：访问Web站点时，出现密码提示窗口，一般来说有以下原因，请逐个去进行检查： </p>
<p>1．所访问的网页文件本身加了密。比如&#8220;默认Web站点&#8221;原主目录&#8220;E:\Inetpub\wwwroot&#8221;下的首页文件&#8220;iisstart.asp&#8221;访问时就需要密码。 </p>
<p>2．没有设置允许匿名访问或作了不应该的改动.如图4所示,首先应确保已勾选中了&#8220;匿名访问&#8221;这一项；并且其下&#8220;编辑&#8221;中&#8220;匿名用户帐号&#8221;中&#8220;用户
名&#8221;一项应为&#8220;IUSR_NODISK&#8221;（其中&#8220;NODISK&#8221;为计算机名）的格式；另外，还需要已勾选中&#8220;允许IIS控制密码&#8221;一项。 </p>
<p>3．你的目标目录被限制了访问权限。此项仅当该目录位于NTFS格式分区中时才可能出现。请在其上单击右键，选&#8220;属性&#8221;，再进入&#8220;安全&#8221;窗口，看列表中是不是默认的允许&#8220;Everyone&#8221;组完全控制的状态，如不是，请改回 。 </p>
<p>第二篇 IIS之FTP服务器 </p>
<p>一、建立你的FTP站点 </p>
<p>第一个FTP站点（即&#8220;默认FTP站点&#8221;）的设置方法和更多FTP站点的建立方法请参照前文Web服务器中相关操作执行。需要注意的是，如果你要用一个IP地址对应多个不同的FTP服务器，则只能用使用不同的端口号的方法来实现，而不支持&#8220;主机头名&#8221;的作法。 <br>对
于已建立好的FTP服务器，在浏览器中访问将使用如&#8220;ftp://192.168.0.1&#8221;或是&#8220;ftp://192.168.0.1:22的格式&#8221;；除
了匿名访问用户（Anonymous）外，IIS中的FTP将使用Windows
2000自带的用户库（可在&#8220;开始&#8594;程序&#8594;管理工具&#8594;计算机管理&#8221;中找到&#8220;用户&#8221;一项来进行用户库的管理）。 </p>
<p>二、本部分常见问题解答 </p>
<p>Q：如何修改FTP服务器登录成功或退出时的系统提示信息？ <br>A：在相应的FTP站点上单击右键，选&#8220;属性&#8221;，再转到&#8220;消息&#8221;窗口，在&#8220;欢迎&#8221;处输入登录成功之后的欢迎信息，在&#8220;退出&#8221;处输入用户退出时的欢送信息即可。 <br>Q：为什么我的FTP服务器建立成功之后，除了管理员（Administrator）和匿名用户（Anonymous）之外，普通用户都不能在本机上登录；可在其他计算机上却能够正常使用。这是为什么？ <br>A：因为默认的，普通用户不具有在本机登录的权限。如果要修改，请进入&#8220;开始&#8594;程序&#8594;管理工具&#8594;本地安全策略&#8221;中选择&#8220;左边框架&#8594;本地策略&#8594;用户权利指派&#8221;，再在右边框架中双击&#8220;在本地登录&#8221;项，然后将所需的普通用户添加到它的列表中去就行了。 <br>第三篇 IIS之SMTP服务器 </p>
<p>如果你嫌互联网上的那些免费邮件发送邮件的速度过慢的话，你或许可以考虑用IIS来建立一个本地的SMTP服务器。不管你是直接连入互联网还是通过局域网接入，不管你是有静态的IP地址还是用动态的IP地址，都可以很轻松地建立成功！ <br>建立IIS下的SMTP服务器的方法非常简单，只需在IIS管理器中让&#8220;默认SMTP虚拟服务器&#8221;处于已启动状态就行了；此外一般不用再做其他任何设置。 <br>如果你想要用自己的SMTP服务器发信，只需将你E-mail客户端软件设置中&#8220;发送邮件服务器（SMTP）&#8221;项中填入&#8220;localhost&#8221;，则不管你的IP地址如何变化，它都能正常工作, 。 </p>
<p>当你使用自己的这个SMTP服务器发送E-mail时，不仅有不受制于人的自由感，更有闪电般的发信速度，是个人SMTP服务器的最佳选择！ </p>
</div>
<br></p>
<p><br>
<br></p><img src ="http://www.cnitblog.com/zhangyafei/aggbug/45901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhangyafei/" target="_blank">网工地带</a> 2008-06-20 12:43 <a href="http://www.cnitblog.com/zhangyafei/archive/2008/06/20/45901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>高效流媒体电影服务器的设计</title><link>http://www.cnitblog.com/zhangyafei/archive/2007/01/01/21393.html</link><dc:creator>网工地带</dc:creator><author>网工地带</author><pubDate>Mon, 01 Jan 2007 06:29:00 GMT</pubDate><guid>http://www.cnitblog.com/zhangyafei/archive/2007/01/01/21393.html</guid><wfw:comment>http://www.cnitblog.com/zhangyafei/comments/21393.html</wfw:comment><comments>http://www.cnitblog.com/zhangyafei/archive/2007/01/01/21393.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zhangyafei/comments/commentRss/21393.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zhangyafei/services/trackbacks/21393.html</trackback:ping><description><![CDATA[
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td align="left" bgcolor="#f7fbfe" colspan="2">
										<table class="shortmsg" cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td class="shortmsg_td">【导读】传统服务器的设计结构无法满足流媒体服务的要求。本文采用以数据为中心的资源管理方式，从可扩展性方面给出一种高效流媒体服务器的设计方案，实现流媒体在IP网上的传输服务。</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#f7fbfe" colspan="2" height="10"> </td>
						</tr>
						<tr>
								<td valign="top" align="left" width="98%" bgcolor="#f7fbfe" height="142">
										<span class="top11">
												<p> </p>
												<p>
														<strong>1　引言<br /><br /></strong>随着网络技术的发展，主干网与宽带网接入技术的日臻成熟，网络视频的传输成为 Internet应用的一个亮点。为了提高视频数据在网上的传输效率，并实现视频的实时播放，流媒体技术的研究与应用得到了很大发展。其中，流媒体服务器技术在流媒体的应用中发挥了关键的作用。<br /><br />传统的网络传输数据的方法是文件下载：用户需要准备大量的磁盘空间，并花大量的时间等待下载结束。但是，当数据变成海量的视频数据时，在数据处理量大，数据吞吐量高，视频播放实时性，客户连接请求数目大，连接时间长等一些情况下，传统的服务器技术已经无法高效的满足要求。面对这样的技术要求，本文从 CPU调度，资源控制内存分配，I／O总线管理这三个方面出发，综合的给出了一种高效的服务器设计方法，从而有效的提高了视频流式传输时的效率。该方法也具有很强的可扩展性，当服务器的CPU数目增加时，服务器的性能将能得到成倍的增长。<br /><br /><strong>2　流媒体服务器的设计<br /><br />2．1　流媒体服务器的功能<br /><br /></strong>流媒体在播放前不是完全下载整个文件，而是把开始部分内容存入内存，数据流是随时传送随时播放。<br /><br />流媒体服务器提供的流式传输方式有两种：顺序流式传输和实时流式传输两种方式。顺序流式传输是顺序下载，在下载文件的同时用户可观看在线媒体。实时流式传输与顺序流式传输不同，实时流式传输总是实时传送，特别适合现场事件。实时流式传输必须匹配连接带宽，这意味着图像质量会因网络速度降低而变差。<br /><br />在流式传输时，流媒体数据具有实时性，等时性等基本特点，流服务期和客户终端要保证各种媒体间的同步关系，因此，流媒体传输对“最大延时”，“延时抖动”等QoS参数都有严格要求。<br /><br /><strong>2．2　流媒体服务器协议栈的设计<br /><br /></strong>在TCP／IP参考模型中，传输层通信协议TCP和UDP都不能满足流媒体传输的QoS要求。由于TCP协议采用滑动窗口控制机制，数据传送随着流控窗口动态的启动和关闭，难以满足流媒体实时和等时的传送要求。UDP协议的无连接特点能够提高传输速率，虽然可以在某种程度上满足流媒体的实时性要求，但是由于其本身的不可靠性，也无法满足流媒体传输的需要。<br /><br />针对传输层协议的矛盾，为了实现流媒体在IP上的实时传送播放，设计流媒体服务器时需要在传输层协议（TCP／UDP）和应用层之间增加一个通信控制层。在增加的通信控制层，采用相应的实时传输协议，主要有：数据流部分的实时传输协议RTP（Real－time Transport Protocol），用于控制部分的实时传输控制协议RTCP（Real－time Transport图1　流媒体服务协议栈Streaming Protocol）。RTP协议主要是用来传送实时的流媒体信息，数据报主要包括多媒体数据，以及所携带负载的时间戳，顺序号等。RTCP协议的数据报主要包括了接收者收到某个多媒体流的服务质量信息，用于对服务器端的反馈。<br /><br />流媒体服务器的协议栈如图1所示。</p>
												<p align="center">
														<img height="309" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321090.jpg" width="451" border="0" />
												</p>
												<p>
														<br />
														<br />当服务器收到RTSP请求，它首先产生RTSP请求对象。服务器通过RTSP协议的应答信息将请求的内容以流会话（streaming session）的形式描述，内容包括数据流包含多少个流、媒体类型、和编解码格式。一个流会话由一个或多个数据流组成，如视频流和音频流等。实际的数据流通过RTP协议传递到客户端。RTP在一对一或一对多的传输情况下工作，其目的是提供时间信息和实现流同步。RTP本身并不能为顺序传送数据包提供可靠的传送机制，它依靠RTCP一起提供流量控制和拥塞控制服务。在RTP会话期间，各连接者监视下层网络的性能，并将相关信息放入RTCP包，周期性地传送 RTCP包来通知发送方。发送方也可以用RTCP包提供每次的会话信息，包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。因此，服务器可以利用这些信息动态地改变传输速率，甚至改变有效载荷类型。RTP和RTCP配合使用，因有效的反馈和最小的开销使传输效率最佳化。<br /><br />流媒体服务器的功能框图如图2所示。</p>
												<p align="center">
														<img height="280" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321091.jpg" width="464" border="0" />
												</p>
												<p>
														<br />
														<br />
														<strong>2．3　高效流媒体服务器的设计<br /><br /></strong>通过流媒体服务器的协议栈的设计，可以明确流媒体服务器是在传输层协议（TCP，UDP）上解释RTP，RTCP，RTSP协议的，所有的客户连接请求都是以TCP的端口获得的，流媒体数据也都是打成RTP包，通过UDP端口发出去的，因此，对于TCP，UDP端口事件的调度以及如何把大量的流媒体数据从磁盘空间传递到网络上成为制约流媒体服务器性能的主要因素。<br /><br />流媒体服务器面对一个单一的客户，完成的过程如下：<br /><br />1）在客户端发出RTSP连接请求后，服务器通过对TCP端口的监听，读入请求。<br /><br />2）解析请求内容，调入相应的流媒体文件。<br /><br />3）形成RTP包，分发数据流包，获得RTCP包。<br /><br />4）数据包发送完毕，关闭连接。<br /><br />上述过程如果采用传统的服务器设计方法实现，一般的办法是用一个线程不断的读入用户的连接请求，然后将这些请求分派给其它的工作线程，这些工作线程则分别循环往复的完成以下的工作：<br /><br />1）解析请求内容。<br /><br />2）发送RTP包，发送接收RTCP包<br /><br />3）判断数据发送完毕，关闭连接。服务器的结构如图3所示。</p>
												<p align="center">
														<img height="241" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321092.jpg" width="415" border="0" />
												</p>
												<p>
														<br />
														<br />操作系统在对流媒体服务器的功能实现上采用以应用进程（线程）为中心的系统资源管理方式。操作系统采用虚拟内存方式，应用程序的虚拟内存空间映射到物理内存，物理内存与CPU之间有Cache。当流媒体数据从磁盘上到网络上进行传递时，要在不同的系统空间中进行多次传递拷贝，如图4所示。</p>
												<div align="center">
														<img height="237" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321093.jpg" width="338" border="0" />
														<br />
														<br />
												</div>
												<br />
												<br />图4显示了磁盘数据到网络接口的传递路径：首先，数据对象从磁盘拷贝到内存中，然后，数据在内存中由于每个工作线程的空间不同，进行空间拷贝，即从核心空间拷贝到进程空间，接着，数据再从进程空间拷贝到核心空间，最后数据再拷贝到网络上。由于流媒体数据要经过RTP的打包处理，因此，数据在拷贝到网络上之前，还要拷贝到Cache，再从Cache中拷贝到CPU寄存器，进行打包处理。<br /><br />从图3可以看出，随着工作线程数n的增大，系统在各线程之间的切换开销将急剧增加，从操作系统的角度来看，由于每个线程都涉及对硬盘视频数据的读取，各自独立的线程越多，对硬盘读写的数据量就越大，数据在不同空间的拷贝增加，操作系统将不断的进行页面切换，服务器的性能随着客户连接数的增多，效率将急剧下降。<br /><br />为了改善上述设计的缺点，需重新设计服务器的服务程序结构。根据服务器在流媒体传输中所要完成的功能，可以看出，服务器在客户有连接请求时，解析连接请求和关闭连接请求是很短的过程，服务器的大部分时间都用于给每个客户发送RTP数据流包。发送RTP数据流包包括服务器把相应的媒体文件调入内存，打包发送，以及获得RTCP包的反馈。因此，可以设计一个单独的处理线程，专门用于给客户发送RTP的数据流包。<br /><br />改进的流媒体服务器设计如图5所示，完成主要的功能通过两个线程来实现。<br /><br />事件线程负责检测客户连接，以及客户发的RTCP包的到来。事件线程通过对TCP端口的检测，在有连接请求时建立可维护客户信息的RTSP会话，在每一个客户的RTSP会话的存活期内，事件线程不断的把向客户发送RTP包这一任务放入处理线程的队列，直到RTSP会话终止，事件线程再把关闭连接的任务放入队列。<br /><br />事件线程把对不同客户的服务（发送RTP数据包）以任务的形式放入队列后，处理线程对对列中的任务依次进行处理，也就是说，处理线程根据客户的不同，不断的把相应的流媒体文件形成RTP包，依次发出，直到视频服务的终止。<br /><br />可以看的出来，处理线程虽然对所有的客户提供服务，但是执行的任务始终是发送RTP数据流包，同时，该线程所访问的媒体文件被调入内存后，可以被同一线程的其它任务重复调用，这样的设计，不但减少了随着客户数增加而造成的系统频繁切换的资源损失，也减少了访问硬盘数据的次数，缩短了访问时间，也发挥了指令局部性效率提高的优点。设图5　改进后的处理流程计中，解析客户的连接请求也放入处理线程的队列中，在处理线程中进行处理，虽然解析连接的任务不同于大部分发送RTP包的任务，但是该任务消耗时间少，所以对对系统性能的影响并不大。 
<p align="center"><img height="201" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321094.jpg" width="446" border="0" /><br /><br /><img height="203" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321095.jpg" width="446" border="0" /></p><p><br /><br />采用图5的设计方法，服务器还可以根据客户端反馈的RTCP包得知客户端的网络状况，采取一定的策略针对不同的客户网络质量进行RTP包发送任务的调度，对于带宽质量好的客户，事件线程可以多放一些RTP包到队列中；对于由于网络质量造成的即将超时的客户连接，服务器也可以通过任务调度的方式进行特殊处理，最大限度的提供不同质量的客户连接服务。<br /><br />上述的设计是在硬件具有一个CPU的情况下，当系统硬件具有的CPU个数为n时（n＞1，事实上做为流媒体服务器的硬件需求，一个CPU是远远不能满足系统需求的），程序将采用n个处理线程来分担事件线程调度的任务，利用系统的可扩展性来提高性能。<br /><br /><strong>2．4　性能分析<br /><br /></strong>新设计的方案充分发挥了指令局部性和数据局部性的优点。处理线程在处理队列任务时，由于队列中每一个操作所作的事都一样（如不停的发RTP 包），因此每个操作的指令序列都是完全相同的；而且，当客户在连接后要求获得热点节目的媒体文件时，指令操作的数据也将非常相近，都在一个范围很小的区域内。这样，经过几次操作后，当指令被加载到Cache中，数据加载到内存中后，就不再需要从磁盘中去调，极大提高了程序的性能。<br /><br />新设计的方案可以实现流媒体数据在内存中连续存放，快速存取以及Cache预取，资源管理方式从以应用线程为中心的资源管理与分配转变为以数据为中心的资源管理与分配。<br /><br />衡量流媒体服务器的性能可以根据服务CPU的负载情况来衡量。CPU的使用情况主要和连接的客户数目，客户端的操作如读取，快进，搜索等相关。对于一个22kbps的文件集，改进的服务器设计方案与传统的服务器设计方案的性能优劣比较曲线，如图6所示。<br /><br />图6体现了随着CPU数的增加，传统设计方案的性能变化不大，改进的设计方案在多个CPU的系统里，充分利用了CPU所带的Cache的强大功能，CPU的总体负载明显下降，可以获得性能的极大提高。</p><p align="center"><img height="251" alt="" src="http://www.58un.com.cn/edu/upimg/allimg/20060718/2321096.jpg" width="419" border="0" /></p><p><br /><br /><strong>3　结束语<br /><br /></strong>本文从系统可扩展方面提出了实现高效的流媒体服务器的解决方案。除了系统可扩展方面，设计一个完善的高效流媒体服务器，还需要在实时的服务器操作系统，系统资源管理（CPU管理，内存管理，磁盘资源管理），文件管理，服务器磁盘调度方面进行高效的设计，这需要我们进一步研究和设计。</p></span>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/zhangyafei/aggbug/21393.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zhangyafei/" target="_blank">网工地带</a> 2007-01-01 14:29 <a href="http://www.cnitblog.com/zhangyafei/archive/2007/01/01/21393.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>