<?xml version="1.0" encoding="UTF-8" ?>



<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<channel>
<title><![CDATA[sihaiidc'职业博客]]> </title>
<description>
<![CDATA[]]>
</description>
<link>http://sihaiidc.blog.bokee.net/</link>
<language>zh-cn</language>
<creator>sihaiidc</creator>
<pubDate>Tue, 27 Dec 2011 10:31:38 CST </pubDate>
<generatorAgent rdf:resource="http://www.bokee.net"/>
<ttl>5</ttl>

<item>
<title>64位Web服务器安装配置需要注意事项</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11418561.html</link>
<description>
<![CDATA[<p>昨天在机房安装64位系统，带了一个250G新硬盘去。为了减少断网的时间，首先把硬盘分好区，把许多数据也拷到一个分区里。 <br />
<br />
　　我用的是windows server 2003 r2英文大客户版，外加简体中文包。总共3个碟。实际上我只刻了2个CD碟，其它的都放到一张DVD里面了。cd碟太小了。 <br />
<br />
　　安装开始和32位的几乎是一样。但是在选择硬盘和分区里，竟然不认识以前的分区，64位系统在安装的时候不认32位系统的分区。 <br />
<br />
　　其它和32位的系统几乎是一样的。安装以后是全英文的系统。再安装语言包，设置区域属性，就变成中文的了。 <br />
<br />
　　关于这个简体中文版的64位系统，好像就是这样的安装方法，没有专门的简体中文版的，好像都是英文系统+语言包的形式。微软发布64位系统的时候，也只提到了为中国用户提供了中文语言包。 <br />
<br />
　　网上基本上也是英文大客户版。 <br />
<br />
　　装完这些以后，缺省是不带iis的，需要在控制面板添加/删除程序中增加组件。 <br />
<br />
　　装好iis以后，还需要.net 2.0包，注意要装64位版本的。同时也为了能在服务器上直接调试，干脆把visual studio 2005也装上。visual studio 2005没有特别的64位版本，它在64位系统下安装时，能自动识别和安装相应的内容。下面是界面。 <br />
<br />
　　到这一步就装好了.net 2.0框架组件。在iis中需要做相关设置。 <br />
<br />
　　然后在iis中添加网站，和32位系统下完全一样。但是我昨天却出了问题，浪费我半个小时。主要是我以前用32位系统的时候保存过相关的配置文件，我用配置文件里面的配置来添加网站，这样添加的网站可能某些配置并不兼容64位，我有一个网站就是不能运行，而且显示的是找不到服务器或者dns错误，让人十分费解。所以建议手动添加网站，反正效率差不多。 <br />
<br />
　　最后安装64位的sql server 2005，安装以后，可以直接附加sql server 2005 32位下创建的数据库文件。附加的时候会出现孤立用户，可以用下面的语句把孤立用户和数据库用户做关联: <br />
<br />
　　sp_change_users_login 'update_one', 'test', 'test' 这样，就将服务器登录&ldquo;test&rdquo; 与Northwind 数据库用户&ldquo;test&rdquo;重新连接起来。 <br />
<br />
　　有了64位操作系统、64位iis 、64位.net 2.0、64位sql server 2005，这样，我们的64位web服务器就这样配置完成了。 <br />
<br />
　　至于性能到底如何，暂时无从比较，感觉快了些。有时间我会做一些测试。 <br />
<br />
　　总而言之，既然硬件配置已经达到64位，主要软件都有64位了，我们没有理由不用64位。</p>
<p>关键字：Web服务器、网站、硬件配置</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11418561.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Sat, 26 May 2012 10:23:53 CST </pubDate>
</item>

<item>
<title>重复利用数据中心里老旧服务器和集群的方法</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414346.html</link>
<description>
<![CDATA[<p>最近英特尔实验室近日推出一个重复利用数据中心里老旧服务器和集群的方法，可以通过简单的设置，将这些服务器发挥余热。</p>
<p>&nbsp;&nbsp;&nbsp; 实验室的几位研究人员提出了这个想法，并将此称之为&ldquo;砖块路由器&rdquo;，这样可以再次利用数据中心的淘汰服务器以及并不马上被利用的新服务器，充分利用这些服务器的资源，可以帮助IT部门节省不少费用。这些&ldquo;砖块路由器&rdquo;采用IA架构服务器，并且完全可编程，具有数据和控制面板，并且通过软件升级可以进行扩展，并且费用很低廉。英特尔工程师Iannaccone表示：&ldquo;编程人员利用这些他们非常熟悉的软硬件快速的建立和调试网络，并且可以减少专门的硬件费用。&rdquo;</p>
<p>保证&ldquo;砖块路由器&rdquo;可行的另一个重要因素是英特尔多核Nehalem芯片的推出，可以提供企业级&ldquo;砖块路由器&rdquo;所需的网络带宽和速率。Iannaccone表示，&ldquo;砖块路由器&rdquo;可以实现NxR的交换速度，每台服务器可以处理数据包的速率在2R~3R bps之间。现在Nehalem芯片可以做到这点，而之前的芯片达不到这样的速率。&rdquo;<br />
关键字：英特尔</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414346.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:56:35 CST </pubDate>
</item>

<item>
<title>FTP服务器架设方法详解</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414333.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p>使用Serv-U软件来架设FTP服务器</p>
<p>Step #1. 安装</p>
<p>点击安装程序, 直点 Next 就完成了. 没什么好说的.</p>
<p>Step #2. 第一次运行</p>
<p>安装完成后, 服务器的Service会启动, 管理工具会自动运行, 你看到的, 是要你配置好它的 Setup Wizard... 唔... 基本上 Next 下去就是了, 下面几个可能你会有兴趣:</p>
<p>Domain name: 域的名字</p>
<p>Allow anonymous access: 要让匿名登录吗? (选 No 可以跳过这部分)</p>
<p>Annoymous home directory: 匿名登录后, 用户会看到的目录</p>
<p>Lock annoymous users into their home directory: 选Yes, 不要让他们乱跑</p>
<p>Create named account: 要建立有非匿名用户吗?</p>
<p>输入用户名, 密码. (大约和上面过程一样)</p>
<p>Account admin priviledge: 这个用户有远程管理 Serv-U 3 的权限吗?</p>
<p>呵呵. 通常选 No priviledge 吧.</p>
<p>Step #3. 认识 Serv-U 3 管理工具的的界面</p>
<p>左边的树状结构是 Serv-U 3 的结构层次:</p>
<p>1. Serv-U Server 下面是管理工具在管理的 FTP,</p>
<p>其中&lt;&gt;就是你机上那个服务器了.</p>
<p>2. 在每个服务器中...</p>
<p>License: 给你填注册码</p>
<p>Settings: 服务器总配置</p>
<p>Activity: 给你监测本服务器的运作情况</p>
<p>Domains: 下面的各个 Domain, 是以你的机器拥有的不同IP开的服务器,</p>
<p>按刚才&quot;第一次运行&quot;来做, 你现在会有一个 Domain 了.</p>
<p>Step #4: 整体配置</p>
<p>在&lt;&gt;的Settings:</p>
<p>General: 总体限制, 参数设置</p>
<p>Max. Speed- 总体限速, 不设的话, 极速可达约 1MBytes/S.</p>
<p>Max no. of users - 同时的连接数目不要太多, 很伤硬盘的, 建议不超过20</p>
<p>Check Anonymous password - 匿名登陆密码检查, 不要选, 否则 IE 不能进入.</p>
<p>Block Anti Time-out schemes</p>
<p>Block &quot;FTP_bounce&quot;...</p>
<p>主要是把些无聊人赶掉, 都选吧, 细节看 Help</p>
<p>Block users who connect...</p>
<p>随意, 用于&quot;罚&quot;一下用多线程下载的用户.</p>
<p>其余选项看 Help 吧.</p>
<p>Dir Cache: 目录缓存</p>
<p>用户较多时, 可以明显加快用户浏览的速度, 把它打开, 用默认的 Max.Size 25, Time-out 600 sec. 差不多了.</p>
<p>Auto-Refresh 选取后你会看到在缓存中有哪些目录</p>
<p>Advanced:</p>
<p>Server:</p>
<p>Enable security - 安全设置生效</p>
<p>一定要选上! 否则你会死得很难看. KAKAKA</p>
<p>Sockets:</p>
<p>Inline out-of-band data</p>
<p>选取后听说可以防止 DoS 攻击, 但默认没选, 你自己决定吧.</p>
<p>如何配置用户：</p>
<p>Step #1: 域 (Domain) 配置</p>
<p>在 Domains 下选取你的域吧!</p>
<p>Name: 域的名字</p>
<p>Domain IP address: 为简单起见, &quot;Use any available IP address&quot; 算了吧.</p>
<p>Domain type:</p>
<p>Store in .INI file 比较好, 它把你的服务器的设置都放到 ServUDaemon.ini , 重装系统后把这文件放上去就行了.</p>
<p>FTP port number:</p>
<p>通常是 21</p>
<p>Settings:</p>
<p>General:</p>
<p>Max no. of users - 同时的连接数目和上一个差不多, 不过是在域里限制</p>
<p>Virtual path mapping - 请看 VPM 篇</p>
<p>Links - 同上</p>
<p>Messages:</p>
<p>很好玩的, 可以把别人登录看到的信息都改掉.</p>
<p>Logging:</p>
<p>就是 log 啊. 不懂? 看 help!</p>
<p>Step #2: 用户帐号</p>
<p>在 Domains 下...</p>
<p>Users... 右击出现新增/移除用户选单.</p>
<p>点选任一用户后, 各项用户参数意义:</p>
<p>Account:</p>
<p>Disable account: 暂时令它失效</p>
<p>Automatically remove account on date: 到了某日期就删掉该用户! (爽!)</p>
<p>User name: 不用多说吧?</p>
<p>Password: 留空不填代表不用密码</p>
<p>Home directory: 这用户登录时看到的第 1 个目录</p>
<p>Lock user in home directory:</p>
<p>最如想在用这帐号登陆后, 看到的根目录是所设的 Home Directory, 就选吧. (建议选取, 否则地址会比较难看)</p>
<p>Priviledge: 这用户远程管理 Serv-U 服务器的权限, 具体看 HELP</p>
<p>General:</p>
<p>Allow only N login(s) from same IP address</p>
<p>限制同一 IP 用这帐号的连接数, 选了它吧!</p>
<p>如果考虑到用 IE 的用户, 最好设两个连接,</p>
<p>否则对方可能不能下载, 如果狠心点, 设 1 个也没关系!</p>
<p>Max upload Speed.</p>
<p>用这帐号, 每一个连接上传文件的极速.</p>
<p>Max download Speed</p>
<p>用这帐号, 每一个连接下载的极速.</p>
<p>Idle time-out</p>
<p>发呆多久才 kick 他出去, 个人认为 5 分钟都够了.</p>
<p>Sesson time-out</p>
<p>无论他有没有发呆, 上来一段时间后就把他 KICK 走, 即使他在下载什么东东也照踢不误, 并且在 1 分钟内不让他再上来. 这样在很忙下载站点中可能有用, 可以让多点人有机会访问, 不过确是有点讨厌. 呵呵</p>
<p>Max. no. of users</p>
<p>这帐号同时允许的总连接数目.</p>
<p>其余的比较少用, 看 HELP 吧.</p>
<p>Dir Access:</p>
<p>这里设置这用户对你硬盘中, 实际路径的读写权限, 关键哦!</p>
<p>无论是 HOME 目录好, 映射目录也罢. 要让用户用得到, 也要在这里加具体意义在界面上也很明确吧. 不多说了, 但别忘了.</p>
<p>(记得把 HOME 目录在这里加多一次, files-[read], directories- 这样人家看能看到, 下载到你的东东....)</p>
<p>Step #3: 群组帐号</p>
<p>在 Domains 下...</p>
<p>Groups... 右击出现新增/移除用户选单.</p>
<p>看上去很简单是不是? 对了. 把一个 Group 设置了一点参数, 在任一用户 - Account - Group(s) 中把他加进去, 他就拥有那个参数的权限.</p>
<p>有什么用? 你自己想想吧.</p>
<p>哈哈... 基本上我们都搞好了, 但是重头戏 Virtual path mappings 还没出场,</p>
<p>Virtal path mappings：</p>
<p>究竟是什么原因呢? 这是因为很多老鸟都对上面几篇一屑不顾, 但却往往死在 VPM 手上, 但是死在 VPM 的石榴裙下也甘心了. 呵呵....</p>
<p>在 Domains 下...</p>
<p>Settings:</p>
<p>General:</p>
<p>Virtual path mappings:</p>
<p>Step #1: 虚拟路径映射的概念:</p>
<p>1. Physical path: 目录的实际路径</p>
<p>可以是任何Windows分区上任何东东, 甚至网络邻居里的也可以</p>
<p>2. Mapped to: 映射到... (这个目录必须实际存在)</p>
<p>你想把它&quot;变到&quot;你硬盘里的那个目录呢?</p>
<p>你可以用到两个变量:</p>
<p>%HOME% : 即&quot;Home directory&quot;</p>
<p>%USER% : 用户名</p>
<p>3. mapped path name:</p>
<p>这个虚拟目录在显示出来的名字</p>
<p>4. 记得要在各用户的 Dir access 中设置它对实际路径的权限哦!!!!</p>
<p>Step #2: 举例:</p>
<p>1. 你想把 f:\movie\ 映射到匿名登录后看到的 \MyMovie 目录:</p>
<p>Physical path: f:\movie\</p>
<p>Mapped to: %HOME%</p>
<p>mapped path name: MyMovie</p>
<p>在 anonymous 帐号对 f:\movie\ 设 file - read, dir - list 权限</p>
<p>2. 你想把 g:\mp3\ 映射到 alex 登录后看到的 \Audio\MySongs 目录:</p>
<p>Physical path: g:\mp3\</p>
<p>Mapped to: %HOME%\Audio</p>
<p>mapped path name: MySongs</p>
<p>在 alex 帐号对 g:\mp3\ 设 file - read, dir - list 权限</p>
<p>如何封用户：</p>
<p>Step #1. 按 IP 封</p>
<p>在 Serv-U 中, IP Access 很多地方都有出现, 这就是限制 IP 访问的地方了.</p>
<p>Domain- Settings 里有; 各用户- Settings 里有; 各群组- Settings 里也有.</p>
<p>IP access:</p>
<p>如果要限制 IP, 就在这里设置. 限制是由上到下执行检查的.</p>
<p>这里给出一些例子: (!注意次序!)</p>
<p>1. 只对某几个 IP 开放帐号:</p>
<p>A: 202.38.241.8</p>
<p>A: 202.38.249.2</p>
<p>A: 202.38.248.3</p>
<p>D: *</p>
<p>意思是, 对 202.38.241.8 , 202.38.249.2 , 202.38.248.3</p>
<p>开放, 其余都不准进入</p>
<p>2. 只对一个网段开放:</p>
<p>A: 202.38.241.*</p>
<p>D: *</p>
<p>意思是, 只对 202.38.241.* 开放, 其馀拒绝</p>
<p>3. 只拒绝部分IP</p>
<p>D: 123.166.*.*</p>
<p>D: 202.38.234.56</p>
<p>A: *</p>
<p>拒绝 123.166.*.* 的B类网段, 及 202.38.234.56 访问,</p>
<p>其余都欢迎</p>
<p>看了三个例子, 大家都志该知道 IP 限制如何设置吧, 要注意的一点是, 最后一个限制项目, 最好要设成</p>
<p>A: * (其馀都允许进入) 或</p>
<p>D: * (其馀都不准进入)</p>
<p>否则, 可能会得不到预期中的限制的效果.</p>
<p>Step #2. 看不爽封</p>
<p>如果有个人连了上来, 你看他不爽想封掉他.</p>
<p>在 &lt;&gt; - Activity 或</p>
<p>你的Domain - Activity 会看到他,</p>
<p>右击, KILL USER .............</p>
<p>他在你FTP的命运就在你手中了.</p>
<p>对IP Access的补充。。。</p>
<p>Step ## &quot;-&quot;连字符的用法(昨晚试了偶半小时。。:&lt; )</p>
<p>补充：</p>
<p>用来简洁地表示不属于整段类地址的一段IP</p>
<p>它可以任意在A、B、C、D类地址中使用</p>
<p>这可是个很好用的地方</p>
<p>比如我只对教育网地址202.112.*-202.120.*开放anonymous帐号</p>
<p>在warftpd/g6中 br&gt;你就要老老实实地在user-&gt;anonymous-&gt;ip access &quot;allow&quot;项中逐步加上</p>
<p>202.112.*(.*)</p>
<p>202.113.*(.*)</p>
<p>......... r&gt;202.120.*(.*)</p>
<p>而在ServU3.0中</p>
<p>你可以直接写成：</p>
<p>202.112-120.*</p>
<p>就这么简单!</p>
<p>关于Message的一些动态的参数:</p>
<p>%Time - 目前的时间</p>
<p>%Date - 目前的日期</p>
<p>%UNow - 目前的联机人数</p>
<p>%UAll - 从激活到目前为止的联机人次</p>
<p>%U24h - 在过去 24 小时内的联机人次</p>
<p>%MaxUsers - 总联机人数上限</p>
<p>%MaxAnonymous - 匿名联机人数上限 (Anonymous FTP)</p>
<p>%Name - 帐号名称</p>
<p>%IP - 对方主机名称/地址 (Hostname/IP)</p>
<p>%DIR - 目前的目录</p>
<p>%Disk - 目前的磁盘驱动器名 ( C: D: E: .....)</p>
<p>%DFree - 磁盘剩余空间</p>
<p>%Fup - 上传档案个数</p>
<p>%Fdown - 下传档案个数</p>
<p>%Ftot - 总传档数</p>
<p>%Bup - 上传位数</p>
<p>%Bdown - 下传位数</p>
<p>%Btot - 总传输位数</p>
<p>%Tconm - 联机时间数 (以分为单位)</p>
<p>%Tcons - 联机时间数 (以秒为单位, 与 %tconm 配合使用)</p>
<p>关键字：FTP服务器</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414333.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:56:02 CST </pubDate>
</item>

<item>
<title>服务器机房维护管理</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414290.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p><strong>(一)软件维护篇</strong></p>
<p>一、系统修复</p>
<p>使用&ldquo;系统文件检查器&rdquo;恢复系统如学生机出现系统损坏(仍能运行)，可运行&ldquo;程序&rarr;附件&rarr;系统工具&rarr;系统信息&rdquo;，在&ldquo;系统信息&rdquo;窗口中打开&ldquo;工具&rdquo;菜单，运行其中的&ldquo;系统文件检查器&rdquo;，通过该检查器来扫描系统文件，如扫描到损坏文件，会提醒用户&ldquo;从软盘提取一个文件&rdquo;，此时通过[浏览]从局域网的其他学生机的WindowSystem 文件夹中找到该文件，然后覆盖原有文件即可。有时在启动Windows 98时，会直接看到某某VXD或DLL文件损坏的提示，此时可直接通过局域网或软盘拷贝文件覆盖已损坏的原文件。</p>
<p>通过修复注册表修复系统注册表是Window 9x系统的灵魂，系统使用时间一长，尤其是反复装卸应用软件，注册表会越来越庞大，而且容易损坏。一旦注册表损坏，就会影响系统的运行。</p>
<p>注册表损坏时，在标准模式下启动系统，会提示你&ldquo;在造访注册表时遇到错误，系统将重新启动并修复注册表&rdquo;(当然其中也可能是由内存条兼容问题、CPU超频等引起的，我们将在&ldquo;硬件维护篇&rdquo;中分析)，重启系统后，可先进安全模式运行，然后运行注册表程序，打开注册表菜单，通过&ldquo;引入注册表文件&rdquo;将上次&ldquo;导出&rdquo;的成功启动时的注册表文件引入，然后重启即可。</p>
<p>也可在WindowsSysbckup文件夹中找到Rboo4.cab，单击右键，通过WinZip软件解压到Windows文件夹中，然后重启。</p>
<p>当然也可以在DOS下运行Scanreg?/FONT&gt;View Backup?/FONT&gt;Restore恢复。</p>
<p>还可以通过其他注册表管理软件来备份及恢复，此类注册表恢复软件网上较多，但此类软件的使用一定要谨慎，最好选用有关电脑报刊上推荐介绍的，以保证注册表的安全。</p>
<p>二、系统重装、恢复和保护</p>
<p>采用Ghost克隆分区先将学生机硬盘分三个区，在C盘装Windows 98系统、D盘存储学生文档、E盘存放Ghost镜像文件和重要备份。利用Ghost软件，将装有Windows 98系统的C盘整个克隆成一个文件。具体步骤如下：</p>
<p>(1)准备：设置好Win98后删除不必要的垃圾文件。如删除C：windowstemp*.*、C：windows Temporary Internet Files*.*、C：windows win386.swp等(这个要在DOS下删)、清空&ldquo;回收站&rdquo;，使C盘处于最优状态，减小镜像文件的大小和压缩释放时间。在D盘上建立一个&ldquo;我的文档&rdquo;目录，将桌面上的&ldquo;我的文档&rdquo;指向D盘上的&ldquo;我的文档&rdquo;目录，避免因为Ghost恢复覆盖C盘而造成&ldquo;我的文档&rdquo;中资料丢失。</p>
<p>(2)在DOS下运行Ghost在Ghost软件中选择菜单&ldquo;Local&rarr;Partition&rarr;to Image&rarr;Select souse partition&rdquo;，然后选择装有Windows 98系统的C盘，将其克隆成一个文件，如Win98.gho，放在E盘根目录下，将其设为&ldquo;只读&rdquo;属性，用Pqmagic将E盘隐藏。</p>
<p>(3)制作一张Win98启动盘，将Pqmagic拷入。一旦C盘系统彻底崩溃，无法运行，可用软盘引导，用Pqmagic撤消对E盘的隐藏。再运行Ghost软件将Win98.gho文件释放。方法如下：选择&ldquo;Local&rarr;Partition&rarr;from Image&rarr;file name to load image from&rdquo;，然后选取Win98.gho，将其释放到C盘，最后重新启动计算机即可。整个恢复过程只需几分钟，而且无须再装任何驱动程序。</p>
<p>通过硬盘安装来重装系统先建立Windows 98脚本文件，运行Windows 98光盘中Tools Reskit Batchbatch.exe文件，选择&ldquo;现在收集&rarr;保存设置到INF&rdquo;，如文件名取Msbatch.inf。然后在每个学生机的硬盘上建立一个文件夹，如Windows 98，通过局域网将Windows 98光盘上Windows 98文件夹中的所有压缩文件拷贝到该文件夹中(要花费150MB左右的硬盘空间)，一旦系统彻底崩溃，可直接运行该文件夹中的Setup Msbatch.inf。这种方法虽然要花费较多时间，但比从光盘安装要方便快捷得多。</p>
<p>用注册表修改法保护系统(1)禁用&ldquo;网络&rdquo;控制面板</p>
<p>HKEY_USERSDEFAULTSoftwareMicrosoftWindowsCurrentVersionNetworkSystem下，在右边的窗口中新建DWORD值&ldquo;NoNetSetup&rdquo;，并设其值为&ldquo;1&rdquo;，就可以把&ldquo;网络&rdquo;的控制面板禁用掉。网络的属性就 可以保证安全了。</p>
<p>(2)禁止修改显示属性</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem在右边的窗口中创建一个DWORD值：&ldquo;NoDispCPL&rdquo;，并将其值设为&ldquo;1&rdquo;。这样可以保证桌面墙纸不会被学生修改。</p>
<p>(3)隐藏我的电脑中的驱动器</p>
<p>隐藏所有驱动器：</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在右边的窗口中创建一个DWORD值：&ldquo;NoDrives&rdquo;，并将其值设为&ldquo;FFFFFFFF&rdquo;;</p>
<p>隐藏E盘：</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在右边的窗口中创建一个DWORD值：&ldquo;NoDrives&rdquo;，并将其值设为&ldquo;10&rdquo;;</p>
<p>隐藏D盘：</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在右边的窗口中创建一个DWORD值：&ldquo;NoDrives&rdquo;，并将其值设为&ldquo;8&rdquo;;</p>
<p>隐藏C盘 ：</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer</p>
<p>在右边的窗口中创建一个DWORD值：&ldquo;NoDrives&rdquo;，并将其值设为&ldquo;4&rdquo;;</p>
<p>隐藏A盘 ：</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在右边的窗口中创建一个DWORD值：&ldquo;NoDrives&rdquo;，并将其值设为&ldquo;1&rdquo;。通过这些设置，可以对一些驱动器进行必要的隐藏，防止数据受到破坏。</p>
<p>(4)退出不保存设置</p>
<p>HKEY_USERSDEFAULTSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer把二进制值&ldquo;NoSaveSettings&rdquo;改为&ldquo;01 00 00 00&rdquo;。可以避免学生的胡乱修改对系统造成的不良影响。</p>
<p>(5)禁用MS-DOS方式</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在该分支下新建主键&ldquo;WinOlaApp&quot;，然后点击该主键，在右边的窗口中创建一个DWORD值&rdquo;Disabled&quot;,并设其值为&ldquo;1&rdquo;。</p>
<p>(6)禁止&ldquo;重新启动计算机切换到MS-DOS方式&rdquo;</p>
<p>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在右边的窗口中创建一个DWORD值&ldquo;NoRealMode&rdquo;，并设其值为&ldquo;1&rdquo;。以上两项设置禁止DOS操作，避免学生在DOS下饶过注册表对系统进行破坏。</p>
<p>(7)禁止使用注册表编辑文件regedit.exe</p>
<p>HKEY_USERS.DEFAULTSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem在右边的窗口中创建一个DOWRD值：&quot;DisableRegistryTools&quot;，并将其值设为&ldquo;1&rdquo;。这样，regedit.exe就不能用了，防止学生修改注册表。当我们禁止使用注册表文件后，想恢复不是一件难事，禁用regedit.exe前先导出注册表为bak.reg，在禁用regedit.exe后要再使用的时候只要运行bak.reg把注册表信息添加到注册表，重新启动后即可使regedit.exe。</p>
<p>装数据保护卡(硬件)</p>
<p>虽然这是硬件，但目的是维护软件系统，所以也在这里提到了。装数据保护卡。采用硬件方式，虽然要投资一小笔买卡的钱(现在市场上的PCI卡从几十元到一百多元)，但是安装后能起到相当好的保护作用。能够自动存储CMOS资料、硬盘各分区资料、并能定制恢复那些资料，以及恢复方式，如每次重启就恢复、每天恢复、手动恢复等。这种方法实现了机房半自动的维护，管理员只需要维护一些特殊问题和硬件问题，有效减轻了管理员的负担。</p>
<p>当然，在平时的管理中，对注册表与重要文件的备份是必不可少的。因为不管使用</p>
<p>哪一种方法重装系统，原有的所有文件都将被覆盖，包括克隆分区后装的各种应用软件及一些重要的文档文件。</p>
<p><strong>(二)硬件维护篇</strong></p>
<p>硬件故障排除1、电脑无法正常启动的故障</p>
<p>(1)、黑屏现象</p>
<p>开机后出现&ldquo;黑屏&rdquo;现象是很常见的问题之一。在开机后突然出现&ldquo;黑屏&rdquo;的时候，请您注意听一下电脑中的PC喇叭是否有报警声音。如果PC喇叭发出报警声音，根据声音的长短便可以初步判定出现问题的硬件部位。比方说，如果电脑开机时PC喇叭报警声为一长四短，那么根据这个提示就可以很容易地判断出问题就发生在显示卡上。如果是这样，用户可以打开机箱，看一看自己的显示卡是否插牢。如果感觉有些松动，请将显示卡拔出来再重新插入、插紧，然后用螺丝固定。如果排除了插法的问题，插入卡槽也比较牢固，可以把显示卡拔出来再换主板上的另一插槽试试。如果用户的显示卡不属于PCI而是新式的AGP插槽板，而电脑主板上又只有一条AGP插槽，可以再另找一块主板的AGP插槽试一试，排除显示卡物理方面的故障。如果显示卡插的也比较紧，而且也排除了物理方面的故障，还有一种可能就是显示卡本身的&ldquo;金手指&rdquo;在正常接触方面存在问题。如果是这种情况，可以把显示卡重新拔出，然后找一块干净的橡皮在&ldquo;金手指&rdquo;上来回擦一擦，因为这种&ldquo;金手指&rdquo;方面的接触不良问题大多是由于其上沾了一些脏东西而导致。</p>
<p>如果电脑开机时PC喇叭报警声不是一长四短，而是一阵急促的短叫，现在也是黑屏，那么根据现象可以大致判断您电脑的内存在接触方面有问题。接触不良的解决办法与显示卡基本一样，就是把它们拔出来然后再重新插入，注意插的时候一定要一插到底，并将内存槽两侧的卡子卡牢。一些主板上的SDRAM插槽比较麻烦，因为这些主板上的插槽制作的大都很紧，用户如果遇到这种情况千万不能使强用狠，可以用手指托着主板SDRAM插槽的下方，然后再用拇指用力把内存压下去，听到一声微响后证明内存已经探底，最后用卡子固定内存就可以了。</p>
<p>还有一些黑屏现象电脑不会报警，这时最简单的就是要根据数学上的&ldquo;排它法&rdquo;来具体问题具体分析了。先检查电源接线板是否有问题，将电脑的有关配套部件拆下，换上另外的一些能够使用的设备来检查一下电源接线板是否正常工作。如果电源接线板没有故障，然后按正常的程序检查计算机电源与主板之间的连接是否正常，也就是说检查一下主板供电是否正常。如果插口没有连接错就应该检查电源是否烧了，如果电源烧了电源风扇也会停转。一些早期的电脑机箱电源常常会出现供点不足的情况，如果怀疑是属于这种问题，请用户把所有的硬盘、光驱、软驱的电源线都拔出，然后重新启动计算机，耗电率大幅降低后，看此情况是否得到解决。如果问题仍然不能解决，请排除主板BIOS被CIH等</p>
<p>病毒意外损坏、主板是否有焊头接触不良或短路。</p>
<p>(2)、蓝屏现象</p>
<p>与黑屏不同，蓝屏现象大多是进入了WINDOWS95/98系统之后出现的硬/软性故障。如果发现在机器安装操作系统等软件的过程中总出现莫名其妙的问题，但也并没有出现黑屏死机的情况，而是经常在操作过程中跳出一个蓝色屏幕的错误提示：***模块错误。如果反复遇到这种情况，那么可以断定多半是您内存和硬盘出了问题。我们就曾经遇到过这样的情况，WIN98在PII450/64M内存的机器上装了近一个小时，且在安装过程中经常出现莫名其妙的&ldquo;跳回&rdquo;现象;在安装OFFICE97的时候，尽管给了系统可识别的密钥盘，但仍然频报蓝屏的&ldquo;非法操作页&rdquo;错误。以上两种情况在我们更换了内存和硬盘后都迎刃而解。</p>
<p>2、硬件冲突方面的故障</p>
<p>安装了WIN95/98的计算机经常会碰到各种各样的硬件冲突问题，这些是在WIN95/98操作系统中最常见也最突出的问题。</p>
<p>如果遇到这种情况，用户进入控制面板-&gt;系统，从中可以发现硬件列表中有叹号或者问号的出现，在出现以上情况的硬件系统中会提示用户该硬件不能使用，而这类问题最基本的解决方法就是安装该类硬件比较新的驱动程序。如果用种方式重新安装系统后问题仍然存在，那么把该类硬件在可选列表中自行删除，然后重新启动计算机，进入系统后系统会自动进行搜索，然后要求用户标明驱动程序的安装路径，键入新驱动程序的路径后系统便进行以后的工作，这样操作可以解决六成的硬件问题。全部操作完毕后问题依然，这时可以进入系统，具体查看一下该硬件属性中的设备，在里面系统会标出硬件问题是在那个中断口与哪一个硬件发生冲突。此时建议用户关闭计算机，拆除该硬件，然后进行手动跳线。声卡、MODEN、网卡、SCSI卡都可以靠该类方法解决一些问题。如果此时显示卡和PCI声卡还不能以手动方式解决问题，请安装主板驱动程序。对BIOS进行升级，BIOS经过升级后便可以支持系统识别主板的PCI控制器、硬盘控制器和主板总线控制器，如此一来，系统和各种硬件之间的问题就都解决了。另外，有一些系统对型号比较旧的硬件也是无法识别的。例如早期的IDE卡在现在的主板上不能使用一样，遇到这种情况也就别勉强地安装硬件驱动程序了，建议购买一些新的硬件为好。</p>
<p>3、硬件无法正常工作的故障</p>
<p>硬件要正常工作需要驱动程序的支持，驱动程序的好与坏影响着硬件的工作，就像固化在810等主板上的显示卡、声卡，如果没有随主板附配的驱动程序，显示与发声的问题便无法妥善解决。这种由于驱动程序的原因而导致硬件无法正常工作的问题，几乎所有的硬件产品都有涉及，也是值得所有用户都关注的。</p>
<p>除了硬件驱动方面的原因，地址的更换也是导致硬件无法正常工作的一大主要原因。举个例子，一台原先的电脑已经安装了一块SCSI卡，电脑的各种硬件也始终能够正常工作。但后来由于种种原因，用户需要把SCSI卡拆除，这时一些硬件由于变换了插槽，系统启动后会报错，而且由于中断口分配不当而硬件不能使用。这种情况是因为拆除了SCSI</p>
<p>卡和硬件更换了插槽，系统分配的中断口已经变动，而系统列表中仍然还存在着SCSI卡，他占用了其他硬件正确的中断口，只要在系统列表中把该SCSI卡删除就能解决问题。同样，硬件变动了插槽或者已经拆除就得在系统列表中重新设置硬件资源或者删除已经拆除的硬件资源。</p>
<p>4、程序运行时出现的故障</p>
<p>程序在运行中报错的情况应该是在我们使用电脑的过程中出现最多的问题了。这里我们介绍的仅仅是由于硬件问题而引发的程序运行故障。该类问题经常会发生在一些3D加速显示卡、PCI声卡上，而这类问题最多、最明显的表现方式也就是在大型软件运行过程中频频死机。分析造成这一问题的原因，主要是由于软件没有很好的兼容性，因此软件本身在硬件的支持度上做的不尽理想，也影响了产品性能的发挥。再如PCI声卡在绝大多数DOS平台的应用程序运行中都可能会突然&ldquo;爆音&rdquo;或&ldquo;悄无声息&rdquo;这种问题有时我们可以通过安装新的驱动程序来加以解决，有时也可以通过随产品附送的设备(如PCI声卡与ISA声卡的转换线)加以解决。</p>
<p>另外还有的计算机在进入WIN95/98后会突然报出&ldquo;注册表出错，请重新启动计算机&hellip;&hellip;&rdquo;等莫名其妙字样的句子。根据这种提示，此类问题的造成原因主要是由于主板上的CACHE或者内存在作怪。解决这种问题的办法就是需要进入到主板的BIOS设置里面，然后将主板上的CACHE关掉、避免混用不同内存等。</p>
<p>5、网络应用中出现的故障</p>
<p>在机房的局域网使用中，最常见的应该是计算机不能连入网络了。排除软件设置上的原因(TCP/IP已经正确设置)，最常见的就是水晶头坏掉了。我们只要重新做一个水晶头这个问题就解决了。水晶头的做法视情况主要有以下三种：</p>
<p>一一对应接法。即双绞线的两头连线要一一对应，这一头的一脚，一定要连着另一头的一脚。这种网线一般是用在交换机或HUB与计算机之间。</p>
<p>1-3、2-6交叉接法。即网线一头的第一脚连另一头的第三脚，网线一头的第二脚 连另一头的第六脚，其他脚一一对应。这种网线一般用在交换机或HUB的级连。</p>
<p>100M接法。所谓100M接法，是指它能满足100M带宽的通讯速率。它的接法虽然也是一一对应，但每一脚的颜色是固定的，具体是：第一脚&mdash;&mdash;黄白、第二脚&mdash;&mdash;黄色、第三脚&mdash;&mdash;绿白、第四脚&mdash;&mdash;蓝色、第五脚&mdash;&mdash;蓝白、第六脚&mdash;&mdash;绿色、第七脚&mdash;&mdash;褐白、第八脚&mdash;&mdash;褐色。</p>
<p>老机房升级和建设新机房大部分学校是在1993年至1998年间建设的学生用机房，一般采用从286到Pentium(P55C)档次的微机作为学生用机。这种配置的微机分别能够运行DOS、Win 3.X、Win 95/98下各种基本的应用程序，但随着Win 95/98操作系统及该环境下应用软件的广泛使用，原有的硬件设备已经不能满足教学需要(如3DMAX、COOL3D等即使是PentiumMMX运行也可能成问题)。学校可根据原有设备和改造资金状况，结合目前计算机配件市场行情采用升级更新方案。</p>
<p>486以下微机处理方案对于486以下机型来说，由于主板采用SOCKER5、SOCKER3等架构，采用72线以下的内存，并且基本上采用ISA总线，不可能采用局部升级改造的办法(市场上已经没有这种架构的CPU、板卡和内存了)。</p>
<p>486以下微机包括早期CPU为8088(8086)、80286、80386，80486SX、80486DX等主频在100MHz以下的计算机。这类微机升级牵涉到升级主板、CPU、内存、板卡等，基本上属于全面升级，其升级成本和整体新购成本接近，可考虑保留原有机房不动，供学生基本训练(如基本指法练习、文字录入练习、DOS命令、DOS下各种语言)使用。</p>
<p>Pentium级微升级优化方案Pentium级微机CPU主频在75MHz～233MHz之间，一般配有一个1GB的硬盘、16MB内存、1MB显存的PCI显示卡。这类微机已经能够很好地运行Win 95及应用程序(如Office、VB等软件)，不需要改造就能满足一般学校计算机课基础教育和专业教育的需要。对于运行WIN98和一些软件由于内存太小导致无法运行，或者内存与硬盘频繁交换数据而引起速度变慢等情况，只需对原有设备内存进行扩充达到32MB、即可使这些程序运行并加快运行速度。计算机职业技术教育中用到的图形处理软件、动画视频软件等，不仅仅是对内存提出了教高要求，也对显卡和CPU提出了一定的要求，CPU主频太低、显卡显存太小将导致这些软件不能运行或者运行速度极慢，对于这样的情况，就需要升级显卡和CPU。</p>
<p>升级内存Pentium级主板支持采用Socket7的架构，采用PCI总线和ISA总线，采用的内存BANK有两种：72线和168线。72线内存条必须成对使用，168线可成单使用，而且一般情况下两种内存不能混用。添加内存时应根据主板上提供的内存插座类型选择相应的内存条，由于考虑到目前已经没有72线的内存，所以只能购买168线的SDRAM内存。购买时要注意主板支持的频率，比如主板最高支持100MHZ，买了133MHZ的内存也能用，但实际上是用133MHZ内存的价格买100MHZ内存的价格。由于72线内存和168线内存不能混用，那么升级后淘汰的72线内存条怎么办?很简单，升级的时候可以只升半个机房，比如共有40台机器，可以买20根168线32MB内存安装到20台上，把这20台上的老的72线内存安装到另外的20台上，就完成了整个机房的内存升级并且不淘汰任何设备。</p>
<p>升级显卡和CPU由于Socket7的架构采用PCI总线和ISA总线，没有AGP总线，所以一般来说只能采用增加显存的方法来升级显卡，可以把显存升为4MB。对于CPU来说，Socket7的架构主板，可以采用跟PII级别的K-6系列的CPU。这样的方案是最经济的，价格在200元之内。升级后基本上能满足教学要求。当然，如果要更好的升级，就只能更换主板，最实惠的方法是升级为SOCKER370架构的810主板，这种主板是集成显卡和声卡的，非常经济实惠，而且SOCKER370架构支持赛扬(Celeron)CPU，升级后整个计算机的性能将得到极大的提升。这种升级方法价格稍高，在800元左右。</p>
<p>建设新机房重新建立一个操作机房，选配能满足教学需要、性能价格比较好的微机设备，供有一定基础和职业技术专业学生操作使用。一般可采用组装和购买品牌机两种方案，组装机有价格低廉、性价比高等优点，但是缺乏技术支持，对于一些学校，没有一位精通软、硬件的机房管理员的情况下，采用这种方案虽然省钱，但也意味以后机房管理麻烦不断。这种方案下采用配件如下：采用810主板、CPU采用赛扬667、内存为128MB、硬盘为10GB、15英寸彩显，配上软驱、键盘、鼠标器、机箱电源等，单机价格为2800元左右。条件好一些的单位也可以考虑CPU为赛扬667的品牌机，这种</p>
<p>方案下购买的计算机拥有良好的技术支持，而且很多商用品牌机采用硬盘保护技术，对于维护来讲非常方便。如联想的启天1000商用电脑，采用赛扬667CPU，810主板，128MB内存、20GB硬盘、10MB/100MB网卡(带有硬盘保护技术)、15寸显示器，价格为4000左右元。网络方面可以购买24口的100MBHUB，组建WIN98对等网。为了适应图形界面软件的教学，应该为教师演示微机添加一台投影仪，由于投影仪价格昂贵(每台2万至5万之间)、购买和使用成本都比较高，如果资金紧张，可采用视频信号分配器进行过渡来代替投影仪。目前，市场上显示器信号分配器以一带八的居多，每台售价为200元左右，配用电源和信号线为200元。这样，用一台计算机演示可通过视频分配器使多台显示器同步显示，供学生观看。如果是由30台微机组成的机房每两人观看一台，可同时满足近60人观看演示，只需四台视频分配器(800元)可达到目的。或者采用一些电子教室类的软件，价格为几千元，能实现网络监控、演示、网络广播等很多功能。</p>
<p><strong>(三)日常管理篇</strong></p>
<p>一、制订规章制度</p>
<p>每个机房成立伊始，都要制订周密详细的制度，如&ldquo;不准将软盘私自带进机房使用&rdquo;、&ldquo;不准私自修改计算机设置&rdquo;、&ldquo;每个班学生按照学号固定座位&rdquo;、&ldquo;上机课前、课后机房管理员检查设备&rdquo;等等，教师上课认真负责，课间积极辅导，课后认真检查，每堂课上发现问题及时向机房管理员报告并当场解决，做到每堂上机课相关教师对当堂上机课情况负责，每堂上机课相关学生对本座位的计算机负责，这一教学常规已在我校计算机教师和学生中达成共识，出现了问题马上可以追究相关人员的责任，使得学生破坏系统的情况大大减少。另外，对于工作站机器，我们统一设置cmos的SETUP级口令，以防止学生修改;服务器设置两个登录权限相同，用户名与口令不同的超级用户，以防止服务器口令被遗忘而无法登录服务器。</p>
<p>二、有序有偿开放</p>
<p>多媒体机房设施不断完善，为教学现代化提供了有力的保障。我校本着&ldquo;面向未来，面向现代化&rdquo;以及&ldquo;厉行节约，讲究实效&rdquo;的原则，开展多媒体机房的&ldquo;有序有偿开放&rdquo;。所谓有序，即利用学生的课余时间，在教师的指导下，有组织、有步骤参加省初、中级应用能力考核培训，制作多媒体计算机作品，以培养学生计算机应用能力和开发能力。所谓有偿，根据上级有关文件精神，使在双休日等非上课时间开放机房，适当收取上机费用，积累资金用于增加机房设备，进一步完善机房条件，起到&ldquo;以机养机&rdquo;的效果。这种&ldquo;有序有偿开放&rdquo;模式保持了机房较高的完好率和使用率。</p>
<p>关键字：服务器机房维护管理 服务器托管 服务器租用</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414290.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:54:29 CST </pubDate>
</item>

<item>
<title>十大Web服务器漏洞扫描程序</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414268.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p><strong>1. Nikto</strong></p>
<p>这是一个开源的Web服务器扫描程序，它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI，以及超过900个服务器版本，还有250多个服务器上的版本特定问题)进行全面的测试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。</p>
<p>Nikto可以在尽可能短的周期内测试你的Web服务器，这在其日志文件中相当明显。不过，如果你想试验一下(或者测试你的IDS系统)，它也可以支持LibWhisker的反IDS方法。</p>
<p>不过，并非每一次检查都可以找出一个安全问题，虽然多数情况下是这样的。有一些项目是仅提供信息(&ldquo;info only&rdquo; )类型的检查，这种检查可以查找一些并不存在安全漏洞的项目，不过Web管理员或安全工程师们并不知道。这些项目通常都可以恰当地标记出来。为我们省去不少麻烦。</p>
<p><strong>2. Paros proxy</strong></p>
<p>这是一个对Web应用程序的漏洞进行评估的代理程序，即一个基于Java的web代理程序，可以评估Web应用程序的漏洞。它支持动态地编辑/查看HTTP/HTTPS，从而改变cookies和表单字段等项目。它包括一个Web通信记录程序，Web圈套程序(spider)，hash 计算器，还有一个可以测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。</p>
<p><strong>3. WebScarab</strong></p>
<p>它可以分析使用HTTP 和HTTPS协议进行通信的应用程序，WebScarab可以用最简单地形式记录它观察的会话，并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态，那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题，还是允许安全专业人员识别漏洞，它都是一款不错的工具。</p>
<p><strong>4. WebInspect</strong></p>
<p>这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置，并会尝试一些常见的Web攻击，如参数注入、跨站脚本、目录遍历攻击(directory traversal)等等。</p>
<p><strong>5. Whisker/libwhisker</strong></p>
<p>Libwhisker是一个Perla模块，适合于HTTP测试。它可以针对许多已知的安全漏洞，测试HTTP服务器，特别是检测危险CGI的存在。Whisker是一个使用libwhisker的扫描程序。</p>
<p><strong>6. Burpsuite</strong></p>
<p>这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自动的技术结合起来，以列举、分析、攻击Web应用程序，或利用这些程序的漏洞。各种各样的burp工具协同工作，共享信息，并允许将一种工具发现的漏洞形成另外一种工具的基础。</p>
<p><strong>7. Wikto</strong></p>
<p>可以说这是一个Web服务器评估工具，它可以检查Web服务器中的漏洞，并提供与Nikto一样的很多功能，但增加了许多有趣的功能部分，如后端miner和紧密的Google集成。它为MS.NET环境编写，但用户需要注册才能下载其二进制文件和源代码。</p>
<p><strong>8. Acunetix Web Vulnerability Scanner</strong></p>
<p>这是一款商业级的Web漏洞扫描程序，它可以检查Web应用程序中的漏洞，如SQL注入、跨站脚本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面，并且能够创建专业级的Web站点安全审核报告。</p>
<p><strong>9. Watchfire AppScan</strong></p>
<p>这也是一款商业类的Web漏洞扫描程序。AppScan在应用程序的整个开发周期都提供安全测试，从而测试简化了部件测试和开发早期的安全保证。它可以扫描许多常见的漏洞，如跨站脚本攻击、HTTP响应拆分漏洞、参数篡改、隐式字段处理、后门/调试选项、缓冲区溢出等等。</p>
<p><strong>10. N-Stealth</strong></p>
<p>N-Stealth是一款商业级的Web服务器安全扫描程序。它比一些免费的Web扫描程序，如Whisker/libwhisker、 Nikto等的升级频率更高，它宣称含有&ldquo;30000个漏洞和漏洞程序&rdquo;以及&ldquo;每天增加大量的漏洞检查&rdquo;，不过这种说法令人质疑。还要注意，实际上所有通用的VA工具，如Nessus， ISS Internet Scanner， Retina， SAINT， Sara等都包含Web 扫描部件。(虽然这些工具并非总能保持软件更新，也不一定很灵活。)N-Stealth主要为Windows平台提供扫描，但并不提供源代码。</p>
<p>关键字：Web服务器漏洞扫描程序</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414268.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:53:46 CST </pubDate>
</item>

<item>
<title>如何从Win2003本地直接升级Win2008 R2</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414182.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p><strong>一、 升级前准备</strong></p>
<p>1. 转移5种操作主机角色</p>
<p>转移FSMO角色的方法有2种，一种是图形化操作，一种是使用NTDCUTIL命令行进行操作。这里介绍使用命令行方式的转移，关于图形化操作可参考微软KB：</p>
<p><a href="http://support.microsoft.com/kb/324801/zh-cn">http://support.microsoft.com/kb/324801/zh-cn</a></p>
<p>注意：Ntdsutil.exe 是一个为 Active Directory 提供管理设施的命令行工具。可使用 Ntdsutil.exe 执行 Active Directory 的数据库维护，管理和控制单个主机操作，创建应用程序目录分区，以及删除由未使用 Active Directory 安装向导 (DCPromo.exe) 成功降级的域控制器留下的元数据。</p>
<p>(1) 在Server D中点击【开始】，【运行】，输入【CMD】，回车。</p>
<p>(2) 在命令提示符下，键入【ntdsutil】，可输入【？】可查看帮助信息。</p>
<p>(3) 在帮助信息中可以看到，【Roles】命令可以用来管理NTDS角色所有者令牌，键入【Roles】，回车。</p>
<p>(4) 先连接到将会拥有操作主机角色的Windows Server 2008 R2的域控制器上，键入【Connections】，回车输入【connect to server DC2】，输入【quit】返回上一级菜单。如图2</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722231.jpg" width="498" /></p>
<p>(5) 输入转移相应主机角色的命令，例如现在要转移PDC主机，就输入【Transfer PDC】，回车后，将弹出确认对话框，点击【是】，即开始传输角色。完成后，将显示5个操作主机角色的位置。其他4个角色按此方式分别传输到DC2中。</p>
<p>(6) 确认传输后的操作主机位置，重新运行一个命令提示符，输入命令【netdom query FSMO】即可查询当前操作主机角色所在位置。如图3</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722232.jpg" width="498" /></p>
<p>2. Server A升级先决条件</p>
<p>(1) 域控制器上的操作系统是Windows 2003 SP2或更高版本。</p>
<p>(2) 域控制器硬件超过Windows Server 2008 R2的要求并且所有软件都是Windows Server 2008 R2兼容，包括杀毒软件和驱动程序。</p>
<p>(3) 有足够的磁盘可用空间来执行操作系统和活动目录的升级。特别要保证可用空间至少是活动目录数据库的两倍，外加安装操作系统所需的最少32GB空间。</p>
<p>(4) 当前域功能级别为Windows 2000 纯模式或Windows 2003.用户不能直接从Windows NT 4.0、Windows 2000 Mixed或Windows 2003过渡域控制器进行升级。</p>
<p>注意：该场景中，Server A同事负责处理DNS、DHCP，本地升级会将所有的DNS、DHCP组件升级到Windows Server 2008 R2版本。</p>
<p>3. Server A升级硬件兼容性</p>
<p>根据微软最新发布的对于Windows Server 2008 R2的最小硬件配置要求：</p>
<p>1.4GHz 64位处理器</p>
<p>512MB 内存</p>
<p>32GB 可用磁盘空间</p>
<p>4. 检查Server A中应用程序兼容性</p>
<p>如果发现安装在Windows Server 2003服务器上的某些关键应用程序在Windows Server 2008 R2不能正常工作，那么可以考虑删除或迁移到其他服务器中，以免造成迁移失败。同时建议在Server A上安装所有当前重要更新和 Service Pack。</p>
<p>除应用程序，Server A本身的操作系统版本也需要考虑。下面列出了受支持与不受支持的升级方案：</p>
<p>受支持的升级方案</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722233.jpg" width="498" /></p>
<p>不受支持的升级方案</p>
<p>不支持从下列操作系统升级到 Windows Server 2008 R2：</p>
<p>Windows(R) 95、Windows 98、Windows Millennium Edition、Windows XP、Windows Vista(R)、Windows Vista Starter 或 Windows 7</p>
<p>Windows NT(R) Server 4.0、Windows 2000 Server、Windows Server 2003 RTM、带有 SP1 的 Windows Server 2003、Windows Server 2003 Web、Windows Server 2008 R2 M3 或 Windows Server 2008 R2 测试版</p>
<p>用于基于 Itanium 的系统的 Windows Server 2003、Windows Server 2003 x64、用于基于 Itanium 的系统的 Windows Server 2008、用于基于 Itanium 的系统的 Windows Server 2008 R2</p>
<p>不支持跨体系结构就地升级（例如从 x86 升级到 x64）。</p>
<p>不支持跨语言就地升级（例如从 en-us 升级到 de-de）。</p>
<p>不支持跨版本升级（例如，从 Windows Server 2008 Foundation SKU 到 Windows Server 2008 Datacenter SKU）。</p>
<p>不支持跨内部版本类型就地升级（例如从 fre 升级到 chk）。</p>
<p>5. 备份Server A</p>
<p>备份是为了在系统升级失败后可以进行快速恢复，特别是在此场景中，可以进行完全的系统备份。或者也可以将Server A使用最新的虚拟化技术P2V到虚拟机中，这样即使物理机升级失败，只要虚机正常启动后，即可替代物理机提供服务，而且便于维护。</p>
<p><strong>二、 在Server A上执行本地升级</strong></p>
<p>在为Server A检查完必要条件之后，就可以升级Server A了。</p>
<p>(1) 在Server A中插入Windows Server 2008 R2的安装光盘。</p>
<p>(2) 安装页面会自动弹出，点击【现在安装】</p>
<p>(3) 选择【联机以获取最新安装更新】，这样能保证安装程序有最新的升级信息。</p>
<p>(4) 我这里光盘介质拥有多个版本，根据前面的前提条件，选择【Windows Server 2008 R2 Enterprise 完全安装】，如图4。</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722234.jpg" width="498" /></p>
<p>(5) 同意许可条款，点击【下一步】。</p>
<p>(6) 这里选择【升级】，如图5。</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722235.jpg" width="498" /></p>
<p>(7) 检查兼容性报告，会列出相关警告信息，点击【下一步】继续。</p>
<p>(8) 然后系统会复制文件并作为Windows Server 2008 R2服务器重启。当所有文件复制完毕后，系统这时就被升级到具有完全功能的Windows Server 2008 R2。如图6</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722236.jpg" width="498" /></p>
<p>(9) 最后重启后，安装程序将为首次使用做准备，之后就可以看到熟悉的Ctrl+Alt+Del的解锁登陆画面。不过此时Server A已经成为运行Windows Server 2008 R2的域控制器了。如图7</p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100330/1722237.jpg" width="498" /></p>
<p>到目前为止，Contoso公司已经初步完成了从Windows 2003到Windows Server 2008 R2基础架构的升级，但是不能高兴的太早，因为当前域内还有DHCP需要迁移，还有Exchange服务器需要重新指定域控制器，以便能正常提供服务，还有最重要的，只有整个架构的功能级别提升到Windows Server 2008 R2才能真正的体验技术带来的不同。</p>
<p>关键字：升级Win2008 R2</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414182.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:50:27 CST </pubDate>
</item>

<item>
<title>将nginx同时作为负载均衡和Web缓存服务器</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414148.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p>Nginx从0.7.48版本开始，支持了类似Squid的缓存功能。这个缓存是把URL及相关组合当作Key，用md5编码哈希后保存在硬盘上，所以它可以支持任意URL链接，同时也支持404/301/302这样的非200状态码。虽然目前官方的Nginx Web缓存服务只能为指定URL或状态码设置过期时间，不支持类似Squid的PURGE指令，手动清除指定缓存页面，但是，通过一个第三方的Nginx模块，可以清除指定URL的缓存。</p>
<p>Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成，前者用于反向代理时，对后端内容源服务器进行缓存，后者主要用于对FastCGI的动态程序进行缓存。两者的功能基本上一样。</p>
<p>最新的Nginx 0.8.32版本，proxy_cache和fastcgi_cache已经比较完善，加上第三方的ngx_cache_purge模块（用于清除指定URL的缓存），已经可以完全取代Squid。我们已经在生产环境使用了 Nginx 的 proxy_cache 缓存功能超过两个月，十分稳定，速度不逊于 Squid。</p>
<p>在功能上，Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定URL缓存的功能。而在性能上，Nginx对多核CPU的利用，胜过Squid不少。另外，在反向代理、负载均衡、健康检查、后端服务器故障转移、Rewrite重写、易用性上，Nginx也比Squid强大得多。这使得一台Nginx可以同时作为&ldquo;负载均衡服务器&rdquo;与&ldquo;Web缓存服务器&rdquo;来使用。</p>
<p><strong>1、Nginx 负载均衡与缓存服务器在 Linux 下的编译安装：</strong></p>
<pre><ol class="dp-css"><li class="alt"><span><span>ulimit&nbsp;-SHn&nbsp;</span><span class="value">65535</span><span>&nbsp; &nbsp;</span></span></li><li><span>wget&nbsp;ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre</span><span class="value">-8.00</span><span>.tar.gz&nbsp; &nbsp;</span></li><li class="alt"><span>tar&nbsp;zxvf&nbsp;pcre</span><span class="value">-8.00</span><span>.tar.gz&nbsp; &nbsp;</span></li><li><span>cd&nbsp;pcre</span><span class="value">-8.00</span><span>/&nbsp; &nbsp;</span></li><li class="alt"><span>./configure&nbsp; &nbsp;</span></li><li><span>make&nbsp;&amp;&amp;&nbsp;make&nbsp;install&nbsp; &nbsp;</span></li><li class="alt"><span>cd&nbsp;../&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>wget&nbsp;http://labs.frickle.com/files/ngx_cache_purge</span><span class="value">-1.0</span><span>.tar.gz&nbsp; &nbsp;</span></li><li><span>tar&nbsp;zxvf&nbsp;ngx_cache_purge</span><span class="value">-1.0</span><span>.tar.gz&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>wget&nbsp;http://nginx.org/download/nginx</span><span class="value">-0.8</span><span>.</span><span class="value">32</span><span>.tar.gz&nbsp; &nbsp;</span></li><li class="alt"><span>tar&nbsp;zxvf&nbsp;nginx</span><span class="value">-0.8</span><span>.</span><span class="value">32</span><span>.tar.gz&nbsp; &nbsp;</span></li><li><span>cd&nbsp;nginx</span><span class="value">-0.8</span><span>.</span><span class="value">32</span><span>/&nbsp; &nbsp;</span></li><li class="alt"><span>./configure&nbsp;--user=www&nbsp;--group=www&nbsp;--add-module=../ngx_cache_purge</span><span class="value">-1.0</span><span>&nbsp;--prefix=/usr/</span><span class="value">local</span><span>/webserver/nginx&nbsp;--with-http_stub_status_module&nbsp;--with-http_ssl_module&nbsp; &nbsp;</span></li><li><span>make&nbsp;&amp;&amp;&nbsp;make&nbsp;install&nbsp; &nbsp;</span></li><li class="alt"><span>cd&nbsp;../&nbsp; &nbsp;</span></li><li><span>&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li></ol></pre>
<p><strong>2、/usr/local/webserver/nginx/conf/nginx.conf 配置文件内容如下：</strong></p>
<pre><ol class="dp-rb"><li class="alt"><span><span>user&nbsp;www&nbsp;www;&nbsp; &nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span>worker_processes&nbsp;8;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>error_log&nbsp;/usr/local/webserver/nginx/logs/nginx_error.log&nbsp;crit;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>pid&nbsp;/usr/local/webserver/nginx/nginx.pid;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span class="comment">#Specifies&nbsp;the&nbsp;value&nbsp;for&nbsp;maximum&nbsp;file&nbsp;de<label>script</label>ors&nbsp;that&nbsp;can&nbsp;be&nbsp;opened&nbsp;by&nbsp;this&nbsp;process.&nbsp; </span><span>&nbsp;</span></li><li><span>worker_rlimit_nofile&nbsp;65535;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>events&nbsp; &nbsp;</span></li><li class="alt"><span>{&nbsp; &nbsp;</span></li><li><span>use&nbsp;epoll;&nbsp; &nbsp;</span></li><li class="alt"><span>worker_connections&nbsp;65535;&nbsp; &nbsp;</span></li><li><span>}&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>http&nbsp; &nbsp;</span></li><li class="alt"><span>{&nbsp; &nbsp;</span></li><li><span>include&nbsp;mime.types;&nbsp; &nbsp;</span></li><li class="alt"><span>default_type&nbsp;application/octet-stream;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>charset&nbsp;utf-8;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>server_names_hash_bucket_size&nbsp;128;&nbsp; &nbsp;</span></li><li><span>client_header_buffer_size&nbsp;32k;&nbsp; &nbsp;</span></li><li class="alt"><span>large_client_header_buffers&nbsp;4&nbsp;32k;&nbsp; &nbsp;</span></li><li><span>client_max_body_size&nbsp;300m;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>sendfile&nbsp;on;&nbsp; &nbsp;</span></li><li class="alt"><span>tcp_nopush&nbsp;on;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>keepalive_timeout&nbsp;60;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>tcp_nodelay&nbsp;on;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>client_body_buffer_size&nbsp;512k;&nbsp; &nbsp;</span></li><li><span>proxy_connect_timeout&nbsp;5;&nbsp; &nbsp;</span></li><li class="alt"><span>proxy_read_timeout&nbsp;60;&nbsp; &nbsp;</span></li><li><span>proxy_send_timeout&nbsp;5;&nbsp; &nbsp;</span></li><li class="alt"><span>proxy_buffer_size&nbsp;16k;&nbsp; &nbsp;</span></li><li><span>proxy_buffers&nbsp;4&nbsp;64k;&nbsp; &nbsp;</span></li><li class="alt"><span>proxy_busy_buffers_size&nbsp;128k;&nbsp; &nbsp;</span></li><li><span>proxy_temp_file_write_size&nbsp;128k;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>gzip&nbsp;on;&nbsp; &nbsp;</span></li><li class="alt"><span>gzip_min_length&nbsp;1k;&nbsp; &nbsp;</span></li><li><span>gzip_buffers&nbsp;4&nbsp;16k;&nbsp; &nbsp;</span></li><li class="alt"><span>gzip_http_version&nbsp;1.1;&nbsp; &nbsp;</span></li><li><span>gzip_comp_level&nbsp;2;&nbsp; &nbsp;</span></li><li class="alt"><span>gzip_types&nbsp;text/plain&nbsp;application/x-java<label>script</label>&nbsp;text/css&nbsp;application/xml;&nbsp; &nbsp;</span></li><li><span>gzip_vary&nbsp;on;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span class="comment">#注：proxy_temp_path和proxy_cache_path指定的路径必须在同一分区&nbsp; </span><span>&nbsp;</span></li><li class="alt"><span>proxy_temp_path&nbsp;/data0/proxy_temp_dir;&nbsp; &nbsp;</span></li><li><span class="comment">#设置Web缓存区名称为cache_one，内存缓存空间大小为200MB，1天清理一次缓存，硬盘缓存空间大小为30GB。&nbsp; </span><span>&nbsp;</span></li><li class="alt"><span>proxy_cache_path&nbsp;/data0/proxy_cache_dir&nbsp;levels=1:2&nbsp;keys_zone=cache_one:200m&nbsp;inactive=1d&nbsp;max_size=30g;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>upstream&nbsp;backend_server&nbsp;{&nbsp; &nbsp;</span></li><li><span>server&nbsp;192.168.8.43:80&nbsp;weight=1&nbsp;max_fails=2&nbsp;fail_timeout=30s;&nbsp; &nbsp;</span></li><li class="alt"><span>server&nbsp;192.168.8.44:80&nbsp;weight=1&nbsp;max_fails=2&nbsp;fail_timeout=30s;&nbsp; &nbsp;</span></li><li><span>server&nbsp;192.168.8.45:80&nbsp;weight=1&nbsp;max_fails=2&nbsp;fail_timeout=30s;&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>server&nbsp; &nbsp;</span></li><li><span>{&nbsp; &nbsp;</span></li><li class="alt"><span>listen&nbsp;80;&nbsp; &nbsp;</span></li><li><span>server_name&nbsp;www.yourdomain.com&nbsp;192.168.8.42;&nbsp; &nbsp;</span></li><li class="alt"><span>index&nbsp;index.html&nbsp;index.htm;&nbsp; &nbsp;</span></li><li><span>root&nbsp;/data0/htdocs/www;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>location&nbsp;/&nbsp; &nbsp;</span></li><li class="alt"><span>{&nbsp; &nbsp;</span></li><li><span class="comment">#如果后端的服务器返回502、504、执行超时等错误，自动将请求转发到upstream负载均衡池中的另一台服务器，实现故障转移。&nbsp; </span><span>&nbsp;</span></li><li class="alt"><span>proxy_next_upstream&nbsp;http_502&nbsp;http_504&nbsp;error&nbsp;timeout&nbsp;invalid_header;&nbsp; &nbsp;</span></li><li><span>proxy_cache&nbsp;cache_one;&nbsp; &nbsp;</span></li><li class="alt"><span class="comment">#对不同的HTTP状态码设置不同的缓存时间&nbsp; </span><span>&nbsp;</span></li><li><span>proxy_cache_valid&nbsp;200&nbsp;304&nbsp;12h;&nbsp; &nbsp;</span></li><li class="alt"><span class="comment">#以域名、URI、参数组合成Web缓存的Key值，Nginx根据Key值哈希，存储缓存内容到二级缓存目录内&nbsp; </span><span>&nbsp;</span></li><li><span>proxy_cache_key&nbsp;</span><span class="variable">$host</span><span class="variable">$uri</span><span class="variable">$is_args</span><span class="variable">$args</span><span>;&nbsp; &nbsp;</span></li><li class="alt"><span>proxy_set_header&nbsp;Host&nbsp;</span><span class="variable">$host</span><span>;&nbsp; &nbsp;</span></li><li><span>proxy_set_header&nbsp;X-Forwarded-For&nbsp;</span><span class="variable">$remote_addr</span><span>;&nbsp; &nbsp;</span></li><li class="alt"><span>proxy_pass&nbsp;http://backend_server;&nbsp; &nbsp;</span></li><li><span>expires&nbsp;1d;&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span class="comment">#用于清除缓存，假设一个URL为http://192.168.8.42/test.txt，通过访问http://192.168.8.42/purge/test.txt就可以清除该URL的缓存。&nbsp; </span><span>&nbsp;</span></li><li><span>location&nbsp;~&nbsp;/purge(/.*)&nbsp; &nbsp;</span></li><li class="alt"><span>{&nbsp; &nbsp;</span></li><li><span class="comment">#设置只允许指定的IP或IP段才可以清除URL缓存。&nbsp; </span><span>&nbsp;</span></li><li class="alt"><span>allow&nbsp;127.0.0.1;&nbsp; &nbsp;</span></li><li><span>allow&nbsp;192.168.0.0/16;&nbsp; &nbsp;</span></li><li class="alt"><span>deny&nbsp;all;&nbsp; &nbsp;</span></li><li><span>proxy_cache_purge&nbsp;cache_one&nbsp;</span><span class="variable">$host</span><span class="variable">$1</span><span class="variable">$is_args</span><span class="variable">$args</span><span>;&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span class="comment">#扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。&nbsp; </span><span>&nbsp;</span></li><li><span>location&nbsp;~&nbsp;.*\.(php|jsp|cgi)?$&nbsp; &nbsp;</span></li><li class="alt"><span>{&nbsp; &nbsp;</span></li><li><span>proxy_set_header&nbsp;Host&nbsp;</span><span class="variable">$host</span><span>;&nbsp; &nbsp;</span></li><li class="alt"><span>proxy_set_header&nbsp;X-Forwarded-For&nbsp;</span><span class="variable">$remote_addr</span><span>;&nbsp; &nbsp;</span></li><li><span>proxy_pass&nbsp;http://backend_server;&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>access_log&nbsp;off;&nbsp; &nbsp;</span></li><li><span>}&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp; &nbsp;</span></li><li><span>&nbsp; &nbsp;</span></li></ol></pre>
<p><strong>3、启动 Nginx：</strong></p>
<pre><ol class="dp-rb"><li class="alt"><span><span>/usr/local/webserver/nginx/sbin/nginx&nbsp; &nbsp;</span></span></li><li><span>&nbsp;</span></li></ol></pre>
<p><strong>4、清除指定的URL缓存示例：</strong></p>
<p><img class="fit-image" alt="" src="http://images.51cto.com/files/uploadimg/20100316/1633590.jpg" width="498" border="0" /></p>
<p>关键字：nginx</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414148.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:48:48 CST </pubDate>
</item>

<item>
<title>Linux下的CPU利用率计算原理详解</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414124.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p>我们在搞性能测试的时候，对后台服务器的CPU利用率监控是一个常用的手段。服务器的CPU利用率高，则表明服务器很繁忙。如果前台响应时间越来越大，而后台CPU利用率始终上不去，说明在某个地方有瓶颈了，系统需要调优。这个是即使不懂技术的人都容易理解的事情。</p>
<p>上面理解对吗？我个人觉得不十分准确。这个要看后台你测试的进程是什么类型的。如果是计算密集型的进程，当前端压力越来越大的时候，很容易把CPU利用率打上去。但是如果是I/O网络密集型的进程，即使客户端的请求越来越多，但是服务器CPU不一定能上去，这个是你要测试的进程的自然属性决定的。比较常见的就是，大文件频繁读写的cpu开销远小于小文件频繁读写的开销。因为在I/O吞吐量一定时，小文件的读写更加频繁，需要更多的cpu来处理I/O的中断。</p>
<p>在Linux/Unix下，CPU利用率分为<strong>用户态</strong>，<strong>系统态</strong>和<strong>空闲态</strong>，分别表示CPU处于用户态执行的时间，系统内核执行的时间，和空闲系统进程执行的时间。平时所说的CPU利用率是指：<strong>CPU执行非系统空闲进程的时间 / CPU总的执行时间</strong>。</p>
<p>在Linux的内核中，有一个全局变量：Jiffies。 Jiffies代表时间。它的单位随硬件平台的不同而不同。系统里定义了一个常数HZ，代表每秒种最小时间间隔的数目。这样jiffies的单位就是1/HZ。Intel平台jiffies的单位是1/100秒，这就是系统所能分辨的最小时间间隔了。每个CPU时间片，Jiffies都要加1。 CPU的利用率就是用执行用户态+系统态的Jiffies除以总的Jifffies来表示。</p>
<p>在Linux系统中，可以用/proc/stat文件来计算cpu的利用率。这个文件包含了所有CPU活动的信息，该文件中的所有值都是从系统启动开始累计到当前时刻。</p>
<p>如：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>[sailorhzr@builder&nbsp;~]$&nbsp;cat&nbsp;/proc/stat &nbsp;</span></span></li><li><span>cpu&nbsp;</span><span class="value">432661&nbsp;13295</span><span>&nbsp;</span><span class="value">86656&nbsp;422145968</span><span>&nbsp;</span><span class="value">171474&nbsp;233</span><span>&nbsp;</span><span class="value">5346</span><span>&nbsp;</span></li><li class="alt"><span>cpu</span><span class="value">0&nbsp;123075</span><span>&nbsp;</span><span class="value">2462&nbsp;23494</span><span>&nbsp;</span><span class="value">105543694&nbsp;16586</span><span>&nbsp;</span><span class="value">0&nbsp;4615</span><span>&nbsp;</span></li><li><span>cpu</span><span class="value">1&nbsp;111917</span><span>&nbsp;</span><span class="value">4124&nbsp;23858</span><span>&nbsp;</span><span class="value">105503820&nbsp;69697</span><span>&nbsp;</span><span class="value">123&nbsp;371</span><span>&nbsp;</span></li><li class="alt"><span>cpu</span><span class="value">2&nbsp;103164</span><span>&nbsp;</span><span class="value">3554&nbsp;21530</span><span>&nbsp;</span><span class="value">105521167&nbsp;64032</span><span>&nbsp;</span><span class="value">106&nbsp;334</span><span>&nbsp;</span></li><li><span>cpu</span><span class="value">3&nbsp;94504</span><span>&nbsp;</span><span class="value">3153&nbsp;17772</span><span>&nbsp;</span><span class="value">105577285&nbsp;21158</span><span>&nbsp;</span><span class="value">4&nbsp;24</span><span>&nbsp;</span></li><li class="alt"><span>intr&nbsp;</span><span class="value">1065711094&nbsp;1057275779</span><span>&nbsp;</span><span class="value">92&nbsp;0</span><span>&nbsp;</span><span class="value">6&nbsp;6</span><span>&nbsp;</span><span class="value">0&nbsp;4</span><span>&nbsp;</span><span class="value">0&nbsp;3527</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;70</span><span>&nbsp;</span><span class="value">0&nbsp;20</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">7376958&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">1054602&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">30&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span><span class="value">0&nbsp;0</span><span>&nbsp;</span></li><li><span>ctxt&nbsp;</span><span class="value">19067887</span><span>&nbsp;</span></li><li class="alt"><span>btime&nbsp;</span><span class="value">1139187531</span><span>&nbsp;</span></li><li><span>processes&nbsp;</span><span class="value">270014</span><span>&nbsp;</span></li><li class="alt"><span>procs_running&nbsp;</span><span class="value">1</span><span>&nbsp;</span></li><li><span>procs_blocked&nbsp;</span><span class="value">0</span><span>&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li></ol></pre>
<p><strong>输出解释</strong></p>
<p>CPU 以及CPU0、CPU1、CPU2、CPU3每行的每个参数意思（以第一行为例）为：</p>
<table cellspacing="1" cellpadding="1" width="500" border="1">
    <tbody>
        <tr>
            <td width="150">参数</td>
            <td>解释</td>
        </tr>
        <tr>
            <td style="font-size: 12px; vertical-align: top">user (432661) <br />
            <br />
            nice (13295) <br />
            <br />
            system (86656) <br />
            idle (422145968) <br />
            <br />
            iowait (171474) <br />
            <br />
            irq (233) <br />
            softirq (5346)&nbsp;<br />
            &nbsp;</td>
            <td style="font-size: 12px; vertical-align: top">从系统启动开始累计到当前时刻，用户态的CPU时间（单位：jiffies） ，不包含 nice值为负进程。1jiffies=0.01秒<br />
            从系统启动开始累计到当前时刻，nice值为负的进程所占用的CPU时间（单位：jiffies）<br />
            从系统启动开始累计到当前时刻，核心时间（单位：jiffies）<br />
            从系统启动开始累计到当前时刻，除硬盘IO等待时间以外其它等待时间（单位：jiffies）<br />
            从系统启动开始累计到当前时刻，硬盘IO等待时间（单位：jiffies） ，<br />
            从系统启动开始累计到当前时刻，硬中断时间（单位：jiffies）<br />
            从系统启动开始累计到当前时刻，软中断时间（单位：jiffies）&nbsp;</td>
        </tr>
    </tbody>
</table>
<p><strong>CPU时间=user+system+nice+idle+iowait+irq+softirq</strong></p>
<p>&ldquo;intr&rdquo;这行给出中断的信息，第一个为自系统启动以来，发生的所有的中断的次数；然后每个数对应一个特定的中断自系统启动以来所发生的次数。</p>
<p>&ldquo;ctxt&rdquo;给出了自系统启动以来CPU发生的上下文交换的次数。</p>
<p>&ldquo;btime&rdquo;给出了从系统启动到现在为止的时间，单位为秒。</p>
<p>&ldquo;processes (total_forks) 自系统启动以来所创建的任务的个数目。</p>
<p>&ldquo;procs_running&rdquo;：当前运行队列的任务的数目。</p>
<p>&ldquo;procs_blocked&rdquo;：当前被阻塞的任务的数目。</p>
<p>那么CPU利用率可以使用以下两个方法。先取两个采样点，然后计算其差值：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>cpu&nbsp;usage=(idle</span><span class="value">2</span><span>-idle</span><span class="value">1</span><span>)/(cpu</span><span class="value">2</span><span>-cpu</span><span class="value">1</span><span>)*</span><span class="value">100</span><span>&nbsp;</span></span></li><li><span>cpu&nbsp;usage=[(user_</span><span class="value">2</span><span>&nbsp;+sys_</span><span class="value">2</span><span>+nice_</span><span class="value">2</span><span>)&nbsp;-&nbsp;(user_</span><span class="value">1</span><span>&nbsp;+&nbsp;sys_</span><span class="value">1</span><span>+nice_</span><span class="value">1</span><span>)]/(total_</span><span class="value">2</span><span>&nbsp;-&nbsp;total_</span><span class="value">1</span><span>)*</span><span class="value">100</span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li></ol></pre>
<p>以下用分别用bash和perl做的一个cpu利用率的计算：</p>
<p>本人注:以下代码则采用公式为:</p>
<pre><ol class="dp-css"><li class="alt"><span><span>total_</span><span class="value">0</span><span>USER[</span><span class="value">0</span><span>]+NICE[</span><span class="value">0</span><span>]+SYSTEM[</span><span class="value">0</span><span>]+IDLE[</span><span class="value">0</span><span>]+IOWAIT[</span><span class="value">0</span><span>]+IRQ[</span><span class="value">0</span><span>]+SOFTIRQ[</span><span class="value">0</span><span>] &nbsp;</span></span></li><li><span>total_</span><span class="value">1</span><span>=USER[</span><span class="value">1</span><span>]+NICE[</span><span class="value">1</span><span>]+SYSTEM[</span><span class="value">1</span><span>]+IDLE[</span><span class="value">1</span><span>]+IOWAIT[</span><span class="value">1</span><span>]+IRQ[</span><span class="value">1</span><span>]+SOFTIRQ[</span><span class="value">1</span><span>] &nbsp;</span></li><li class="alt"><span>cpu&nbsp;usage=(IDLE[</span><span class="value">0</span><span>]-IDLE[</span><span class="value">1</span><span>])&nbsp;/&nbsp;(total_</span><span class="value">0</span><span>-total_</span><span class="value">1</span><span>)&nbsp;*&nbsp;</span><span class="value">100</span><span>&nbsp;</span></li><li><span>&nbsp;</span></li></ol></pre>
<p><strong>###bash 代码</strong></p>
<pre><ol class="dp-rb"><li class="alt"><span><span>CODE:</span><span class="comment">#!/bin/sh </span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span class="comment">##echo&nbsp;user&nbsp;nice&nbsp;system&nbsp;idle&nbsp;iowait&nbsp;irq&nbsp;softirq </span><span>&nbsp;</span></li><li><span>CPULOG_1=$(cat&nbsp;/proc/stat&nbsp;|&nbsp;grep&nbsp;</span><span class="string">'cpu&nbsp;'</span><span>&nbsp;|&nbsp;awk&nbsp;</span><span class="string">'{print&nbsp;$2&quot;&nbsp;&quot;$3&quot;&nbsp;&quot;$4&quot;&nbsp;&quot;$5&quot;&nbsp;&quot;$6&quot;&nbsp;&quot;$7&quot;&nbsp;&quot;$8}'</span><span>) &nbsp;</span></li><li class="alt"><span>SYS_IDLE_1=$(echo&nbsp;</span><span class="variable">$CPULOG_1</span><span>&nbsp;|&nbsp;awk&nbsp;</span><span class="string">'{print&nbsp;$4}'</span><span>) &nbsp;</span></li><li><span>Total_1=$(echo&nbsp;</span><span class="variable">$CPULOG_1</span><span>&nbsp;|&nbsp;awk&nbsp;</span><span class="string">'{print&nbsp;$1+$2+$3+$4+$5+$6+$7}'</span><span>) &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>sleep&nbsp;5 &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>CPULOG_2=$(cat&nbsp;/proc/stat&nbsp;|&nbsp;grep&nbsp;</span><span class="string">'cpu&nbsp;'</span><span>&nbsp;|&nbsp;awk&nbsp;</span><span class="string">'{print&nbsp;$2&quot;&nbsp;&quot;$3&quot;&nbsp;&quot;$4&quot;&nbsp;&quot;$5&quot;&nbsp;&quot;$6&quot;&nbsp;&quot;$7&quot;&nbsp;&quot;$8}'</span><span>) &nbsp;</span></li><li class="alt"><span>SYS_IDLE_2=$(echo&nbsp;</span><span class="variable">$CPULOG_2</span><span>&nbsp;|&nbsp;awk&nbsp;</span><span class="string">'{print&nbsp;$4}'</span><span>) &nbsp;</span></li><li><span>Total_2=$(echo&nbsp;</span><span class="variable">$CPULOG_2</span><span>&nbsp;|&nbsp;awk&nbsp;</span><span class="string">'{print&nbsp;$1+$2+$3+$4+$5+$6+$7}'</span><span>) &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>SYS_IDLE=`expr&nbsp;</span><span class="variable">$SYS_IDLE_2</span><span>&nbsp;-&nbsp;</span><span class="variable">$SYS_IDLE_1</span><span>` &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>Total=`expr&nbsp;</span><span class="variable">$Total_2</span><span>&nbsp;-&nbsp;</span><span class="variable">$Total_1</span><span>` &nbsp;</span></li><li class="alt"><span>SYS_USAGE=`expr&nbsp;</span><span class="variable">$SYS_IDLE</span><span>/</span><span class="variable">$Total</span><span>*100&nbsp;|bc&nbsp;-l` &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>SYS_Rate=`expr&nbsp;100-</span><span class="variable">$SYS_USAGE</span><span>&nbsp;|bc&nbsp;-l` &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>Disp_SYS_Rate=`expr&nbsp;</span><span class="string">&quot;scale=3;&nbsp;$SYS_Rate/1&quot;</span><span>&nbsp;|bc` &nbsp;</span></li><li><span>echo&nbsp;</span><span class="variable">$Disp_SYS_Rate</span><span>% &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp; &nbsp;</span></li></ol></pre>
<p><strong>###perl 代码</strong></p>
<ol class="dp-rb">
    <li class="alt"><span><span class="comment">#!/usr/bin/perl </span><span>&nbsp;</span></span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span>use&nbsp;warnings; &nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span class="variable">$SLEEPTIME</span><span>=5; &nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span class="keyword">if</span><span>&nbsp;(-e&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>)&nbsp;{ &nbsp;</span></li>
    <li><span>unlink&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>; &nbsp;</span></li>
    <li class="alt"><span>} &nbsp;</span></li>
    <li><span>open&nbsp;(JIFF_TMP,&nbsp;</span><span class="string">&quot;&gt;&gt;/tmp/stat&quot;</span><span>)&nbsp;||&nbsp;die&nbsp;</span><span class="string">&quot;Can't&nbsp;open&nbsp;/proc/stat&nbsp;file!\n&quot;</span><span>; &nbsp;</span></li>
    <li class="alt"><span>open&nbsp;(JIFF,&nbsp;</span><span class="string">&quot;/proc/stat&quot;</span><span>)&nbsp;||&nbsp;die&nbsp;</span><span class="string">&quot;Can't&nbsp;open&nbsp;/proc/stat&nbsp;file!\n&quot;</span><span>; &nbsp;</span></li>
    <li><span class="variable">@jiff_0</span><span>=&lt;JIFF&gt;; &nbsp;</span></li>
    <li class="alt"><span>print&nbsp;JIFF_TMP&nbsp;</span><span class="variable">$jiff_0</span><span>[0]&nbsp;; &nbsp;</span></li>
    <li><span>close&nbsp;(JIFF); &nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span>sleep&nbsp;</span><span class="variable">$SLEEPTIME</span><span>; &nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span>open&nbsp;(JIFF,&nbsp;</span><span class="string">&quot;/proc/stat&quot;</span><span>)&nbsp;||&nbsp;die&nbsp;</span><span class="string">&quot;Can't&nbsp;open&nbsp;/proc/stat&nbsp;file!\n&quot;</span><span>; &nbsp;</span></li>
    <li class="alt"><span class="variable">@jiff_1</span><span>=&lt;JIFF&gt;; &nbsp;</span></li>
    <li><span>print&nbsp;JIFF_TMP&nbsp;</span><span class="variable">$jiff_1</span><span>[0]; &nbsp;</span></li>
    <li class="alt"><span>close&nbsp;(JIFF); &nbsp;</span></li>
    <li><span>close&nbsp;(JIFF_TMP); &nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span class="variable">@USER</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$2}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li class="alt"><span class="variable">@NICE</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$3}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li><span class="variable">@SYSTEM</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$4}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li class="alt"><span class="variable">@IDLE</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$5}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li><span class="variable">@IOWAIT</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$6}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li class="alt"><span class="variable">@IRQ</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$7}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li><span class="variable">@SOFTIRQ</span><span>=`awk&nbsp;</span><span class="string">'{print&nbsp;\$8}'</span><span>&nbsp;</span><span class="string">&quot;/tmp/stat&quot;</span><span>`; &nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span class="variable">$JIFF_0</span><span>=</span><span class="variable">$USER</span><span>[0]+</span><span class="variable">$NICE</span><span>[0]+</span><span class="variable">$SYSTEM</span><span>[0]+</span><span class="variable">$IDLE</span><span>[0]+</span><span class="variable">$IOWAIT</span><span>[0]+</span><span class="variable">$IRQ</span><span>[0]+</span><span class="variable">$SOFTIRQ</span><span>[0]; &nbsp;</span></li>
    <li class="alt"><span class="variable">$JIFF_1</span><span>=</span><span class="variable">$USER</span><span>[1]+</span><span class="variable">$NICE</span><span>[1]+</span><span class="variable">$SYSTEM</span><span>[1]+</span><span class="variable">$IDLE</span><span>[1]+</span><span class="variable">$IOWAIT</span><span>[1]+</span><span class="variable">$IRQ</span><span>[1]+</span><span class="variable">$SOFTIRQ</span><span>[1]; &nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span class="variable">$SYS_IDLE</span><span>=(</span><span class="variable">$IDLE</span><span>[0]-</span><span class="variable">$IDLE</span><span>[1])&nbsp;/&nbsp;(</span><span class="variable">$JIFF_0</span><span>-</span><span class="variable">$JIFF_1</span><span>)&nbsp;*&nbsp;100; &nbsp;</span></li>
    <li><span class="variable">$SYS_USAGE</span><span>=100&nbsp;-&nbsp;</span><span class="variable">$SYS_IDLE</span><span>; &nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span>printf&nbsp;(</span><span class="string">&quot;The&nbsp;CPU&nbsp;usage&nbsp;is&nbsp;%1.2f%%\n&quot;</span><span>,</span><span class="variable">$SYS_USAGE</span><span>);&nbsp; &nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></li>
