<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[观夏Note]]></title> 
<link>//gm.angeldm.com/index.php</link> 
<description><![CDATA[新技术番]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[观夏Note]]></copyright>
<item>
<link>//gm.angeldm.com/post/240/</link>
<title><![CDATA[DirectAdmin安装Ioncube/Zend Optimizer/Zend Guard组件]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Sat, 29 Nov 2014 12:26:41 +0000</pubDate> 
<guid>//gm.angeldm.com/post/240/</guid> 
<description>
<![CDATA[ 
	安装Zend，输入<br/><div class="code"><br/>cd /usr/local/directadmin/custombuild<br/>./build set zend yes<br/>./build zend<br/></div><br/><br/>执行这个命令会自动安装对应版本的Zend (Optimizer/Guard)，如果当前PHP版本没有Zend可用，就会出现一个提示。<br/><br/>安装Ioncube，输入<br/><div class="code"><br/>cd /usr/local/directadmin/custombuild<br/>./build set ioncube yes<br/>./build ioncube<br/></div><br/><br/>“./build set”命令的意思是修改options.conf配置文件的选项，设定为Yes再执行build脚本可以单独增加对应的功能。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/237/</link>
<title><![CDATA[nginx - 缓存过期影响因素优先级分析]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Mon, 16 Dec 2013 03:44:38 +0000</pubDate> 
<guid>//gm.angeldm.com/post/237/</guid> 
<description>
<![CDATA[ 
	首先对测试环境进行说明<br/><br/>测试的架构如图所示：<br/><br/>client端&nbsp;&nbsp;<------------------>&nbsp;&nbsp; nginx cache <------------------>源服务器<br/><br/>经过大量测试发现：nginx的过期顺序是有一个优先级的。下面首先说明各个影响缓存过期的因素：<br/><br/>（1）inactive:在proxy_cache_path配置项中进行配置，说明某个缓存在inactive指定的时间内如果不访问，将会从缓存中删除。<br/><br/>（2）源服务器php页面中生成的响应头中的Expires，生成语句为：<br/><br/>header("Expires: Fri, 07 Sep 2013 08:05:18 GMT");<br/><br/>（3）源服务器php页面生成的max-age，生成语句为：<br/><br/>header("Cache-Control: max-age=60");<br/><br/>（4）nginx的配置项 proxy_cache_valid:配置nginx cache中的缓存文件的缓存时间，如果配置项为：proxy_cache_valid 200 304 2m;说明对于状态为200和304的缓存文件的缓存时间是2分钟，两分钟之后再访问该缓存文件时，文件会过期，从而去源服务器重新取数据。<br/><br/>其次对需要注意的一点：源服务器的expires和nginx cache的expires配置项的冲突进行说明，场景如下<br/><br/>（1）源服务器端有php文件ta1.php内容如下：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 2013 08:05:18 GMT&quot;);<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=60&quot;);<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>（2）在nginx cache服务器端的配置信息如下：<br/><div class="code"><br/>......<br/><br/>proxy_cache_path&nbsp;&nbsp;/data0/proxy_cache_dir&nbsp;&nbsp;levels=1:2&nbsp;&nbsp; keys_zone=cache_one:200m inactive=5s max_size=30g;<br/><br/>......<br/><br/>location ~ .*&#92;.(php&#124;jsp&#124;cgi)$<br/><br/>&nbsp;&nbsp;&#123;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_read_timeout 10s;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_connect_timeout 10s;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header Host $host;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_cache_use_stale updating;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_cache_key $host$uri$is_args$args;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_cache cache_one;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; #proxy_ignore_headers &quot;Cache-Control&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#proxy_hide_header &quot;Cache-Control&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#proxy_ignore_headers &quot;Expires&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#proxy_hide_header &quot;Expires&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_hide_header &quot;Set-Cookie&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_ignore_headers &quot;Set-Cookie&quot;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; #add_header Cache-Control max-age=60;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;add_header X-Cache &#039;$upstream_cache_status from $server_addr&#039;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_cache_valid 200 304 2m;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; #proxy_cache_valid any 0m;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http://backend_server;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expires 30s;<br/><br/>&nbsp;&nbsp;&#125;<br/><br/>.......<br/></div><br/>从上面两项可以看出nginx cache 服务器中expires的配置是30s，该expires的值直接决定了在浏览器端看到的max-age以及expires的值。而源服务器断的代码中设置的响应头中的max-age为60，expires为Fri, 07 Sep 2013 08:05:18 GMT。这是源服务器的设置于nginx-cache的设置冲突了，那么着两个属性应该怎么设置呢？<br/><br/>这时client端的max-age与expires的值按照nginx cache中的expires配置项的设置，即:<br/><br/>Expires&nbsp;&nbsp;Fri, 07 Sep 2012 08:59:16 GMT<br/><br/>Cache-Controlmax-age=30<br/><br/>而nginx cache端的缓存的max-age与expire的值按照源服务器上的代码的设置。即：<br/><br/>Expires&nbsp;&nbsp;Fri, 07 Sep 2013 08:05:18 GMT<br/><br/>Cache-Controlmax-age=60<br/><br/>现在步入正题：<br/><br/>经过大量测试发现：对缓存的过期与清除起作用的因素的优先级从高到低一次为：<br/><br/>inactive配置项、源服务器设置的Expires、源服务器设置的Max-Age、proxy_cache_valid配置项<br/><br/>下面通过几个实例对这几个优先级进行说明<br/><br/>实例1：<br/><br/>服务器端php代码：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 2012 08:03:18 GMT&quot;);//其实是3分钟之后<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=180&quot;);//2分钟<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>nginx cache 配置项<br/><br/>inactive 4m//4分钟<br/><br/>proxy_cache_valid 1m//1分钟<br/><br/>现象：第一次访问页面ta1.php之后，各个时间的访问结果：<br/><br/>1分钟之后 ：&nbsp;&nbsp;&nbsp;&nbsp;HIT//这说明valid没有起作用<br/><br/>2分钟之后 ：&nbsp;&nbsp;&nbsp;&nbsp;HIT//这说明 源服务器设置的max-age没有起作用<br/><br/>3分钟之后：&nbsp;&nbsp;&nbsp;&nbsp; MISS//这说明源服务器设置的Expires起作用了<br/><br/>4分钟之后：&nbsp;&nbsp;&nbsp;&nbsp; MISS//这说明inactive起作用了<br/><br/>实例2：<br/><br/>服务器端php代码：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 2012 08:03:18 GMT&quot;);//3分钟之后<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=180&quot;);//2分钟<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>nginx cache 配置项<br/><br/>inactive 10s//10秒钟<br/><br/>proxy_cache_valid 1m//1分钟<br/><br/>现象：第一次访问页面ta1.php之后，各个时间的访问结果：<br/><br/>5秒后访问：HIT<br/><br/>10秒后访问: MISS<br/><br/>15秒后访问：HIT<br/><br/>20秒后访问:MISS<br/><br/>通过实例1和实例2综合分析：如果inactive已经进行了设置，则缓存的过期时间以inactive设置的值为准。<br/><br/>实例3：<br/><br/>服务器端php代码：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 1977 08:03:18 GMT&quot;);//直接过期<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=120&quot;);//2分钟<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>nginx cache 配置项<br/><br/>inactive 4m//4分钟<br/><br/>proxy_cache_valid 1m//1分钟<br/><br/>现象：第一次访问页面ta1.php之后，各个时间的访问结果：<br/><br/>每隔一秒访问一次：MISS//这说明源服务器端设置的Expires屏蔽了nginx的valide和源服务器端设置的max-age的作用<br/><br/>实例4：<br/><br/>服务器端php代码：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 2012 08:03:18 GMT&quot;);//3分钟之后<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=120&quot;);//2分钟<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>nginx cache 配置项<br/><br/>inactive 4m//4分钟<br/><br/>proxy_cache_valid 1m//1分钟<br/><br/>现象：第一次访问页面ta1.php之后，各个时间的访问结果：<br/><br/>1分钟之后 ：&nbsp;&nbsp; HIT//这说明valid没有起作用，因为源服务器设置的Expires将valid的效果屏蔽了<br/><br/>2分钟之后 ：&nbsp;&nbsp; HIT//这说明 源服务器设置的max-age没有起作用，因为源服务器设置的Expires将max-age屏蔽了<br/><br/>3分钟之后：&nbsp;&nbsp;&nbsp;&nbsp;MISS//这说明服务器端设置的expires起作用了<br/><br/>通过实例2和实例3的现象说明：如果inactive设置的比较大，在inactive到期之前，如果valid、服务器端设置的expires、服务器端设置的max-age都进行了设置，则以服务器端设置的expires为准。<br/><br/>实例5：<br/><br/>服务器端php代码：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 2012 08:03:18 GMT&quot;);//3分钟之后<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=120&quot;);//2分钟<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>nginx cache 配置项<br/><br/>inactive 4m//4分钟<br/><br/>#下面两行用于消除服务器端配置的Expires响应头的影响<br/><br/>proxy_ignore_headers "Expires";<br/><br/>proxy_hide_header "Expires";<br/><br/>proxy_cache_valid 1m//1分钟<br/><br/>现象：第一次访问页面ta1.php之后，各个时间的访问结果：<br/><br/>1分钟之后&nbsp;&nbsp; HIT //这说明valid的作用已经被服务器端的max-age屏蔽<br/><br/>2分钟之后&nbsp;&nbsp; MISS//服务器端设置的max-age起作用<br/><br/>实例6：<br/><br/>服务器端php代码：<br/><div class="code"><br/>&lt;?php<br/><br/>header(&quot;Expires: Fri, 07 Sep 2012 08:03:18 GMT&quot;);//3分钟之后<br/><br/>header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);<br/><br/>header(&quot;Cache-Control: max-age=50&quot;);//50秒钟<br/><br/>//header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);<br/><br/>echo &quot;ta1&quot;;<br/><br/>?&gt;<br/></div><br/>nginx cache 配置项<br/><br/>inactive 4m//4分钟<br/><br/>#下面两行用于消除服务器端配置的Expires响应头的影响<br/><br/>proxy_ignore_headers "Expires";<br/><br/>proxy_hide_header "Expires";<br/><br/>proxy_cache_valid 2m//2分钟<br/><br/>现象：第一次访问页面ta1.php之后，各个时间的访问结果：<br/><br/>50秒钟之后 ：&nbsp;&nbsp; MISS//这说明服务器端配置的max-age起作用<br/><br/>1分钟之后 ：&nbsp;&nbsp; HIT//<br/><br/>100秒钟之后：&nbsp;&nbsp; MISS//这说明服务器端设置的max-age起作用了<br/><br/>通过实例5和实例6的现象说明：如果inactive设置的比较大，而且在nginx配置文件中取消服务器端Expires对缓存的影响。在同时设置了proxy_cache_valid和服务器端设置了max-age响应头字段的情况下，以服务器端设置的max-age的值为标准进行缓存过期处理。<br/><br/>综上所述：<br/><br/>（1）在同时设置了源服务器端Expires、源服务器端max-age和nginx cahe端的proxy_cache_valid的情况下，以源服务器端设置的Expires的值为标准进行缓存的过期处理<br/><br/>（2）若在nginx中配置了相关配置项，取消原服务器端Expires对缓存的影响，在同时设置了源服务器端Expires、源服务器端max-age和nginx cahe端的proxy_cache_valid的情况下，以源服务器端max-age的值为标准进行缓存的过期处理<br/><br/>（3）若同时取消源服务器端Expires和源服务器端max-age对缓存的影响，则以proxy_cache_valid设置的值为标准进行缓存的过期处理<br/><br/>（4）Inactive的值不受上述三个因素的影响，即第一次请求页面之后，每经过inactvie指定的时间，都要强制进行相应的缓存清理。因此inactive的优先级最高。<br/><br/>（5）所以对缓存过期影响的优先级进行排序为：inactvie、源服务器端Expires、源服务器端max-age、proxy_cache_valid。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/234/</link>
<title><![CDATA[Nginx开机自动启动]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Sat, 30 Nov 2013 13:51:05 +0000</pubDate> 
<guid>//gm.angeldm.com/post/234/</guid> 
<description>
<![CDATA[ 
	把以下脚本保存为nginx文件放入/etc/init.d/nginx，然后修改权限:<br/><div class="code"><br/>chmod 755 nginx<br/></div><br/><br/>就可以通过常规命令控制Nginx状态:<br/><div class="code"><br/>#启动nginx<br/>/etc/init.d/nginx start<br/><br/>#停止nginx<br/>/etc/init.d/nginx stop<br/><br/>#重启nginx<br/>/etc/init.d/nginx restart<br/><br/>#仅重新读取配置<br/>/etc/init.d/nginx reload<br/></div><br/><br/><br/>如果需要开机自动启动nginx服务，保存好 /etc/init.d/nginx文件后，执行以下命令:<br/><br/><div class="code"><br/>chkconfig --add nginx<br/>chkconfig --level 2345 nginx on<br/></div><br/><br/>脚本内容<br/><div class="code"><br/>#! /bin/sh<br/># Default-Start:&nbsp;&nbsp;&nbsp;&nbsp; 2 3 4 5<br/># Default-Stop:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 1 6<br/># Short-Description: starts the nginx web server<br/># chkconfig: - 85 15<br/># Description: Nginx Web Server<br/><br/>PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br/># If have Luajit Module<br/># export LD_LIBRARY_PATH=/path/to/luajit/lib/:$LD_LIBRARY_PATH<br/>DESC=&quot;nginx daemon&quot;<br/>NAME=nginx<br/>DAEMON=/etc/nginx/$NAME<br/>CONFIGFILE=/etc/nginx/conf/$NAME.conf<br/>PIDFILE=/etc/nginx/logs/$NAME.pid<br/>SCRIPTNAME=/etc/init.d/$NAME<br/><br/>set -e<br/>&#91; -x &quot;$DAEMON&quot; &#93; &#124;&#124; exit 0<br/><br/>do_start() &#123;<br/> $DAEMON -c $CONFIGFILE &#124;&#124; echo -n &quot;nginx already running&quot;<br/>&#125;<br/><br/>do_stop() &#123;<br/> kill -INT `cat $PIDFILE` &#124;&#124; echo -n &quot;nginx not running&quot;<br/>&#125;<br/><br/>do_reload() &#123;<br/> kill -HUP `cat $PIDFILE` &#124;&#124; echo -n &quot;nginx can&#039;t reload&quot;<br/>&#125;<br/><br/>case &quot;$1&quot; in<br/> start)<br/> echo -n &quot;Starting $DESC: $NAME&quot;<br/> do_start<br/> echo &quot;.&quot;<br/> ;;<br/> stop)<br/> echo -n &quot;Stopping $DESC: $NAME&quot;<br/> do_stop<br/> echo &quot;.&quot;<br/> ;;<br/> reload&#124;graceful)<br/> echo -n &quot;Reloading $DESC configuration...&quot;<br/> do_reload<br/> echo &quot;.&quot;<br/> ;;<br/> restart)<br/> echo -n &quot;Restarting $DESC: $NAME&quot;<br/> do_stop<br/> do_start<br/> echo &quot;.&quot;<br/> ;;<br/> *)<br/> echo &quot;Usage: $SCRIPTNAME &#123;start&#124;stop&#124;reload&#124;restart&#125;&quot; &gt;&amp;2<br/> exit 3<br/> ;;<br/>esac<br/><br/>exit 0<br/></div><br/><br/>其中<br/><br/><div class="code"><br/>PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br/>DESC=&quot;nginx daemon&quot;<br/>NAME=nginx<br/>DAEMON=/etc/nginx/$NAME<br/>CONFIGFILE=/etc/nginx/conf/$NAME.conf<br/>PIDFILE=/etc/nginx/logs/$NAME.pid<br/>SCRIPTNAME=/etc/init.d/$NAME<br/></div><br/><br/>按照实际情况配置路径。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/230/</link>
<title><![CDATA[Nginx关闭日志]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Sat, 30 Nov 2013 09:00:38 +0000</pubDate> 
<guid>//gm.angeldm.com/post/230/</guid> 
<description>
<![CDATA[ 
	用Nginx做Web服务器，如果没有处理好日志，日志文件可能会很恐怖~10G、20G<br/><br/>虽然 access_log 可以用 off，但是error_log不能用off，所以用Linux传统的方法是最稳妥。<br/><br/>把nginx.conf里面的log设置改成:<br/><div class="code"><br/>access_log /dev/null;<br/>error_log /dev/null;<br/></div><br/><br/>这样全部把他们丢到系统的黑洞里了~<br/>不用每时每刻都往系统磁盘疯狂的读写日志了，还延长硬盘的寿命。<br/><br/>修改完，重启Nginx即可。<br/>
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/227/</link>
<title><![CDATA[Cisco配PPPoE之后网页慢问题]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Sun, 17 Nov 2013 03:56:55 +0000</pubDate> 
<guid>//gm.angeldm.com/post/227/</guid> 
<description>
<![CDATA[ 
	通过PPPoE连接ADSL，出现读取网页过慢，PING显示正常。解决方法：<br/><div class="code"><br/>interface dialer 1<br/>ip tcp adjust-mss 1452<br/>ip mtu 1492<br/></div><br/><br/>以下是相关解释：<br/><br/>[背景知识]<br/>MTU: Maxitum Transmission Unit 最大传输单元<br/>MSS: Maxitum Segment Size 最大分段大小<br/>PPPoE: PPP Over Ethernet（在以太网上承载PPP协议）<br/><br/>[分析过程]<br/>先说说这MTU最大传输单元，这个最大传输单元实际上和链路层协议有着密切的关系，让我们先仔细回忆一下EthernetII帧的结构DMAC+SMAC+Type+Data+CRC<br/>由于以太网传输电气方面的限制，每个以太网帧都有最小的大小64bytes最大不能超过1518bytes，对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧，一般的以太网转发设备会丢弃这些数据帧。<br/>（注：小于64Bytes的数据帧一般是由于以太网冲突产生的“碎片”或者线路干扰或者坏的以太网接口产生的，对于大于1518Bytes的数据帧我们一般把它叫做Giant帧，这种一般是由于线路干扰或者坏的以太网口产生）<br/><br/>由于以太网EthernetII最大的数据帧是1518Bytes这样，刨去以太网帧的帧头（DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes）14Bytes和帧尾CRC校验部分4Bytes（这个部门有时候大家也把它叫做FCS），那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes这个值我们就把它称之为MTU。这个就是网络层协议非常关心的地方，因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片。就好比一个盒子没法装下一大块面包，我们需要把面包切成片，装在多个盒子里面一样的道理。<br/><br/>当两台远程PC互联的时候，它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端，网络中不同媒介的MTU各不相同，就好比一长段的水管，由不同粗细的水管组成（MTU不同 ）通过这段水管最大水量就要由中间最细的水管决定。<br/><br/>对于网络层的上层协议而言（我们以TCP/IP协议族为例）它们对水管粗细不在意它们认为这个是网络层的事情。网络层IP协议会检查每个从上层协议下来的数据包的大小，并根据本机MTU的大小决定是否作“分片”处理。分片最大的坏处就是降低了传输性能，本来一次可以搞定的事情，分成多次搞定，所以在网络层更高一层（就是传输层）的实现中往往会对此加以注意！有些高层因为某些原因就会要求我这个面包不能切片，我要完整地面包，所以会在IP数据包包头里面加上一个标签：DF（Donot Fragment）。这样当这个IP数据包在一大段网络（水管里面）传输的时候，如果遇到MTU小于IP数据包的情况，转发设备就会根据要求丢弃这个数据包。然后返回一个错误信息给发送者。这样往往会造成某些通讯上的问题，不过幸运的是大部分网络链路都是MTU1500或者大于1500。<br/><br/>对于UDP协议而言，这个协议本身是无连接的协议，对数据包的到达顺序以及是否正确到达不甚关心，所以一般UDP应用对分片没有特殊要求。<br/><br/>对于TCP协议而言就不一样了，这个协议是面向连接的协议，对于TCP协议而言它非常在意数据包的到达顺序以及是否传输中有错误发生。所以有些TCP应用对分片有要求---不能分片（DF）。<br/><br/>花开两朵，各表一枝，说完MTU的故事我们该讲讲今天的第二个---PPPoE所谓PPPoE就是在以太网上面跑PPP协议，有人奇怪了，PPP协议和Ethernet不都是链路层协议吗？怎么一个链路层跑到另外一个链路层上面去了，难道升级成网络层协议了不成。其实这是个误区：就是某层协议只能承载更上一层协议。<br/><br/>为什么会产生这种奇怪的需求呢？这是因为随着宽带接入（这种宽带接入一般为Cable Modem或者xDSL或者以太网的接入）由于以太网缺乏认证计费机制而传统运营商是通过PPP协议来对拨号等接入服务进行认证计费的，所以就出了这么一个怪胎：PPPoE。<br/><br/>PPPoE带来了好处，也带来了一些坏处，比如：二次封装耗费资源，降低了传输效能等等，这些坏处俺也不多说了，最大的坏处就是PPPoE导致MTU变小了以太网的MTU是1500，再减去PPP的包头包尾的开销（8Bytes），就变成1492。<br/><br/>如果两台主机之间的某段网络使用了PPPoE那么就会导致某些不能分片的应用无法通讯。<br/><br/>这个时候就需要我们调整一下主机的MTU，通过降低主机的MTU，这样我们就能够顺利地进行通讯了。<br/><br/>当然对于TCP应用而言还有另外的解决方案。<br/>马上请出今天第三位：MSS。<br/>MSS最大传输大小的缩写，是TCP协议里面的一个概念。<br/>MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值，这个值TCP协议在实现的时候往往用MTU值代替（需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes）所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。<br/><br/>我们回过头来看前言里面的那个问题，我们试想一下，如果我们在中间路由器上把每次TCP连接的最大MSS进行调整，这样使得通过PPPoE链路的最大MSS值加上数据包头包尾不会超过PPPoE的MTU大小1492，这样就不会造成无法通讯的问题。所以上面的问题可以通过ip tcp adjust-mss 1452来解决。<br/><br/>当然问题也可以通过修改PC机的MTU来解决。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/204/</link>
<title><![CDATA[squid PURGE objects 缓存管理]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Mon, 11 Jul 2011 04:21:31 +0000</pubDate> 
<guid>//gm.angeldm.com/post/204/</guid> 
<description>
<![CDATA[ 
	<div class="code">squidclient -m Purge http://www.url.com</div><br/><br/>如果出现 "access denied " 错误，则按照以下方法:<br/><br/>编辑 squid.conf<br/>添加以下规则<br/><div class="code"><br/>acl PURGE method PURGE<br/>acl localhost src 127.0.0.1<br/></div><br/><br/>设置仅允许localhost访问的权限<br/><div class="code"><br/>http_access allow PURGE localhost<br/>http_access deny PURGE<br/></div>
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/203/</link>
<title><![CDATA[清除指定squid缓存文件的脚本]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Mon, 11 Jul 2011 04:19:05 +0000</pubDate> 
<guid>//gm.angeldm.com/post/203/</guid> 
<description>
<![CDATA[ 
	Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广泛应用。Squid会在设置的缓存目录下建立多个目录，每一个目录下又建立多个目录，然后才在最里层的目录中存放缓存文件（object）。squid会根据用户请求网页的URL进行哈希，生成缓存文件，存放在某一个目录中。squid启动之后，将在内存中建立一个哈希表，记录硬盘中缓存文件配置的情形。<br/><br/>　　对于类似http://you.video.sina.com.cn/index.html之类的网页，squid只会生成一个缓存文件。可以用squid附带的squidclient工具清除：<br/><div class="code"><br/>squidclient -m PURGE -p 80 &quot;http://you.video.sina.com.cn/index.html&quot;<br/></div><br/><br/>　　而对于带有参数的网页，例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=4469852&uid=1278987704，因“?”后面的参数不同，导致URL也不同，squid会生成多个缓存文件，哈希分散存放在不同的目录。如果修改了这个outer_player.swf文件，要更新squid缓存就要去清除不同目录下及内存中的很多个缓存文件，十分麻烦，于是我编写了一个Linux下的shell脚本，去完成这件麻烦的事：<br/><br/>　　脚本文件名：clear_squid_cache.sh（8月2日修正了UC网友“城市中的寂寞”反馈的BUG）<br/><div class="code"><br/>#!/bin/sh<br/>squidcache_path=&quot;/var/spool/squid&quot;<br/>squidclient_path=&quot;/usr/sbin/squidclient&quot;<br/>grep -a -r $1 $squidcache_path/* &#124; strings &#124; grep &quot;http:&quot; &#124; awk -F&#039;http:&#039; &#039;&#123;print &quot;http:&quot;$2;&#125;&#039; &gt; cache_list.txt<br/>for url in `cat cache_list.txt`; do<br/>$squidclient_path -m PURGE -p 80 $url<br/>done<br/></div><br/>　　注意：请赋予clear_squid_cache.sh可执行权限（命令：chmod +x ./clear_squid_cache.sh）。请确保脚本所在目录可写。<br/><br/>　　设置：<br/>　　squidcache_path= 表示squid缓存目录的路径<br/>　　squidclient_path= 表示squidclient程序所在的路径，默认为squid安装目录下的bin/squidclient<br/><br/>　　用法：<br/>　　1、清除所有Flash缓存（扩展名.swf）：<br/>　　./clear_squid_cache.sh swf<br/><br/>　　2、清除URL中包含sina.com.cn的所有缓存：<br/>　　./clear_squid_cache.sh sina.com.cn<br/><br/>　　3、清除文件名为zhangyan.jpg的所有缓存：<br/>　　./clear_squid_cache.sh zhangyan.jpg<br/><br/>　　效率：<br/>　　经测试，在DELL 2950上清除26000个缓存文件用时2分钟左右。平均每秒可清除缓存文件177个。 
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/200/</link>
<title><![CDATA[CISCO全系列设备型号]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Wed, 29 Jun 2011 09:42:04 +0000</pubDate> 
<guid>//gm.angeldm.com/post/200/</guid> 
<description>
<![CDATA[ 
	一、思科（Cisco）路由器<br/>Cisco Router 1721 (16M FLASH 64M MEM) (1*10/100M以太口+2*WIC插槽)<br/>Cisco Router 1751 (16M FLASH 64M MEM) (1*10/100M以太口+2*WIC插槽)<br/>Cisco Router 1841 (32fM FLASH 128M MEM) (1*10/100M以太口+2*WIC插槽)<br/>Cisco Router 2501 (16M FLASH 16M MEM) (1*10M以太口+2*同步串口)<br/>Cisco Router 2503 (16M FLASH 16M MEM) (1*10M以太口+2*同步串口+1*ISDN口)<br/>Cisco Router 2509 (16M FLASH 16M MEM) (1*10M以太口, 2*同步串口+8个异步串口)<br/>Cisco Router 2511 (16M FLASH 16M MEM) (1*10M以太口, 2*同步串口+16个异步串口)<br/>Cisco Router 2514 (16M FLASH 64M MEM) (2*10M以太口+2*同步串口)<br/>Cisco Router 2610 (16M FLASH 64M MEM) (1*10M以太口+1*NM插槽+2*WIC插槽)<br/>Cisco Router 2611 (16M FLASH 64M MEM) (2*10M以太口+1*NM插槽+2*WIC插槽)<br/>Cisco Router 2620 (16M FLASH 64M MEM) (1*10M/100M口+1*NM插槽+2*WIC插槽)<br/>Cisco Router 2621 (16M FLASH 64M MEM) (2*10M/100M口+1*NM插槽+2*WIC插槽）<br/>Cisco Router 2611XM (32M FLASH 128M MEM) (2*10M/100M口+1*NM插槽+2*WIC插槽)<br/>Cisco Router 2621XM (32M FLASH 128M MEM) (2*10M/100M口+1*NM插槽+2*WIC插槽)<br/>Cisco Router 2651XM (32M FLASH 128M MEM) (2*10M/100M口+1*NM插槽+2*WIC插槽）<br/>Cisco Router 2801 (64M FLASH 256M MEM) (2*10M/100M口+4*HWIC插槽+2*PVDM）<br/>Cisco Router 2811 (64M FLASH 256M MEM) (2*10M/100M口+4*HWIC插槽+2*PVDM+1*NME插槽）<br/>Cisco Router 2821 (64M FLASH 256M MEM) (2*10M/100M1000M口+4*HWIC插槽+3*PVDM+1*NME插槽）<br/>Cisco Router 2851 (64M FLASH 256M MEM) (2*10M/100M/1000口+4*HWIC插槽+2*PVDM+1*NME插槽）<br/>Cisco Router 3620 (32M FLASH 64M MEM)<br/>Cisco Router 3640 (32M FLASH 128M MEM)<br/>Cisco Router 3661 (32M FLASH 64M MEM)&nbsp;&nbsp;(1*10M/100M口+6*模块化插槽)<br/>Cisco Router 3662 (32M FLASH 64M MEM)&nbsp;&nbsp;(1*10M/100M口+6*模块化插槽)<br/>Cisco Router 3725&nbsp;&nbsp;(标配)&nbsp;&nbsp; (2*10/100口+2*模块化插槽+3*WIC插槽)<br/>Cisco Router 3745&nbsp;&nbsp;(标配)&nbsp;&nbsp; (2*10/100口+4*模块化插槽+3*WIC插槽)<br/>Cisco Router 3825&nbsp;&nbsp;(标配)&nbsp;&nbsp;(2*10M/100M/1000M+1*SFP插槽+2NME插槽+4HWIC插槽)<br/>Cisco Router 3845&nbsp;&nbsp;(标配)&nbsp;&nbsp;(2*10M/100M/1000M+1*SFP插槽+4NME插槽+4HWIC插槽)<br/>Cisco Router 7204 (标配)<br/>Cisco Router 7206 (标配)<br/>Cisco Router 7204VXR (标配)<br/>Cisco Router 7206VXR (标配)<br/>Cisco Router 7505<br/>Cisco Router 7507<br/>Cisco Router 7513<br/><br/>二、思科（Cisco）交换机<br/>Cisco WS-C2924-XL-EN (24*100M)<br/>Cisco WS-C2948G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(48*100M+2GBIC)<br/>Cisco WS-C29248G-L3&nbsp;&nbsp;(48*100M+2GBIC带三层交换）<br/>Cisco WS-C2940-8TF-S (8*10/100M+1*100BASE-FX)<br/>Cisco WS-C2940-8TF-S (8*10/100M+1*1000BASE-TX)<br/>Cisco WS-C2950-8TF-S (8*10/100M+1*1000BASE-TX)<br/>Cisco WS-C2950-12 (12*10/100)<br/>Cisco WS-C2950-24 (24*10/100)<br/>Cisco WS-C2950SX-24 (24*10/100+2*1000BASE-SX)<br/>Cisco WS-C2950SX-48 (48*10/100+2*1000BASE-SX)<br/>Cisco WS-C2950T-24 (24*10/100+2*10/100/1000BASE-T)<br/>Cisco WS-C2950T-48 (48*10/100+2*10/100/1000BASE-T)<br/>Cisco WS-C2950G-12-E1 (12*10/100+2GBIC)<br/>Cisco WS-C2950G-24-E1 (24*10/100+2GBIC)<br/>Cisco WS-C2950G-48-E1 (48*10/100+2GBIC)<br/>Cisco WS-C2970G-24T-E (24*10/100/1000T)<br/>Cisco WS-C2970G-24TS-E (24*10/100/1000T+4SFP)<br/>Cisco WS-C3524-XL-EN&nbsp;&nbsp; (24*100M+2GBIC)<br/>Cisco WS-C3548-XL-EN&nbsp;&nbsp; (48*100M+2GBIC)<br/>Cisco WS-C3550-12G&nbsp;&nbsp; (10GBIC+2*10/100/1000BASE-T)<br/>Cisco WS-C3550-12T&nbsp;&nbsp; (2GBIC+10*10/100/1000BASE-T)<br/>Cisco WS-C3550-24-SMI&nbsp;&nbsp;(24*10/100M+2GBIC)<br/>Cisco WS-C3550-24-EMI&nbsp;&nbsp;(24*10/100M+2GBIC)<br/>Cisco WS-C3550-48-SMI&nbsp;&nbsp;(48*10/100M+2GBIC)<br/>Cisco WS-C3550-24-EMI&nbsp;&nbsp;(24*10/100M+2GBIC)<br/>Cisco WS-C3560-24TS-S&nbsp;&nbsp;(24*10/100M+2SFP)<br/>Cisco WS-C3560-24TS-E&nbsp;&nbsp;(24*10/100M+2SFP)<br/>Cisco WS-C3560-48TS-S&nbsp;&nbsp;(48*10/100M+4SFP)<br/>Cisco WS-C3560-48TS-E&nbsp;&nbsp;(48*10/100M+4SFP)<br/>Cisco WS-C3560G-24TS-S (24*10/100/1000T + 4SFP)<br/>Cisco WS-C3560G-24TS-E (24*10/100/1000T + 4SFP)<br/>Cisco WS-C3560G-48TS-S (48*10/100/1000T + 4SFP)<br/>Cisco WS-C3560G-48TS-E (24*10/100/1000T + 4SFP) <br/>Cisco WS-C3560-24PS-S (24*10/100带POE+ 2SFP)<br/>Cisco WS-C3560-24PS-E (24*10/100带POE+ 2SFP)<br/>Cisco WS-C3560-48PS-S (48*10/100带POE+ 4SFP)<br/>Cisco WS-C3560-48PS-E (48*10/100带POE+ 4SFP)<br/>Cisco WS-C3560G-24PS-S (24*10/100/1000T带POE+ 4SFP)<br/>Cisco WS-C3560G-24PS-E (24*10/100/1000T带POE+ 4SFP)<br/>Cisco WS-C3560G-48PS-S (48*10/100/1000T带POE+ 4SFP)<br/>Cisco WS-C3560G-48PS-E (48*10/100/1000T带POE+ 4SFP)<br/>Cisco WS-C3750-24TS-S (24*10/100+ 2SFP)<br/>Cisco WS-C3750-24TS-E (24*10/100+ 2SFP)<br/>Cisco WS-C3750-48TS-S (48*10/100+ 4SFP)<br/>Cisco WS-C3750-48TS-E (48*10/100+ 4SFP)<br/>Cisco WS-C3750G-24T-S (24*10/100/1000T)<br/>Cisco WS-C3750G-24T-E (24*10/100/1000T)<br/>Cisco WS-C3750G-24TS-S (24*10/100/1000T+4SFP)<br/>Cisco WS-C3750G-24TS-E (24*10/100/1000T+4SFP)<br/>Cisco WS-C3750G-48TS-S (48*10/100/1000T+4SFP)<br/>Cisco WS-C3750G-48TS-S (48*10/100/1000T+4SFP)<br/>Cisco WS-C3750G-16TD-S (16*10/100/1000T+1*10GBE)<br/>Cisco WS-C3750G-16TD-E (16*10/100/1000T+1*10GBE)<br/>Cisco WS-C3750G-12S-S (12SFP)<br/>Cisco WS-C3750G-12S-E(12SFP)<br/>Cisco WS-C3750G-24FS-S (24*100BASEFX+2SFP)<br/>Cisco WS-C3750-24PS-S (24*10/100带POE+ 2SFP)<br/>Cisco WS-C3750-24PS-E (24*10/100带POE+ 2SFP)<br/>Cisco WS-C3750-48PS-S (48*10/100带POE+ 4SFP)<br/>Cisco WS-C3750-48PS-E (48*10/100带POE+ 4SFP)<br/>Cisco WS-C4948 (48*10/100/1000+ 4SFP)<br/>Cisco WS-C4003 (3-Slot）<br/>Cisco WS-C4006 (6-slot）<br/>Cisco WS-C4503 (3-slot）<br/>Cisco WS-C4506 (6-slot）<br/>Cisco WS-C4507R (7-slot）<br/>Cisco WS-C4510R (10-slot）<br/>Cisco WS-C6506 (6-slot）<br/>Cisco WS-C6509 (9-slot）<br/>Cisco WS-C6513 (13-slot）<br/>三、思科（Cisco）防火墙<br/>Cisco PIX-501-BUN-K9 (10用户）<br/>Cisco PIX-501-50-BUN-K9 (50用户）<br/>Cisco PIX-506E (2FE)<br/>Cisco PIX-515E-R-BUN (2FE+Restricted)<br/>Cisco PIX-515E-R-BUN (2FE+Unrestricted)<br/>Cisco PIX-515E-R-DMZ-BUN (3FE+Restricted)<br/>Cisco PIX-525-R-BUN (2FE+Restricted)<br/>Cisco PIX-525-R-BUN (2FE+Unrestricted)<br/>Cisco PIX-535-R-BUN<br/>Cisco PIX-535-UR-BUN<br/>四、思科（Cisco）NM模块<br/>Cisco NM-2W 2WIC插槽<br/>Cisco NM-1FE2W 1端口10/100端口 2个WIC<br/>Cisco NM-1FE2W-V2 1端口10/100端口 2个WIC 网络模块插槽<br/>CiSCO NM-2FE2W 2端口100bTX快速以太网端口，2个WIC插槽网络模块<br/>Cisco NM-2FE2W-V2 2端口100bTX快速以太网端口，2个WIC网络模块插槽<br/>Cisco NM-4B-S/T 4端口ISDN BRI（S/T）网络模块<br/>Cisco NM-8B-S/T 8端口ISDN BRI（S/T）网络模块<br/>Cisco NM-4A/S 4端口异步/同步串行网络模块<br/>Cisco NM-8A/S 8端口异步/同步串行网络模块<br/>Cisco NM-8AM 8端口模拟调制解调器网络模块<br/>Cisco NM-16AM 16端口模拟调制解调器网络模块<br/>Cisco NM-4T 4端口高速串行同步专线网络模块<br/>Cisco NM-16A 16端口异步线路网络模块<br/>Cisco NM-32A 32端口异步线路网络模块<br/>Cisco NM-1E 1端口10bT以太网网络模块<br/>Cisco NM-4E 4端口10bT以太网网络模块<br/>Cisco NM-16ESW 16端口10/100快速以太网交换机网络模块<br/>Cisco NM-1FE-TX 1端口100bTX快速以太网网络模块<br/>Cisco NM-1FE-FX 1端口100bFX光纤以太网网络模块<br/>Cisco NM-1CE1U 1端口信道化E1/ISDN-PRI（非平衡）网络模块<br/>Cisco NM-1CE1T1-PRI 1端口信道化 E1/T1/ISDN-PRI 网络模块<br/>Cisco NM-2CE1U 2端口信道化E1/ISDN-PRI（非平衡）网络模块<br/>Cisco NM-2CE1T1-PRI 2端口信道化E1/T1/ISDN-PRI网络模块<br/>Cisco NM-1FE1CE1U 1端口100bTX,1端口信道化E1/ISDN-PRI（非平衡）模块<br/>Cisco NM-1V 1插槽语音/传真网络模块<br/>Cisco NM-2V 2插槽语音/传真网络模块<br/>Cisco NM-1GE 1端口GE网络模块<br/>Cisco NMD-36-ESW 36端口10/100以太网交换机高密度服务模块<br/>Cisco HWIC-4T 4端口高速串行同步专线HWIC接口模块<br/>Cisco HWIC-4ESW 4端口单宽10/100BASE-T 以太网交换 HWIC<br/>Cisco HWIC-D-9ESW (8+1) 端口双宽 10/100BASE-T以太网交换HWIC<br/>Cisco HWIC-D-9ESW-POE (8+1)端口双宽10/100BASE-T以太网交换HWIC,带集成馈线电源子卡<br/>Cisco HWIC-4A/S 4端口异步/同步串行HWIC网络模块<br/>Cisco HWIC-8A/S-232 8端口异步/同步串行HWIC网络模块EIA-232<br/>Cisco HWIC-8A 8端口异步 HWIC网络模块<br/>Cisco HWIC-16A 16端口异步HWIC网络模块<br/>Cisco NM-HDV-1E1-30 1端口30通道语音传真模块<br/>PVDM2-16 16路话音和传真DSP模块<br/>PVDM2-32 32路话音和传真DSP模块<br/>PVDM2-8 8路话音和传真DSP模块<br/>PVDM2-64 64路话音和传真DSP模块<br/>四、思科（Cisco）PA模块<br/>Cisco PA-2FE-TX 2端口快速以太网100bTX端口适配器<br/>Cisco PA-2FE-FX 2端口快速光纤以太网100bFX端口适配器<br/>Cisco PA-GE 1端口千兆以太网端口适配器<br/>Cisco PA-4E 4端口10BaseT 端口适配器<br/>Cisco PA-8E 8端口10BaseT 端口适配器<br/>Cisco PA-4T+ 4端口串行端口适配器，增强版 <br/>Cisco PA-8T-V35 8端口串行, V.35 端口适配器<br/>Cisco PA-A3-OC3MM 1端口ATM Enhanced OC3c/STM1 多模光纤适配器<br/>Cisco PA-A3-OC3SMI 1端口ATM Enhanced OC3c/STM1 单模光纤适配器<br/>Cisco PA-A3-OC3SML 1端口ATM Enhanced OC3c/STM1 单模(长距离)适配器<br/>Cisco PA-A6-OC3MM 1端口Enh ATM OC3c/STM1 多模光纤适配器 (8k VCs)<br/>Cisco PA-A6-OC3SMI 1端口Enh ATM OC3c/STM1 单模(IR)光纤适配器<br/>Cisco PA-A6-OC3SML 1端口Enh ATM OC3c/STM1 单模(LR)光纤适配器<br/>五、思科（Cisco）WIC模块<br/>Cisco WIC-1T 1端口10bt串行广域网接口卡<br/>Cisco WIC-2T 2端口10bt串行广域网接口卡<br/>Cisco WIC-1ADSL 1端口ADSL广域网接口卡<br/>Cisco WIC-1AM 1端口模拟调制解调器广域网接口卡<br/>Cisco WIC-2AM 2端口模拟调制解调器广域网接口卡<br/>Cisco WIC-2A/S 2端口异步/同步串行广域网接口卡<br/>Cisco WIC-1B-S/T 1端口ISDN BRI（S/T）广域网接口卡<br/>Cisco WIC-4ESW 4端口以太网交换模块<br/>六、思科（Cisco）VWIC模块<br/>Cisco VIC-2E/M 2端口语音接口卡-E&M<br/>Cisco VIC-2FXO 2端口语音接口卡-FXO<br/>Cisco VIC-2FXS 2端口语音接口卡-FXS<br/>Cisco VWIC-1MFT-E1 1端口E1/分离 弹性Trunk语音/广域网接口卡(含有DSU)<br/>Cisco VWIC-2MFT-E1 2端口E1/分离 弹性Trunk语音/广域网接口卡(含有DSU)<br/>Cisco VWIC-1MFT-G703 1端口G.703弹性 Trunk语音/广域网接口卡<br/>Cisco VWIC-2MFT-G703 1端口G.703弹性 Trunk语音/广域网接口卡<br/>Cisco WS-X4013+ Catalyst 4000系列 引擎 II，2 GE Plus<br/>七、思科（Cisco）4000/4500/6500引擎<br/>Cisco WS-X4012 4000系列 I<br/>Cisco WS-X4013&nbsp;&nbsp;4000系列 II，<br/>Cisco WS-X4013+ 4500系列引擎 II, 2GE<br/>Cisco WS-X4013+TS 4503 引擎 II-Plus-TS, 12G个10/100/1000PoE+8SFP插槽<br/>Cisco WS-X4014 Catalyst 4000系列 引擎 III ，2 GE<br/>Cisco WS-X4515 Catalyst 4000系列 引擎 IV ，2 GE<br/>Cisco WS-X4516 Catalyst 4500 系列 引擎 V ，2 GE<br/>Cisco WS-X4516-10GE 4500 引擎 V-10GE, 2x10GE (X2) + 4x1GE (SFP)<br/>Cisco WS-X6K-SUP1-2GE Catalyst 6500 Supervisor 引擎-1, 2GE<br/>Cisco WS-X6K-S1A-MSFC2 Catalyst 6500 Supervisor 引擎1-A, 2GE<br/>Cisco WS-X6K-S2-MSFC2 Catalyst 6500 Supervisor 引擎-2, 2GE<br/>Cisco WS-SUP720-3B 6500/Cisco7600 引擎720 Fabric MSFC3/PFC3B<br/>Cisco WS-SUP720-3BXL 6500/Cisco7600 引擎720 Fabric/MSFC3/PFC3BXL<br/>八、思科（Cisco）4000/4500/6500模块<br/>Cisco WS-X4124-RJ45 24端口10/100（自适应）<br/>Cisco WS-X4148-RJ 48端口10/100（自适应）<br/>Cisco WS-X4424-GB-RJ45 24端口10/100/1000（自适应）<br/>Cisco WS-X4448-GB-RJ45 48端口10/100/1000（自适应）<br/>Cisco WS-X4232-GB-RJ 32端口10/100和2端口千兆位以太网（GBIC）<br/>Cisco WS-X4306-GB 6端口千兆位以太网口模块（GBIC）<br/>Cisco WS-X4418-GB 18端口千兆位以太网口模块（GBIC）<br/>Cisco WS-X4232-L3<br/>Cisco WS-X6348-RJ-45 Catalyst 6000 48端口10/100bTX(RJ45)模块<br/>Cisco WS-X6408A-GBIC Catalyst 6000 8端口千兆位GBIC光纤插槽<br/>Cisco WS-X6416-GBIC Catalyst 6000 16端口千兆位GBIC光纤插槽<br/>Cisco WS-X6516-GE-TX 6500 16端口10/100/1000 GE Module, Cross-Bar<br/>Cisco WS-X6148V-GE-TX 6500 48端口10/100/1000 Inline Power Module<br/>九、思科（Cisco）路由引擎与接口卡<br/>Cisco NPE-225 网络处理引擎 NPE-225<br/>Cisco NPE-300 网络处理引擎 NPE-300<br/>Cisco NPE-400 网络处理引擎 NPE-400<br/>Cisco VIP4-50 4代50型多功能处理器<br/>Cisco VIP4-80 4代80型多功能处理器<br/>Cisco VIP6-80 6代80型多功能处理器<br/>Cisco RSP4+= 7500 系列路由 交换处理器4+<br/>Cisco RSP8= 7500 系列路由 交换处理器8<br/>Cisco RSP16= 7500 系列路由 交换处理器16<br/>十、思科（Cisco）电源<br/>Cisco PWR-C2811-AC&nbsp;&nbsp;2811AC电源<br/>Cisco PWR-C3845-AC&nbsp;&nbsp;3845AC电源<br/>Cisco PWR-7200-AC&nbsp;&nbsp;7200AC电源<br/>Cisco PWR-7200-DC&nbsp;&nbsp;&nbsp;&nbsp;7200AC电源<br/>Cisco WS-X4008 4006电源<br/>Cisco PWR-C45-1000AC Catalyst 4500 1000W 交流电源<br/>Cisco PWR-C45-1300ACV Catalyst 4500 1300W 交流电源,Inline Power<br/>Cisco PWR-C45-1400AC Catalyst 4500 1400W 交流电源<br/>Cisco WS-CAC-1300W Catalyst 6000, 1300W交流电源<br/>Cisco WS-CAC-2500W Catalyst 6000, 2500W交流电源<br/>十一、思科（Cisco）风扇<br/>Cisco WS-C6K-13SLOT-FAN2&nbsp;&nbsp;&nbsp;&nbsp;6513高速风扇<br/>Cisco WS-C6K-9SLOT-FAN2=&nbsp;&nbsp;&nbsp;&nbsp; 6509高速风扇<br/>Cisco WS-C6K-6SLOT-FAN2=&nbsp;&nbsp;&nbsp;&nbsp; 6506高速风扇<br/>Cisco WS-C6509-E-FAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6509-E风扇<br/>Cisco WS-C6506-E-FAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6506-E风扇<br/>Cisco WS-C6503-E-FAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6503-E风扇<br/>Cisco WS-C6509-NEB-FAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6509-NEB风扇<br/>Cisco WS-C6509-NEB-FAN2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6509-NEB 高速风扇<br/>十二、思科（Cisco）千兆模块<br/>WS-G5483 1000BASE-T GBIC<br/>WS-G5484 1000Base 短波，多模式光纤<br/>WS-G5486 1000Base 长波/长途，单或多模式光纤<br/>WS-G5487 1000Base 单模式光纤<br/>GLC-SX-MM GE SFP, 多模1000Base<br/>GLC-LH-SM GE SFP,单或多模1000Base 
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/197/</link>
<title><![CDATA[关于出现Internal Server Error问题]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Fri, 01 Oct 2010 16:19:55 +0000</pubDate> 
<guid>//gm.angeldm.com/post/197/</guid> 
<description>
<![CDATA[ 
	有些时候执行文件会出现Internal Server Error错误。其实出现这个问题，是因为很多PHP程序都需要修改文件夹的权限为777，但是我们的空间使用了suPHP，通过属主身份来运行PHP，所以不需要修改文件夹权限就有写入权限。如果修改了反而会有安全问题或者其它错误。<br/><br/>如果遇上这个错误信息，可以试一下这样解决：<br/><br/>目录权限设置为755<br/><br/>文件权限设置为644<br/><br/><br/>同时，请各位用户确认目录权限设置为755，文件权限设置为644。不用设置任何777之类权限的就可以访问了。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/post/195/</link>
<title><![CDATA[Directadmin安装AwStats]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Sat, 25 Sep 2010 07:49:21 +0000</pubDate> 
<guid>//gm.angeldm.com/post/195/</guid> 
<description>
<![CDATA[ 
	首先执行<br/><div class="code"><br/>cd /usr/local/directadmin/scripts<br/>./awstats.sh<br/></div><br/><br/>安装完毕之后，directadmin.conf文件会自动作以下修改<br/><div class="code"><br/>awstats=1<br/>webalizer=0<br/></div>
]]>
</description>
</item>
</channel>
</rss>