</ol>
<p class="alt"><span>关键字：Linux下的CPU利用率</span></p>
<p class="alt"><span>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</span></p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11414124.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:47:27 CST </pubDate>
</item>

<item>
<title>代理服务器以及域名服务器的工作原理</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11413985.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">
<p>代理服务器（Proxy Server）是个人网络和Internet服务商之间的中间代理机构，它负责转发合法的网络信息，对转发进行控制和登记。代理服务器作为连接Internet(广域网)与Intranet（局域网）的桥梁，在实际应用中发挥着极其重要的作用，它可用于多个目的，最基本的功能是连接，此外还包括安全性，缓存，内容过滤,访问控制管理等功能。代理服务器，顾名思义就是局域上不能直接上网的机器将上网请求（比如说，浏览某个主页）发给能够直接上网的代理服务器，然后代理服务器代理完成这个上网请求，将它所要浏览的主页调入代理服务器的缓存；然后将这个页面传给请求者。这样局域网上的机器使用起来就像能够直接访问网络一样。并且，代理服务器还可以进行一些网站的过滤和控制的功能，这样就实现了我们控制和节省上网费用。</p>
<p>代理服务器能够让多台没有IP地址的电脑使用其代理功能高速、安全地访问互联网资源。当代理服务器客户端发出一个对外的资源访问请求，该请求先被代理服务器识别并由代理服务器代为向外请求资源。由于一般代理服务器拥有较大的带宽，较高的性能，并且能够智能地缓存已浏览或未浏览的网站内容，因此，在一定情况下，客户端通过代理服务器能更快速地访问网络资源。代理服务器应用的常见例子：拥有上百台电脑的局域网通过一台能够访问外部网络资源的代理服务器而也能访问外部互联网。</p>
<p>代理服务器的功能</p>
<p>充当局域网与外部网络的连接出口</p>
<p>充当局域网与外部网络的连接出口，同时将内部网络结构的状态对外屏蔽起来，使外部不能直接访问内部网络。从这一点上说，代理服务器就充当的网关。</p>
<p>作为防火墙</p>
<p>代理服务器．可以保护局域网的安全，起防火墙的作用。通过设置防火墙，为公司内部的网络提供安全边界，防止外界的侵入。</p>
<p>网址过滤和访问权限限制</p>
<p>代理服务器可以设置IP地址过滤，对外界或内部的Internet地址进行过滤，限制不同用户的访问权限。例如代理服务器可以用来限制封锁IP地址，禁止用户对某些网页进行浏览。</p>
<p>提高访问速度</p>
<p>代理服务器将远程服务器提供的数据保存在自己的硬盘上，如果有许多用户同时使用这一个代理服务器，他们对Internet站点所有的访问都会经由这台代理服务器来实现。当有人访问过某一站点后，所访问站点的内容便会被保存在代理服务器的硬盘上，如果下一次有人再要访问这个站点时，这些内容便会直接从代理服务器磁盘中取得，而不必再次连接到远程服务器上去取。因此，它可以节约带宽、提高访问速度。</p>
<p>代理服务器的工作原理</p>
<p>代理服务器（Proxy Server）的工作原理是：当客户在浏览器中设置好Proxy Server后，你使用浏览器访问所有WWW站点的请求都不会直接发给目的主机，而是先发给代理服务器，代理服务器接受了客户的请求以后，由代理服务器向目的主机发出请求，并接受目的主机的数据，存于代理服务器的硬盘中，然后再由代理服务器将客户要求的数据发给客户。下面我们来详细说明其工作过程：<br />
在网络上，当客户端向服务器端请求数据时，服务器端会随即将所需的数据传给客户端。但是这个服务器可能在很远的地方（例如在美国），数据传输需要较长的时间，如果需要同样数据的用户很多，则每次都要重复传送.</p>
<p>代理服务器的角色</p>
<p>代理服务器是为了减少长距离的传送而诞生的。它不仅可以代理客户端向服务器端提出请求，也可以代理服务器传给客户端所需要的数据。</p>
<p>当客户端对服务器端提出请求时，此请求会被送到代理服务器，然后代理服务器会检查本身是否有客户端所需要的数据。如果有，代理服务器便代替服务器将数据传给客户端。而代理服务器一般都是设置距自己传输距离较近的某台代理服务器，所以它传数据给客户端的速度会比从远程服务器传数据要快。</p>
<p>如果代理服务器没有客户端所请求的数据，它会去服务器获取所需的数据。在代理服务器从服务器端取得数据传给客户端时，自己保存一份，待下次如果有用户提出相同的请求时，便可以将数据直接传过去，而不需要再去服务器端获取了。可见，代理服务器改善网络数据传输阻塞的功能是显而易见的。</p>
<p>代理服务器的其他有关说明</p>
<p>代理服务器的适用环境</p>
<p>无论是家庭还是公司，都不可能为内部的每一台计算机都申请或租用一个合法的 IP地址。要使内部的多个计算机用户高效，安全地访问Internet，使用代理服务器是一种最好的选择。代理服务器需要至少拥有一个合法的IP地址，为内部局域网中的每一台客户机都分配一个独立的IP地址，并且通过在客户机软件上配置使用代理服务器（如用Microsoft Internet Explorer浏览器设置）、指向代理服务器的IP地址和服务端口，这样就可以使局域网内部的众多用户通过代理服务器访问Internet。</p>
<p>对于局域网内部的用户来说，是利用资源共享，实现局域网内部用户对Internet的访问：而对于服务器来说，一般是使用专线，实现多台计算机同时上Internet。</p>
<p>代理服务器对硬件的特殊需求</p>
<p>代理服务器能实现许多功能，它对服务器的硬件有一定要求。通常安装代理服务器软件的计算机都需要一个较大的硬盘作为访问数据存放的缓冲区（可能高达几个GB或者更大），当有远程服务器提供的信息通过时，就将其保存到缓冲区中，当其他用户再访问相同的信息时，直接由缓冲区取出信息传送给用户，以提高访问速度，因为代理服务器需要保持多路连接，这会使用大量的内存，所以它需要一个大容量的内存；在一定环境下，有的代理软件需要二个或者更多的网卡。</p>
<p><strong>域名服务器（DNS）</strong></p>
<p>域名地址</p>
<p>尽管IP地址能够唯一地标识网络上的计算机，但IP地址是数字型的，用户记忆这类数字十分不方便，于是人们又发明了另一套字符型的地址方案即所谓的域名地址。IP地址和域名是一一对应的，我们来看一个IP地址对应域名地址的例子，譬如：西南师范大学的IP地址是202.202.96.35，对应域名地址为http://www.swnu.edu.cn/。这份域名地址的信息存放在一个叫域名服务器（DNS，Domain Name Server）的主机内，使用者只需了解易记的域名地址，其对应转换工作就留给了域名服务器DNS。DNS就是提供IP地址和域名之间的转换服务的服务器。</p>
<p>域名与域名解析-DNS原理</p>
<p>DNS服务，或者叫域名服务、域名解析服务，就是提供域名与IP地址的相互转换。域名的正向解析是将主机名转换成IP地址的过程 ，域名的反向解析是将IP地址转换成主机名的过程。通常我们很少需要将IP地址转换成主机名，即反向解析。反向解析经常被一些后 台程序使用，用户看不到。</p>
<p>域名系统的工作过程</p>
<p>设置您的电脑去向谁查询。</p>
<p>除非您的电脑本身具有域名服务器的功能（也就是说，你的电脑能直接转换IP的功能，是你的电脑上建立并记录域名与IP地址的映射关系），否则它不会进行完整的域名查询。您的电脑需要借助于Internet上的某台域名服务器帮助进行域名查询。所以您首先需要设置您的电脑。如：在需要进行域名查询时，你要上Internet上的某个WWW服务器看网页的内容；http://www.swnu.edu.cn/，它的IP地址是：202.202.96.3，但我们并不记住这个202.202.96.3地址，应该向哪个服务器发出询问。Internet上有许许多多域 名服务器，您可以选任何一台作为您首选的域名服务器。也就是说，您要告诉您的电脑，当需要进行域名查询时，首先去问哪一台域名服务器，这个服务器就是我们电脑上设的一台服务器如：202.100.192.68。域名服务器接收到您的电脑的查询请求，它会帮助您进行查询，然后将结果返回您的电脑。 为了获得最快的响应，一般选择与您的电脑有最好的连接的服务器。</p>
<p><strong>网关(Gateway)</strong></p>
<p>就是一个网络连接到另一个网络的&ldquo;关口&rdquo;。而要实现这两个网络之间的通信，则必须通过网关。</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11413985.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:41:27 CST </pubDate>
</item>

<item>
<title>建立VNC Linux服务器</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11413900.html</link>
<description>
<![CDATA[<div style="font-size: 12px; margin: 5px 10px; line-height: 26px; text-align: left">VNC(Virtual Network Computing)可以让你登录进到远程服务器的桌面上（相比之下，SSH的X11只能让你在本地机器上打开几个窗口）。
<p><strong>第一步</strong></p>
<p>我是用的是vnc4（还有其他选项，比如TightVNC），所以第一步是在远程服务器上安装vnc4server Debian/Ubuntu软件包。vnc4安装之后，运行一次以完成配置，并设立一个VNC密码：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>vncserver&nbsp;:</span><span class="value">1</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li></ol></pre>
<p>这将启动一个后台进程，而不是一个在前台运行的vnc4。一旦它开始运行，将会有shell提示。</p>
<p><strong>第二步</strong></p>
<p>要kill服务器，请运行以下指令：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>vncserver&nbsp;-kill&nbsp;:</span><span class="value">1</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li></ol></pre>
<p><strong>第三步</strong></p>
<p>你可以通过编辑~/.vnc/xstartup文件来控制开机时启动的应用和窗口管理器。默认的窗口管理器是x-window-manager（X窗口管理器）。我比较喜欢用Xfce4，因为它比较轻量，适合远程运行。你也可以使用Gnome。</p>
<p>指定窗口管理器的方法是，先把x-window-manager那一行注释掉，然后添加一行你希望使用的管理器进程：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>xfce</span><span class="value">4</span><span>-session&nbsp;&amp; &nbsp;</span></span></li><li><span>&nbsp;</span></li></ol></pre>
<p><strong>第四步</strong></p>
<p>接下来，你需要考虑通过SSH加密通道来运行进程（默认选项是使用未加密的5901端口）。在客户端运行如下指令：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>ssh&nbsp;-f&nbsp;-N&nbsp;-L&nbsp;</span><span class="value">5901:</span><span>localhost:</span><span class="value">5901</span><span>&nbsp;user@yourserver.co.uk &nbsp;</span></span></li><li><span>&nbsp;</span></li></ol></pre>
<p>然后启动远程服务器：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>vncserver&nbsp;:</span><span class="value">1</span><span>&nbsp;</span></span></li></ol></pre>
<p><strong>第五步</strong></p>
<p>最后，使用一个VNC客户端（Linux上有xvnc4viewer，Mac上有Chicken of the VNC）连接到5901端口的localhost（SSH连接本地5901端口到远程5901端口），使用你的VNC密码。这样就登录进去了。在你操作完毕时，记得kill掉VNC服务器以及你的SSH进程。</p>
<p>关键字：建立VNC Linux服务器</p>
<p>佛山思海网络有限公司 专业IDC业务（服务器租用、服务器托管及相关增值服务），虚拟主机，企业邮箱，域名注册，专线接入，企业信息化解决方案，免费为企业网站备案等。销售热线：400-666-2048 15718455821 0757-22668850 QQ983054746 周小姐</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/11413900.html</guid>
<subject></subject>
<author>sihaiidc</author>
<category></category>
<pubDate>Fri, 25 May 2012 16:36:56 CST </pubDate>
</item>

</channel>
</rss>
