<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>我想网 &#187; Server</title>
	<atom:link href="http://www.iwanna.cn/topics/develope/server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iwanna.cn</link>
	<description></description>
	<lastBuildDate>Sat, 31 Jul 2010 15:12:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux流量监控工具 – iftop (最全面的iftop教程)</title>
		<link>http://www.iwanna.cn/archives/2010/07/30/4802/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/30/4802/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 04:30:17 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[站长工具]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4802</guid>
		<description><![CDATA[在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量，监控TCP/IP连接等，则可以使用iftop。
一、iftop是什么？
iftop是类似于top的实时流量监控工具。
官方网站：http://www.ex-parrot.com/~pdw/iftop/
二、iftop有什么用？
iftop可以用来监控网卡的实时流量（可以指定网段）、反向解析IP、显示端口信息等，详细的将会在后面的使用参数中说明。

三、安装iftop
安装方法1、编译安装
如果采用编译安装可以到iftop官网下载最新的源码包。
安装前需要已经安装好基本的编译所需的环境，比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。
CentOS上安装所需依赖包：
yum install flex byacc  libpcap ncurses ncurses-devel
Debian上安装所需依赖包：
apt-get install flex byacc  libpcap0.8 libncurses5
下载iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make &#38;&#38; make install
安装方法2：(懒人办法，最简单)
直接省略上面的步骤
CentOS系统：
yum install flex byacc  libpcap ncurses ncurses-devel
wget ftp://fr2.rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/iftop-0.17-1.el5.rf.i386.rpm
rpm -ivh iftop-0.17-1.el5.rf.i386.rpm
Debian系统 运行：apt-get install iftop
四、运行iftop
直接运行： iftop
效果如下图：

五、相关参数及说明
1、iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围，为显示流量图形的长条作标尺用的。
中间的&#60;= =&#62;这两个左右箭头，表示的是流量的方向。
TX：发送流量
RX：接收流量
TOTAL：总流量
Cumm：运行iftop到目前时间的总流量
peak：流量峰值
rates：分别表示过去 2s 10s 40s 的平均流量
2、iftop相关参数
常用的参数
-i设定监测的网卡，如：# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits)，如：# iftop -B
-n使host信息默认直接都显示IP，如：# iftop -n
-N使端口信息默认直接都显示端口号，如: # iftop -N
-F显示特定网段的进出流量，如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h（display this [...]]]></description>
			<content:encoded><![CDATA[<p>在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量，监控TCP/IP连接等，则可以使用<a href="http://www.iwanna.cn/archives/2010/07/30/4802/" target="_blank">iftop</a>。</p>
<h2>一、iftop是什么？</h2>
<p>iftop是类似于top的实时流量监控工具。</p>
<p>官方网站：<a href="http://www.ex-parrot.com/%7Epdw/iftop/" target="_blank">http://www.ex-parrot.com/~pdw/iftop/</a></p>
<h2>二、iftop有什么用？</h2>
<p>iftop可以用来监控网卡的实时流量（可以指定网段）、反向解析IP、显示端口信息等，详细的将会在后面的使用参数中说明。<br />
<span id="more-4802"></span></p>
<h2>三、安装iftop</h2>
<h3><strong>安装方法1、</strong>编译安装</h3>
<p>如果采用编译安装可以到<a href="http://www.ex-parrot.com/%7Epdw/iftop/" target="_blank">iftop官网</a>下载最新的源码包。</p>
<p>安装前需要已经安装好基本的编译所需的环境，比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。</p>
<p><strong>CentOS上安装所需依赖包：</strong></p>
<p>yum install flex byacc  libpcap ncurses ncurses-devel</p>
<p><strong>Debian上安装所需依赖包：</strong></p>
<p>apt-get install flex byacc  libpcap0.8 libncurses5</p>
<p>下载iftop</p>
<blockquote><p>wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz</p>
<p>tar zxvf iftop-0.17.tar.gz</p>
<p>cd iftop-0.17</p>
<p>./configure</p>
<p>make &amp;&amp; make install</p></blockquote>
<h3>安装方法2：(懒人办法，最简单)</h3>
<p>直接省略上面的步骤</p>
<p>CentOS系统：</p>
<p>yum install flex byacc  libpcap ncurses ncurses-devel</p>
<p>wget <a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">ftp</a>://fr2.rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/iftop-0.17-1.el5.rf.i386.rpm</p>
<p>rpm -ivh iftop-0.17-1.el5.rf.i386.rpm</p>
<p>Debian系统 运行：apt-get install iftop</p>
<h2>四、运行iftop</h2>
<p>直接运行： iftop</p>
<p>效果如下图：</p>
<p><img title="iftop-interface" src="http://www.vpser.net/uploads/2010/07/iftop-interface.jpg" alt="" width="646" height="341" /></p>
<h2>五、相关参数及说明</h2>
<h3>1、iftop界面相关说明</h3>
<p>界面上面显示的是类似刻度尺的刻度范围，为显示流量图形的长条作标尺用的。</p>
<p>中间的&lt;= =&gt;这两个左右箭头，表示的是流量的方向。</p>
<p>TX：发送流量<br />
RX：接收流量<br />
TOTAL：总流量<br />
Cumm：运行iftop到目前时间的总流量<br />
peak：流量峰值<br />
rates：分别表示过去 2s 10s 40s 的平均流量</p>
<h3>2、iftop相关参数</h3>
<h3>常用的参数</h3>
<p>-i设定监测的网卡，如：# iftop -i eth1</p>
<p>-B 以bytes为单位显示流量(默认是bits)，如：# iftop -B</p>
<p>-n使host信息默认直接都显示IP，如：# iftop -n</p>
<p>-N使端口信息默认直接都显示端口号，如: # iftop -N</p>
<p>-F显示特定网段的进出流量，如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0</p>
<p>-h（display this message），帮助，显示参数信息</p>
<p>-p使用这个参数后，中间的列表显示的本地主机信息，出现了本机以外的IP信息;</p>
<p>-b使流量图形条默认就显示;</p>
<p>-f这个暂时还不太会用，过滤计算包用的;</p>
<p>-P使host信息及端口信息默认就都显示;</p>
<p>-m设置界面最上边的刻度的最大值，刻度分五个大段显示，例：# iftop -m 100M</p>
<h3>进入iftop画面后的一些操作命令(注意大小写)</h3>
<p>按h切换是否显示帮助;</p>
<p>按n切换显示本机的IP或主机名;</p>
<p>按s切换是否显示本机的host信息;</p>
<p>按d切换是否显示远端目标主机的host信息;</p>
<p>按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;</p>
<p>按N切换显示端口号或端口服务名称;</p>
<p>按S切换是否显示本机的端口信息;</p>
<p>按D切换是否显示远端目标主机的端口信息;</p>
<p>按p切换是否显示端口信息;</p>
<p>按P切换暂停/继续显示;</p>
<p>按b切换是否显示平均流量图形条;</p>
<p>按B切换计算2秒或10秒或40秒内的平均流量;</p>
<p>按T切换是否显示每个连接的总流量;</p>
<p>按l打开屏幕过滤功能，输入要过滤的字符，比如ip,按回车后，屏幕就只显示这个IP相关的流量信息;</p>
<p>按L切换显示画面上边的刻度;刻度不同，流量图形条会有变化;</p>
<p>按j或按k可以向上或向下滚动屏幕显示的连接记录;</p>
<p>按1或2或3可以根据右侧显示的三列流量数据进行排序;</p>
<p>按&lt;根据左边的本机名或IP排序;</p>
<p>按&gt;根据远端目标主机的主机名或IP排序;</p>
<p>按o切换是否固定只显示当前的连接;</p>
<p>按f可以编辑过滤代码，这是翻译过来的说法，我还没用过这个！</p>
<p>按!可以使用shell命令，这个没用过！没搞明白啥命令在这好用呢！</p>
<p>按q退出监控。</p>
<h2>六、常见问题</h2>
<p>1、make: yacc: Command not found<br />
make: *** [grammar.c] Error 127</p>
<p>解决方法：apt-get install byacc   /   yum install byacc</p>
<p>2、configure: error: Curses! Foiled again!<br />
(Can’t find a curses library supporting mvchgat.)<br />
Consider installing ncurses.</p>
<p>解决方法：apt-get install libncurses5-dev  /    yum  install ncurses-devel</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/30/4802/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/30/4802/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/30/4802/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/30/4802/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/30/4802/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/linux/" title="Linux" rel="tag nofollow">Linux</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tutorial/" title="Tutorial" rel="tag nofollow">Tutorial</a>, <a href="http://www.iwanna.cn/topics/develope/stationmaster/" title="站长工具" rel="tag nofollow">站长工具</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/04/16/2748/" title="iPad 中的 QQ 安装指南 (2010年04月16日)">iPad 中的 QQ 安装指南</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/30/915/" title="解密CSS Sprites：技巧、工具和教程 (2009年04月30日)">解密CSS Sprites：技巧、工具和教程</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4628/" title="美化你的Google阅读器 (2010年07月19日)">美化你的Google阅读器</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/01/1900/" title="网页鼠标点击轨迹热图跟踪软件-ClickHeat (2009年07月1日)">网页鼠标点击轨迹热图跟踪软件-ClickHeat</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/07/3765/" title="简单的JQuery聚光灯效果教程 (2010年06月7日)">简单的JQuery聚光灯效果教程</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/17/1828/" title="用jQuery和CSS构建下拉菜单 (2009年06月17日)">用jQuery和CSS构建下拉菜单</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/09/2274/" title="替代微软Visio的免费开源软件：DIA (2009年10月9日)">替代微软Visio的免费开源软件：DIA</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3530/" title="数据之美之50个数据图形化工具(下) (2010年05月28日)">数据之美之50个数据图形化工具(下)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3529/" title="数据之美之50个数据图形化工具(上) (2010年05月28日)">数据之美之50个数据图形化工具(上)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/29/1215/" title="掌握强大的WordPress的子主题 (2009年05月29日)">掌握强大的WordPress的子主题</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/30/4802/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WEB日志格式及分析工具</title>
		<link>http://www.iwanna.cn/archives/2010/07/25/4733/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/25/4733/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 14:27:12 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[站长工具]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4733</guid>
		<description><![CDATA[WEB日志是网站分析和网站数据数据整理最基础的数据，了解其格式和组成将有利于更好地进行数据的收集、处理和分析。
一、日志格式类型
目前常见的WEB日志格式主要由两类，一类是Apache的NCSA日志格式，另一类是IIS的W3C日志格式。NCSA格式又分为NCSA普  通日志格式（CLF）和NCSA扩展日志格式（ECLF）两类，目前最常用的是NCSA扩展日志格式（ECLF）及基于自定义类型的Apache日志格  式；而W3C扩展日志格式（ExLF）具备了更为丰富的输出信息，但目前的应用并不广泛，所以这里主要介绍的是NCSA扩展日志格式（ECLF）。

二、常见日志格式的组成
这是一个最常见的基于NCSA扩展日志格式（ECLF）的Apache日志样例：
58.61.164.141 – – [22/Feb/2010:09:51:46 +0800] “GET /   HTTP/1.1″ 206 6326 ” http://www.google.cn/search?q=webdataanalysis”   “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”
可以看到这个日志主要由以下几个部分组成：
访问主机（remotehost） 显示主机的IP地址或者已解析的域名。
标识符（Ident）由identd或直接由浏览器返回浏览者的EMAIL或其他唯一标示，因为涉及用户邮箱等 隐私信息，目前几乎所有的浏览器就取消了这项功能。
授权用户（authuser）用于记录浏览者进行身份验证时提供的名字，如果需要身份验证或者访问密码保护的信 息则这项不为空，但目前大多数网站的日志这项也都是为空的。
日期时间（date）一般的格式形如[22/Feb/2010:09:51:46  +0800]，即[日期/月份/年份:小时:分钟:秒钟 时区]，占用的的字符位数也基本固定。
请求（request）即在网站上通过何种方式获取了哪些信息，也是日志中较为重要的一项，主要包括以下三个部 分：

 请求类型（METHOD）常见的请求类型主要包括GET/POST/HEAD这三种；
 请求资源（RESOURCE）显示的是相应资源的URL，可以是某个网页的地址，也可以是网页上调用的图 片、动画、CSS等资源；
 协议版本号（PROTOCOL）显示协议及版本信息，通常是HTTP/1.1或HTTP/1.0。

状态码（status）用于表示服务器的响应状态，通常1xx的状态码表示继续消息；2xx表示请求成 功；3xx表示请求的重定向；4xx表示客户端错误；5xx表示服务器错误。
传输字节数（bytes）即该次请求中一共传输的字节数。
来源页面（referrer）用于表示浏览者在访问该页面之前所浏览的页面，只有从上一页面链接过来的请求才会 有该项输出，如果是新开的页面则该项为空。上例中来源页面是google，即用户从google搜索的结果中点击进入。
用户代理（agent）用于显示用户的详细信息，包括IP、OS、Bowser等。
三、日志格式扩展
apache日志格式可以自定义来配置其输出格式，常见的基于NCSA扩展日志格式（ECLF）自定义添加的包括域名 （domain）和cookie。其中域名在一个网站拥有二级域名或者子域名时，可以更好地区分日 志；而cookie可以作为用户的身份标识。其他具体的自定义信息详见：Custom  Log Formats
四、导入日志数据到MySQL中
访问分析是SEO的一项重要工作，但统计、分析工具毕竟功能是针对大众的，很多时候SEO需要一些特定的数据，是统计分析软件、程序所不能提供的。 这样，直接的Web日志分析就是最合适的了，日志中会记录每一个访问情况，只要按自己的意愿提取、组合，就能得到想要的数据。使用SQL语句分析是最方便 的，需要什么样的数据，只要使用相应的SQL命令就能实现。
导入Web日志到MySQL数据库的实现
1、修改Apache日志格式
修改Web日志格式为：
Logformat combined %&#62;a,%ui,%un,[%tl],”%rm %ru  HTTP/%rv”,%Hs,%h”,”%{User-Agent}&#62;h”,%Ss:%Sh
SQL需要导入的内容有特定的分隔符，Apache的日志默认是以空格分隔的，而有些内容（如状态码中的 200  610）也包含空格，这就无法准确的导入。将日志格式修改为以逗号分隔，就能准确的导入了。还可以根据自己的需要，取消日志格式中不需要的内容，减少日志 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">WEB</a>日志是网站分析和网站数据数据整理最基础的数据，了解其格式和组成将有利于更好地进行数据的收集、处理和分析。</p>
<p><strong>一、日志格式类型</strong></p>
<p>目前常见的<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">WEB</a>日志格式主要由两类，一类是<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的NCSA日志格式，另一类是IIS的W3C日志格式。NCSA格式又分为NCSA普  通日志格式（CLF）和NCSA扩展日志格式（ECLF）两类，目前最常用的是NCSA扩展日志格式（ECLF）及基于自定义类型的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>日志格  式；而W3C扩展日志格式（ExLF）具备了更为丰富的输出信息，但目前的应用并不广泛，所以这里主要介绍的是NCSA扩展日志格式（ECLF）。<br />
<span id="more-4733"></span><br />
<strong>二、常见日志格式的组成</strong></p>
<p>这是一个最常见的基于NCSA扩展日志格式（ECLF）的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>日志样例：</p>
<blockquote><p>58.61.164.141 – – [22/Feb/2010:09:51:46 +0800] “GET /   HTTP/1.1″ 206 6326 ” http://www.google.cn/search?q=webdataanalysis”   “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”</p></blockquote>
<p>可以看到这个日志主要由以下几个部分组成：</p>
<p><strong>访问主机</strong>（remotehost） 显示主机的IP地址或者已解析的域名。</p>
<p><strong>标识符</strong>（Ident）由identd或直接由浏览器返回浏览者的EMAIL或其他唯一标示，因为涉及用户邮箱等 隐私信息，目前几乎所有的浏览器就取消了这项功能。</p>
<p><strong>授权用户</strong>（authuser）用于记录浏览者进行身份验证时提供的名字，如果需要身份验证或者访问密码保护的信 息则这项不为空，但目前大多数网站的日志这项也都是为空的。</p>
<p><strong>日期时间</strong>（date）一般的格式形如[22/Feb/2010:09:51:46  +0800]，即[日期/月份/年份:小时:分钟:秒钟 时区]，占用的的字符位数也基本固定。</p>
<p><strong>请求</strong>（request）即在网站上通过何种方式获取了哪些信息，也是日志中较为重要的一项，主要包括以下三个部 分：</p>
<ul>
<li><strong> </strong>请求类型（METHOD）常见的请求类型主要包括GET/POST/HEAD这三种；</li>
<li><strong> </strong>请求资源（RESOURCE）显示的是相应资源的URL，可以是某个网页的地址，也可以是网页上调用的图 片、动画、CSS等资源；</li>
<li><strong> </strong>协议版本号（PROTOCOL）显示协议及版本信息，通常是HTTP/1.1或HTTP/1.0。</li>
</ul>
<p><strong>状态码</strong>（status）用于表示服务器的响应状态，通常1xx的状态码表示继续消息；2xx表示请求成 功；3xx表示请求的重定向；4xx表示客户端错误；5xx表示服务器错误。</p>
<p><strong>传输字节数</strong>（bytes）即该次请求中一共传输的字节数。</p>
<p><strong>来源页面</strong>（referrer）用于表示浏览者在访问该页面之前所浏览的页面，只有从上一页面链接过来的请求才会 有该项输出，如果是新开的页面则该项为空。上例中来源页面是google，即用户从google搜索的结果中点击进入。</p>
<p><strong>用户代理</strong>（agent）用于显示用户的详细信息，包括IP、OS、Bowser等。</p>
<p><strong>三、日志格式扩展</strong></p>
<p><a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">apache</a>日志格式可以自定义来配置其输出格式，常见的基于NCSA扩展日志格式（ECLF）自定义添加的包括<strong>域名 （domain）</strong>和<strong>cookie</strong>。其中域名在一个网站拥有二级域名或者子域名时，可以更好地区分日 志；而cookie可以作为用户的身份标识。其他具体的自定义信息详见：<a href="http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#formats" target="_blank">Custom  Log Formats</a></p>
<p><strong>四、导入日志数据到MySQL中</strong></p>
<p>访问分析是SEO的一项重要工作，但统计、分析工具毕竟功能是针对大众的，很多时候SEO需要一些特定的数据，是统计分析软件、程序所不能提供的。 这样，直接的<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>日志分析就是最合适的了，日志中会记录每一个访问情况，只要按自己的意愿提取、组合，就能得到想要的数据。使用SQL语句分析是最方便 的，需要什么样的数据，只要使用相应的SQL命令就能实现。</p>
<p>导入<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>日志到MySQL数据库的实现</p>
<p>1、修改<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>日志格式</p>
<p>修改<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>日志格式为：</p>
<blockquote><p>Logformat combined %&gt;a,%ui,%un,[%tl],”%rm %ru  HTTP/%rv”,%Hs,%h”,”%{User-Agent}&gt;h”,%Ss:%Sh</p></blockquote>
<p>SQL需要导入的内容有特定的分隔符，<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的日志默认是以空格分隔的，而有些内容（如状态码中的 200  610）也包含空格，这就无法准确的导入。将日志格式修改为以逗号分隔，就能准确的导入了。还可以根据自己的需要，取消日志格式中不需要的内容，减少日志 文件大小。</p>
<p>2、建立MySQL数据表</p>
<blockquote><p>drop table if exists weblog;<br />
create table weblog (<br />
id int unsigned auto_increment PRIMARY KEY not null,<br />
l_date date,<br />
l_time time,<br />
c_ip varchar(15),<br />
s_ip varchar(15),<br />
s_port varchar(5),<br />
method varchar(10),<br />
path varchar(255),<br />
query varchar(255),<br />
status varchar(3),<br />
domain varchar(50),<br />
system varchar(200)<br />
);</p></blockquote>
<p>注：上面只是一个MySQL数据表结构范例，没有与上一步日志格式对应，请勿直接复制使用！</p>
<p>新建一个数据库，数据表结构与日志格式对应起来。</p>
<p>3、导入日志到MySQL中</p>
<blockquote><p>LOAD DATA INFILE  ’/日志位置/日志文件’  INTO TABLE weblog FIELDS  TERMINATED BY ‘,’;</p></blockquote>
<p>weblog 对应上面的数据表名。</p>
<p>另外，乐思蜀从网上找到一个将IIS日志导入到MySQL数据库的.pl程序，需要的<a href="http://www.box.net/shared/dnjdq4a6zc" target="_blank">点这里下载</a>（Readme.txt为使用说明）。</p>
<p>五、常用日志分析工具</p>
<p>1.awstats</p>
<p>2.analog</p>
<p>3.webalizer</p>
<p>4.PHPMyVisites</p>
<p>本文参考：</p>
<p>http://webdataanalysis.net/reference-and-source/weblog-format/</p>
<p>http://www.lesishu.com/net/import-weblog-to-mysql/</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/25/4733/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/25/4733/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/25/4733/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/25/4733/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/25/4733/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/analysis/" title="analysis" rel="tag nofollow">analysis</a>, <a href="http://www.iwanna.cn/topics/develope/server/apache/" title="Apache" rel="tag nofollow">Apache</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/web/" title="Web" rel="tag nofollow">Web</a>, <a href="http://www.iwanna.cn/topics/ui/web-ui/" title="WEB" rel="tag nofollow">WEB</a>, <a href="http://www.iwanna.cn/topics/develope/stationmaster/" title="站长工具" rel="tag nofollow">站长工具</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/27/4756/" title="如何量化用户体验 (2010年07月27日)">如何量化用户体验</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/16/3180/" title="关于交互设计师需要画的线框图 (2010年05月16日)">关于交互设计师需要画的线框图</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/02/4325/" title="做网站常用工具下载与介绍 (2010年07月2日)">做网站常用工具下载与介绍</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/09/1956/" title="5个整站下载工具 (2009年07月9日)">5个整站下载工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4285/" title="50 个Web 设计师的超便利工具[下] (2010年07月1日)">50 个Web 设计师的超便利工具[下]</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4284/" title="50 个Web 设计师的超便利工具[上] (2010年07月1日)">50 个Web 设计师的超便利工具[上]</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/24/4719/" title="20免费的Web UI元素工具箱和模具 (2010年07月24日)">20免费的Web UI元素工具箱和模具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/15/1819/" title="20个使Web开发变得更轻松的制作工具 (2009年06月15日)">20个使Web开发变得更轻松的制作工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/16/446/" title="2009年 非盈利机构必备的10大Web2.0工具 (2009年04月16日)">2009年 非盈利机构必备的10大Web2.0工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/24/821/" title="15个最受Web开发者欢迎的文本编辑器 (2009年04月24日)">15个最受Web开发者欢迎的文本编辑器</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/25/4733/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>谷歌将会把.co域名视为国际性域名</title>
		<link>http://www.iwanna.cn/archives/2010/07/23/4688/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/23/4688/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 13:21:28 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4688</guid>
		<description><![CDATA[众多.CO域名注册者声称他们关注的一点是Google会把.co域名视为哥伦比亚的地区域名，而不是国际域名。如果基于谷歌在判断谁是内容的创造 者时，国家的地区代码是一个最重要的因素这一规则, 这个假设就会成立.
根据PCPro.co.uk(一个流行的计算机网站)的一篇消息称，谷歌确认会将.co视为一个国际域名。 		——
虽然.co此刻仍然被划分为哥伦比亚的地区域名，但是一位谷歌的发言人表示不久以后将会有所改变。“如果网站的内容是以全球来定位，那么我们将会给.co  domains域名一个合适的等级。网站站长在不久的将来也会获得通过使用谷歌站长工具上面的地理选项来进行设置的功能。”
——
这将给.co域名带来一个巨大的推动，因为这是这几个星期以来,反对注册.co域名的观点里面最常见的论调。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, Server

	您可能会感兴趣的其他文章
	
	深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway 
	淘宝海量图片存储与CDN系统 
	服务器安全问题汇总 
	如何选择国外VPS（推荐给新人） 
	Godaddy无缝切换SSL，无需续费可省12美元 
	Godaddy 主机面板显示的主机状态中文解释 
	2010年国外最佳十大虚拟主机提供商 
	10点防止被国外主机商敲竹杠的技巧经验 



Feed enhanced by Better Feed from  Ozh
]]></description>
			<content:encoded><![CDATA[<p>众多.CO域名注册者声称他们关注的一点是Google会把.co域名视为哥伦比亚的地区域名，而不是国际域名。如果基于谷歌在判断谁是内容的创造 者时，国家的地区代码是一个最重要的因素这一规则, 这个假设就会成立.<br />
根据PCPro.co.uk(一个流行的计算机网站)的一篇消息称，谷歌确认会将.co视为一个国际域名。 		——<br />
虽然.co此刻仍然被划分为哥伦比亚的地区域名，但是一位谷歌的发言人表示不久以后将会有所改变。“如果网站的内容是以全球来定位，那么我们将会给.co  domains域名一个合适的等级。网站站长在不久的将来也会获得通过使用谷歌站长工具上面的地理选项来进行设置的功能。”<br />
——</p>
<p>这将给.co域名带来一个巨大的推动，因为这是这几个星期以来,反对注册.co域名的观点里面最常见的论调。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/23/4688/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/23/4688/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/23/4688/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/23/4688/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/23/4688/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商 (2010年06月23日)">2010年国外最佳十大虚拟主机提供商</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/21/4126/" title="10点防止被国外主机商敲竹杠的技巧经验 (2010年06月21日)">10点防止被国外主机商敲竹杠的技巧经验</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/23/4688/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTP工具：Filezilla完全手册</title>
		<link>http://www.iwanna.cn/archives/2010/07/20/4636/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/20/4636/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 13:32:36 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[FTP]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[站长工具]]></category>
		<category><![CDATA[Manual]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4636</guid>
		<description><![CDATA[名词解释：
什么是FTP：抛开更重解释，你只需要知道，FTP的作用是可以把你电脑上的文件和主机里的文件联系起来的工具，通过这个工具，你可以把电 脑里的文件上传到空间主机里，也可以把空间主机里的文件下载到电脑上。
市面上的FTP工具很多，Wopus只介绍一款，一款开源的FTP工具，觉得比起cuteftp、flashfxp这些来 说，Filezilla使用起来更加舒服和流畅，而且，这是一款开源的，功能经常升级的FTP软件。
一，Filezilla软件下载
软件下载地址：点击下载(支持 所有操作系统)
下载之后是安装，一路点击，可以自定义文件安装路径。安装成功之后启动Filezilla。

二，简单设置
这个FTP软件支持中文，所以我们先简单设置，让界面是中文的。
在工具栏找到：Edit–Setting。

点击Setting,在弹出的界面里找到：language，默认的是英文，找到chinese，然后确定。

这样界面就变成中文了。除了中文，FileZilla还支持其他很多种语言。
三，软件配置
下面开始配置软件，保证能正确连接到主机上。
如果是个人使用，直接配置这里就OK。
有些朋友在拿到主机信息之后，无法正确配置住，这里可以告诉大家，主机使用IP地址是最好的。用户名和 密码都是登陆主机需要的，拿WopusIDC的来说，这里的用户名和密码就是登陆Cpanel和DA的信息。端口是21。

四，基础使用
配置好之后，点击：快速链接。
这样就可以看到主机上的文件和相关信息了。

如果无法链接，请保证密码的长度正确(空格也是会被算成密码)和端口号是否正确。
1，定位到相关目录。
WopusIDC主机程序目录是public_html，只有把程序当道这个目录里才能生效。刚才图片里我们已经看到了这个目录，进入这个 目录的方法是：双击这个目录。
进入到目录的方法是：鼠标左键双击需要进入的目录即可。
2，上传文件。
知道定位目录之后，接下来把本地文件传到主机上去。
Filezilla工具界面左边是这样的：

这里我们可以找到需要上传的文件。然后鼠标单击右键，点击 上传，这个文件就会被传输到主机空间里指定的目录。可以上传压 缩文件，也可以上传一个文件夹。
3，下载文件。
下载文件是上传文件的逆过程，就是把主机里的程序下载到电脑里。在主机里找到需要下载的文件或者文件压缩包或者文件夹，单击鼠标邮件，点击 下载即可。
4，文件的覆盖。
拿wp-config.php来讲，在WP安装成功之后，一般都需要添加中文包，这样就需要修改wp-config.php，一般是先把这 个文件下载到本地，修改之后再上传。因为主机里已经有同名的文件存在，再上传相同文件的时候，我们就会收到这样的提示，直接点击 总是使用这个操作  即可，这样文件就被覆盖了。（一旦覆盖，就没办法找回，在覆盖之前一定要确认。）

五，高级操作
基本操作到这里就OK了，大家使用起来也不会有任何问题了。至于高级操作，有需要的朋友自己就搜索一下吧。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：FTP, FTP, Manual, Tool, Tool, 站长工具

	您可能会感兴趣的其他文章
	
	美化你的Google阅读器 
	网页鼠标点击轨迹热图跟踪软件-ClickHeat 
	替代微软Visio的免费开源软件：DIA 
	数据之美之50个数据图形化工具(下) 
	数据之美之50个数据图形化工具(上) 
	挑选VPS：Xen与OpenVZ有什么区别？ 
	微博通讯和即时通讯的对决 
	定制个性化群发邮件的小技巧：Mail Merge 
	多个解压缩JavaScript文件工具 
	基于Google Reader的个人知识管理方案 



Feed enhanced by Better Feed from  Ozh
]]></description>
			<content:encoded><![CDATA[<p><strong>名词解释：</strong></p>
<p>什么是<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>：抛开更重解释，你只需要知道，<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>的作用是可以把你电脑上的文件和主机里的文件联系起来的工具，通过这个工具，你可以把电 脑里的文件上传到空间主机里，也可以把空间主机里的文件下载到电脑上。<br />
市面上的<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>工具很多，Wopus只介绍一款，一款开源的<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>工具，觉得比起cuteftp、flashfxp这些来 说，Filezilla使用起来更加舒服和流畅，而且，这是一款开源的，功能经常升级的<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>软件。<br />
<strong>一，Filezilla软件下载</strong><br />
软件下载地址：<a href="http://filezilla-project.org/download.php?type=client">点击下载</a>(支持 所有操作系统)<br />
下载之后是安装，一路点击，可以自定义文件安装路径。安装成功之后启动Filezilla。<br />
<span id="more-4636"></span><br />
<strong>二，简单设置</strong><br />
这个<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>软件支持中文，所以我们先简单设置，让界面是中文的。<br />
在工具栏找到：Edit–Setting。<br />
<img title="filezilla_1" src="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_1.jpg" alt="filezilla_1" width="339" height="136" /><br />
点击Setting,在弹出的界面里找到：language，默认的是英文，找到chinese，然后确定。<br />
<img title="filezilla_21" src="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_21.jpg" alt="filezilla_21" width="508" height="379" /><br />
这样界面就变成中文了。除了中文，FileZilla还支持其他很多种语言。<br />
<strong>三，软件配置</strong><br />
下面开始配置软件，保证能正确连接到主机上。<br />
如果是个人使用，直接配置这里就OK。<br />
有些朋友在拿到主机信息之后，无法正确配置住，这里可以告诉大家，<strong>主机使用IP地址是最好的。</strong>用户名和 密码都是登陆主机需要的，拿WopusIDC的来说，这里的用户名和密码就是登陆Cpanel和DA的信息。<strong>端口是21。</strong><br />
<a href="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_3.jpg"><img title="filezilla_3" src="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_3-300x47.jpg" alt="filezilla_3" width="300" height="47" /></a><br />
<strong>四，基础使用</strong><br />
配置好之后，点击：快速链接。<br />
这样就可以看到主机上的文件和相关信息了。<br />
<img title="filezilla_4" src="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_4.jpg" alt="filezilla_4" width="622" height="379" /><br />
<strong>如果无法链接，请保证密码的长度正确(空格也是会被算成密码)和端口号是否正确。</strong><br />
<strong>1，定位到相关目录。</strong><br />
WopusIDC主机程序目录是public_html，只有把程序当道这个目录里才能生效。刚才图片里我们已经看到了这个目录，进入这个 目录的方法是：双击这个目录。<br />
进入到目录的方法是：鼠标左键双击需要进入的目录即可。<br />
<strong>2，上传文件。</strong><br />
知道定位目录之后，接下来把本地文件传到主机上去。<br />
Filezilla工具界面左边是这样的：<br />
<img title="filezilla_5" src="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_5.jpg" alt="filezilla_5" width="640" height="347" /><br />
这里我们可以找到需要上传的文件。然后鼠标单击右键，点击 上传，这个文件就会被传输到主机空间里指定的目录。<strong>可以上传压 缩文件，也可以上传一个文件夹。</strong><br />
<strong>3，下载文件。</strong><br />
下载文件是上传文件的逆过程，就是把主机里的程序下载到电脑里。在主机里找到需要下载的文件或者文件压缩包或者文件夹，单击鼠标邮件，点击 下载即可。<br />
<strong>4，文件的覆盖。</strong><br />
拿wp-config.php来讲，在WP安装成功之后，一般都需要添加中文包，这样就需要修改wp-config.php，一般是先把这 个文件下载到本地，修改之后再上传。因为主机里已经有同名的文件存在，再上传相同文件的时候，我们就会收到这样的提示，直接点击 总是使用这个操作  即可，这样文件就被覆盖了。（一旦覆盖，就没办法找回，在覆盖之前一定要确认。）<br />
<img title="filezilla_6" src="http://images.uheed.com/iwanna/2010/07/20/filezilla_3/filezilla_6.jpg" alt="filezilla_6" width="569" height="309" /><br />
<strong>五，高级操作</strong><br />
基本操作到这里就OK了，大家使用起来也不会有任何问题了。至于高级操作，有需要的朋友自己就搜索一下吧。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/20/4636/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/20/4636/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/20/4636/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/20/4636/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/20/4636/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/ftp/" title="FTP" rel="tag nofollow">FTP</a>, <a href="http://www.iwanna.cn/topics/develope/server/ftp-server-develope/" title="FTP" rel="tag nofollow">FTP</a>, <a href="http://www.iwanna.cn/tags/manual/" title="Manual" rel="tag nofollow">Manual</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/topics/develope/stationmaster/" title="站长工具" rel="tag nofollow">站长工具</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4628/" title="美化你的Google阅读器 (2010年07月19日)">美化你的Google阅读器</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/01/1900/" title="网页鼠标点击轨迹热图跟踪软件-ClickHeat (2009年07月1日)">网页鼠标点击轨迹热图跟踪软件-ClickHeat</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/09/2274/" title="替代微软Visio的免费开源软件：DIA (2009年10月9日)">替代微软Visio的免费开源软件：DIA</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3530/" title="数据之美之50个数据图形化工具(下) (2010年05月28日)">数据之美之50个数据图形化工具(下)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3529/" title="数据之美之50个数据图形化工具(上) (2010年05月28日)">数据之美之50个数据图形化工具(上)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/20/3244/" title="挑选VPS：Xen与OpenVZ有什么区别？ (2010年05月20日)">挑选VPS：Xen与OpenVZ有什么区别？</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4620/" title="微博通讯和即时通讯的对决 (2010年07月19日)">微博通讯和即时通讯的对决</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/03/30/2617/" title="定制个性化群发邮件的小技巧：Mail Merge (2010年03月30日)">定制个性化群发邮件的小技巧：Mail Merge</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/17/4031/" title="多个解压缩JavaScript文件工具 (2010年06月17日)">多个解压缩JavaScript文件工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/10/3051/" title="基于Google Reader的个人知识管理方案 (2010年05月10日)">基于Google Reader的个人知识管理方案</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/20/4636/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>服务器安全问题汇总</title>
		<link>http://www.iwanna.cn/archives/2010/07/08/4406/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/08/4406/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:03:18 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[safe]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4406</guid>
		<description><![CDATA[
服务器杀毒。
360safe检查服务器安全问题

a)       清理恶意插件。
b)       清理无用软件。
c)       修复系统漏洞。

d)      查杀流行木马。
e)       关闭无用进程/关闭无用启动项/关闭无用服务。

检查服务器安全

a)       查看WEB站点是否正常访问。
l  有没有多出新的站点？
l  站点使用的是什么数据库？
l  站点权限问题。
l  站点下是否有新上传的文件。
l  站点后台是否多个管理员操作权限。
l  检查各站点是否挂马，是否有注入漏洞，是否有JS漏洞，等等。
l  搜索站点目录下文件内容是否有“cmd/exec/serv-u”字样
l  查找.asp;.asa;.php;扩展名的文件大小大于25K的文件，打开查看是否是木马文件
l  IE打开站点时如果出现不明的加载DLL提示，立刻检查代码是否挂马，第三方的广告是否挂马，非站内URL是否被挂马。
l  可以安装“谷歌浏览器”和“360安全浏览器”会自动提示页面是否挂马，可查看挂马的文件
l  最主要的是凭感觉来发现病毒。如：服务器很慢/有隐藏的操作/aspx文件无cs文件/文件时间不对路/
l  挂马有多种方式：

以JS文件的形式将木马挂在页面上(asp/aspx/html/htm/php)。
以JS代码的形式将木马挂在页面上(asp/aspx/html/htm/php)。
将JS病毒代码放到CSS文件里。用” eXpreSsIon”和@import引用
将JS病毒代码放在JS文件里。用document.write输出调用。
用iframe打开有JS病毒的页面。
将JS病毒代码放在任意文件里，用“C:\WINDOWS\system32\inetsrv\MetaBase.Xml”用 “DefaultDocFooter=&#8221;FILE:C:\Inetpub\wwwroot\iisstart.htm&#8221;”来调用。
通过IIS的ISAPI （ISAPI扩展/ISAPI筛选器）挂马，删除无用的ISAPI即可。
如果在服务器上找不到病毒代码那么可能是ARP挂马

b)       查看数据库是否正常访问
l  不要使用SA操作数据库。
l  新建一个通用的操作所有数据库的用户。
l  各个数据库权限问题。是否有特殊的权限？
l  数据库对应的站点是否明确，是用什么角色操作的。
l  查看执行的SQL效率，及时改进SQL的优化。
l  定期删除1个月前的数据库备份文件。
l  定期完全备份常用数据库，每天增量备份常用数据库。写成SQL维护计划，会自动备份数据。
l  如果有离职的程序员就要修改数据库登录账号密码
c)       查看系统用户和组是否正常。
l  有没有不认识的用户和组信息。
l  用户所属者。
l  各个用户对应的权限。
l  用户的密码安全度。
l  正常情况下有4个账号就是安全的。如：Administrator/ASPNET/IUSR_*/IWAM_*
l  如果有离职的程序员就要修改登录账号密码
d)      查看FTP账号是否正常。
l  有没有不认识的新建用户信息。
l  用户所属者。
l  各个用户对应的权限。
l  用户的密码安全度。
l  如果有离职的程序员就要修改FTP账号密码
e)       查看其它信息。
l  检查常用服务是否启动。
如：CMailServer/Serv-U/ServerSQL 2000/
l   系统最容易留后门的文件是“c:\windows\system32\sethc.exe和c:\windows\system32\dllcache \sethc.exe”，每次在登录远程的时候，要试下连续按7下“shift”键，如果出现的是
这个窗口说明sethc.exe正常，否则要先删除“c:\windows\system32\dllcache\sethc.exe”文件在删除 “c:\windows\system32\sethc.exe”文件。然后复制本地的文件先上传到dllcache目录下。先删除dllcache目录 下的文件是不让这个文件自动恢复。
可以禁用“控制面板-辅助功能选项-粘滞键设置-关掉使用快捷键”
l  一定要禁用“servers”服务。这样才能关掉隐藏共享。
如图不能存在隐藏共享：
l  如果服务器aspx文件中被加入了JS病毒代码。运行＂无乱码清除ＷＥＢ页中的病毒代码＂
可无乱码替换病毒代码。
l  打开IIS-&#62;Web服务器扩展-&#62;在服务器端的包含文件 禁用
只启用“Active ServerPages/ASP.NET v1.1/ASP.NET v2.0”就可以了。
如果使用ISAPI_Rewrite工具还要启用“ISAPI扩展服务”
l   如果服务器很慢，并且开通了IIS的SMTP服务发送EMAIL，要定期清空“c:\Inetpub\mailroot\Badmail”目录内容。可以 写个CMD命令完成：del c:\Inetpub\mailroot\Badmail\*.* /f/s /q
注意在群发EMAIL的时先关闭杀毒软件对EMAIL的监视功能。

IIS站点问题汇总

a)       如果站点打不开，请用FF浏览器查看出错原因，IE是无法查看到具体的出错原因的。
b)       如果出现错误第一时间将出错信息复制到baidu上查找原因。
c)       NET环配置可能出现的问题是：

1.1和2.0之间的对应问题，如果你站点是1.1的在站点设置里面也要版本选择1.1的
未知的错误可能是IIS对应目录的文件权限问题。如写Access文件/写日志文件或配置文件都需要权限。权限设置也要注意一些事项，机子不同权 [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>服务器杀毒。</li>
<li>360safe检查服务器安全问题</li>
</ol>
<p>a)       清理恶意插件。</p>
<p>b)       清理无用软件。</p>
<p>c)       修复系统漏洞。<br />
<span id="more-4406"></span><br />
d)      查杀流行木马。</p>
<p>e)       关闭无用进程/关闭无用启动项/关闭无用服务。</p>
<ol>
<li>检查服务器安全</li>
</ol>
<p>a)       查看<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">WEB</a>站点是否正常访问。</p>
<p>l  有没有多出新的站点？</p>
<p>l  站点使用的是什么数据库？</p>
<p>l  站点权限问题。</p>
<p>l  站点下是否有新上传的文件。</p>
<p>l  站点后台是否多个管理员操作权限。</p>
<p>l  检查各站点是否挂马，是否有注入漏洞，是否有JS漏洞，等等。</p>
<p>l  搜索站点目录下文件内容是否有“cmd/exec/serv-u”字样</p>
<p>l  查找.asp;.asa;.php;扩展名的文件大小大于25K的文件，打开查看是否是木马文件</p>
<p>l  IE打开站点时如果出现不明的加载DLL提示，立刻检查代码是否挂马，第三方的广告是否挂马，非站内URL是否被挂马。</p>
<p>l  可以安装“谷歌浏览器”和“360安全浏览器”会自动提示页面是否挂马，可查看挂马的文件</p>
<p>l  最主要的是凭感觉来发现病毒。如：服务器很慢/有隐藏的操作/aspx文件无cs文件/文件时间不对路/</p>
<p>l  挂马有多种方式：</p>
<ol>
<li>以JS文件的形式将木马挂在页面上(asp/aspx/html/htm/php)。</li>
<li>以JS代码的形式将木马挂在页面上(asp/aspx/html/htm/php)。</li>
<li>将JS病毒代码放到CSS文件里。用” eXpreSsIon”和@import引用</li>
<li>将JS病毒代码放在JS文件里。用document.write输出调用。</li>
<li>用iframe打开有JS病毒的页面。</li>
<li>将JS病毒代码放在任意文件里，用“C:\WINDOWS\system32\inetsrv\MetaBase.Xml”用 “DefaultDocFooter=&#8221;FILE:C:\Inetpub\wwwroot\iisstart.htm&#8221;”来调用。</li>
<li>通过IIS的ISAPI （ISAPI扩展/ISAPI筛选器）挂马，删除无用的ISAPI即可。</li>
<li>如果在服务器上找不到病毒代码那么可能是ARP挂马</li>
</ol>
<p>b)       查看数据库是否正常访问</p>
<p>l  不要使用SA操作数据库。</p>
<p>l  新建一个通用的操作所有数据库的用户。</p>
<p>l  各个数据库权限问题。是否有特殊的权限？</p>
<p>l  数据库对应的站点是否明确，是用什么角色操作的。</p>
<p>l  查看执行的SQL效率，及时改进SQL的优化。</p>
<p>l  定期删除1个月前的数据库备份文件。</p>
<p>l  定期完全备份常用数据库，每天增量备份常用数据库。写成SQL维护计划，会自动备份数据。</p>
<p>l  如果有离职的程序员就要修改数据库登录账号密码</p>
<p>c)       查看系统用户和组是否正常。</p>
<p>l  有没有不认识的用户和组信息。</p>
<p>l  用户所属者。</p>
<p>l  各个用户对应的权限。</p>
<p>l  用户的密码安全度。</p>
<p>l  正常情况下有4个账号就是安全的。如：Administrator/ASPNET/IUSR_*/IWAM_*</p>
<p>l  如果有离职的程序员就要修改登录账号密码</p>
<p>d)      查看<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>账号是否正常。</p>
<p>l  有没有不认识的新建用户信息。</p>
<p>l  用户所属者。</p>
<p>l  各个用户对应的权限。</p>
<p>l  用户的密码安全度。</p>
<p>l  如果有离职的程序员就要修改<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>账号密码</p>
<p>e)       查看其它信息。</p>
<p>l  检查常用服务是否启动。</p>
<p>如：CMailServer/Serv-U/ServerSQL 2000/</p>
<p>l   系统最容易留后门的文件是“c:\windows\system32\sethc.exe和c:\windows\system32\dllcache \sethc.exe”，每次在登录远程的时候，要试下连续按7下“shift”键，如果出现的是</p>
<p>这个窗口说明sethc.exe正常，否则要先删除“c:\windows\system32\dllcache\sethc.exe”文件在删除 “c:\windows\system32\sethc.exe”文件。然后复制本地的文件先上传到dllcache目录下。先删除dllcache目录 下的文件是不让这个文件自动恢复。</p>
<p>可以禁用“控制面板-辅助功能选项-粘滞键设置-关掉使用快捷键”</p>
<p>l  一定要禁用“servers”服务。这样才能关掉隐藏共享。</p>
<p>如图不能存在隐藏共享：</p>
<p>l  如果服务器aspx文件中被加入了JS病毒代码。运行＂无乱码清除ＷＥＢ页中的病毒代码＂</p>
<p>可无乱码替换病毒代码。</p>
<p>l  打开IIS-&gt;<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>服务器扩展-&gt;在服务器端的包含文件 禁用</p>
<p>只启用“Active ServerPages/ASP.NET v1.1/ASP.NET v2.0”就可以了。</p>
<p>如果使用ISAPI_Rewrite工具还要启用“ISAPI扩展服务”</p>
<p>l   如果服务器很慢，并且开通了IIS的SMTP服务发送EMAIL，要定期清空“c:\Inetpub\mailroot\Badmail”目录内容。可以 写个CMD命令完成：del c:\Inetpub\mailroot\Badmail\*.* /f/s /q</p>
<p>注意在群发EMAIL的时先关闭杀毒软件对EMAIL的监视功能。</p>
<ol>
<li>IIS站点问题汇总</li>
</ol>
<p>a)       如果站点打不开，请用FF浏览器查看出错原因，IE是无法查看到具体的出错原因的。</p>
<p>b)       如果出现错误第一时间将出错信息复制到baidu上查找原因。</p>
<p>c)       NET环配置可能出现的问题是：</p>
<ol>
<li>1.1和2.0之间的对应问题，如果你站点是1.1的在站点设置里面也要版本选择1.1的</li>
<li>未知的错误可能是IIS对应目录的文件权限问题。如写Access文件/写日志文件或配置文件都需要权限。权限设置也要注意一些事项，机子不同权 限也不同，操作系统不同权限也不同。</li>
</ol>
<p>大部分机子都是需要加入“Everyone”有修改权限即可。</p>
<p>如果还是出错。NET就要加入“ASPNET” 有修改权限。如果是ASP的要加入“IUSR_xxxxxxx” 有修改权限。</p>
<p>如果还是出错需要加入“C:\WINDOWS\temp目录Everyone” 修改权限。</p>
<p>如果还是出错需要加入“C:\Documents and Settings\当前用户目录\Local  Settings\Temp目录Everyone” 修改权限。</p>
<p>如果还是出错需要加入“C:\Documents and Settings\xxxxxx\ASPNET目录ASPNET” 修改权限。</p>
<ol>
<li>出错“CS0016:未能写入输出文件:  &#8216;*:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NET  Files\*\*.dll&#8217;&#8211;拒绝访问”</li>
</ol>
<p>l  右键C:\Windows\Temp文件夹&#8211;属性&#8211;安全,添加一个用户&#8221;NETWORK SERVICE&#8221;,(如果是.NET  Framework 1.0或Win2000 则添加用户&#8221;aspnet user&#8221;),&#8221;赋予权限&#8211;完全控制</p>
<p>l  重新启动IIS</p>
<p>4.  出错“(服务器应用程序不可用)您试图在此 <a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a> 服务器上访问的 <a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a> 应用程序当前不可用。请点击 <a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a> 浏览器中的”</p>
<p>l  站点指向新的应用程序池</p>
<p>l   运行“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis-r”</p>
<p>l  先重安装IIS，在安装NET Framework</p>
<p>5. “ServiceUnavailable”应该程序池用户无权限，不是IIS_WPG组。</p>
<p>6.  HTTP 错误401.1 &#8211; 未经授权：访问由于凭据无效被拒绝</p>
<p>开始－程序－本地安全策略，在本地策略－用户权限分配中，找到从网络访问计算机这一项，添加刚才新建的IIS站点用户</p>
<p>d)      如果出现的问题实在是找不到原因，可以重启IIS，如果还不行就重启电脑。有很多意外的错误只能重启电脑才能解决。</p>
<p>e)       网站开发过重中，要时修改修改代码，NET站点如果有改动App_Code目录下的文件/<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>.config文件/bin目录 下的文件/.master文件都需要重新编译。如果改动的次数过多网站会打开很慢很慢。这次需要重启IIS。</p>
<p>f)        站点不要建太多的虚拟目录，如果虚拟目录和一般目录同名时虚拟目录优先级高，所以一般目录下的内容是访问不了的。</p>
<p>g)       删除windows\system32\dllcache\目录中的cacls.exe/cmd.exe/net.exe /net1.exe/<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">ftp</a>.exe/tftp.exe/telnet.exe/netstat.exe/regedit.exe/at.exe /attrib.exe/format.com文件．然后设置windows\system32目录中的cacls.exe/cmd.exe /net.exe/net1.exe/<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">ftp</a>.exe/tftp.exe/telnet.exe/netstat.exe/regedit.exe /at.exe/attrib.exe/format.com只有administrators组和system有执行和读取权限．</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/08/4406/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/08/4406/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/08/4406/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/08/4406/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/08/4406/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/safe/" title="safe" rel="tag nofollow">safe</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/09/4451/" title="基本代码安全知识 (2010年07月9日)">基本代码安全知识</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4404/" title="web代码安全问题总结 (2010年07月8日)">web代码安全问题总结</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/10/3843/" title="HTML 5 在各种主流浏览器上的安全问题 (2010年06月10日)">HTML 5 在各种主流浏览器上的安全问题</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商 (2010年06月23日)">2010年国外最佳十大虚拟主机提供商</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/08/4406/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</title>
		<link>http://www.iwanna.cn/archives/2010/07/06/4374/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/06/4374/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 03:20:08 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4374</guid>
		<description><![CDATA[Nginx 502 Bad  Gateway的含义是请求的PHP-CGI已经执行，但是由于某种原因（一般是读取资源的问题）没有执行完毕而导致PHP-CGI进程终止。
Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到，简单来说就是没有请求到可以执行的PHP-CGI。
解决这两个问题其实是需要综合思考的，一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关，而Nginx  504 Gateway Time-out则是与nginx.conf的设置有关。
而正确的设置需要考虑服务器自身的性能和访客的数量等多重因素。
以我目前的服务器为例子CPU是奔四1.5G的，内存1GB，CENTOS的系统，访客大概是50人左右同时在线。

但是在线的人大都需要请求PHP-CGI进行大量的信息处理，因此我将nginx.conf设置为：
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;#8 128
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
这里最主要的设置是前三条，即
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
这里规定了PHP-CGI的连接、发送和读取的时间，300秒足够用了，因此我的服务器很少出现504 Gateway  Time-out这个错误。最关键的是php-fpm.conf的设置，这个会直接导致502 Bad Gateway和504 Gateway  Time-out。
下面我们来仔细分析一下php-fpm.conf几个重要的参数：
php-fpm.conf有两个至关重要的参数，一个是”max_children”,另一个是”request_terminate_timeout”
我的两个设置的值一个是”40″，一个是”900″，但是这个值不是通用的，而是需要自己计算的。
计算的方式如下：
如果你的服务器性能足够好，且宽带资源足够充足，PHP脚本没有系循环或BUG的话你可以直接将”request_terminate_timeout” 设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点，也就是说你的PHP-CGI可能出现某个BUG，或者你的 宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给”request_terminate_timeout”赋一个值，这个值可以 根据你服务器的性能进行设定。一般来说性能越好你可以设置越高，20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行，有的可能会超过10 分钟因此我设置了900秒，这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。
而”max_children”这个值又是怎么计算出来的呢？这个值原则上是越大越好，php-cgi的进程多了就会处理的很快，排队的请求就会很 少。设置”max_children”也需要根据服务器的性能进行设定，一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右，因 此我的”max_children”我设置成40个，20M*40=800M也就是说在峰值的时候所有PHP-CGI所耗内存在800M以内，低于我的有 效内存1Gb。而如果我的”max_children”设置的较小，比如5-10个，那么php-cgi就会“很累”，处理速度也很慢，等待的时间也较 长。如果长时间没有得到处理的请求就会出现504 Gateway  Time-out这个错误，而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。

© 我想网 Akon 所有 , [...]]]></description>
			<content:encoded><![CDATA[<p>Nginx 502 Bad  Gateway的含义是请求的PHP-CGI已经执行，但是由于某种原因（一般是读取资源的问题）没有执行完毕而导致PHP-CGI进程终止。<br />
Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到，简单来说就是没有请求到可以执行的PHP-CGI。</p>
<p>解决这两个问题其实是需要综合思考的，一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关，而Nginx  504 Gateway Time-out则是与nginx.conf的设置有关。<br />
而正确的设置需要考虑服务器自身的性能和访客的数量等多重因素。<br />
以我目前的服务器为例子CPU是奔四1.5G的，内存1GB，CENTOS的系统，访客大概是50人左右同时在线。<br />
<span id="more-4374"></span><br />
但是在线的人大都需要请求PHP-CGI进行大量的信息处理，因此我将nginx.conf设置为：<br />
fastcgi_connect_timeout 300s;<br />
fastcgi_send_timeout 300s;<br />
fastcgi_read_timeout 300s;<br />
fastcgi_buffer_size 128k;<br />
fastcgi_buffers 8 128k;#8 128<br />
fastcgi_busy_buffers_size 256k;<br />
fastcgi_temp_file_write_size 256k;<br />
fastcgi_intercept_errors on;<br />
这里最主要的设置是前三条，即<br />
fastcgi_connect_timeout 300s;<br />
fastcgi_send_timeout 300s;<br />
fastcgi_read_timeout 300s;<br />
这里规定了PHP-CGI的连接、发送和读取的时间，300秒足够用了，因此我的服务器很少出现504 Gateway  Time-out这个错误。最关键的是php-fpm.conf的设置，这个会直接导致502 Bad Gateway和504 Gateway  Time-out。<br />
下面我们来仔细分析一下php-fpm.conf几个重要的参数：<br />
php-fpm.conf有两个至关重要的参数，一个是”max_children”,另一个是”request_terminate_timeout”<br />
我的两个设置的值一个是”40″，一个是”900″，但是这个值不是通用的，而是需要自己计算的。<br />
计算的方式如下：<br />
如果你的服务器性能足够好，且宽带资源足够充足，PHP脚本没有系循环或BUG的话你可以直接将”request_terminate_timeout” 设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点，也就是说你的PHP-CGI可能出现某个BUG，或者你的 宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给”request_terminate_timeout”赋一个值，这个值可以 根据你服务器的性能进行设定。一般来说性能越好你可以设置越高，20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行，有的可能会超过10 分钟因此我设置了900秒，这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。</p>
<p>而”max_children”这个值又是怎么计算出来的呢？这个值原则上是越大越好，php-cgi的进程多了就会处理的很快，排队的请求就会很 少。设置”max_children”也需要根据服务器的性能进行设定，一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右，因 此我的”max_children”我设置成40个，20M*40=800M也就是说在峰值的时候所有PHP-CGI所耗内存在800M以内，低于我的有 效内存1Gb。而如果我的”max_children”设置的较小，比如5-10个，那么php-cgi就会“很累”，处理速度也很慢，等待的时间也较 长。如果长时间没有得到处理的请求就会出现504 Gateway  Time-out这个错误，而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/06/4374/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/06/4374/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/06/4374/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/06/4374/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/06/4374/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商 (2010年06月23日)">2010年国外最佳十大虚拟主机提供商</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/21/4126/" title="10点防止被国外主机商敲竹杠的技巧经验 (2010年06月21日)">10点防止被国外主机商敲竹杠的技巧经验</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/06/4374/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>淘宝海量图片存储与CDN系统</title>
		<link>http://www.iwanna.cn/archives/2010/07/01/4280/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/01/4280/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 16:39:13 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Picture]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4280</guid>
		<description><![CDATA[淘宝海量图片存储与CDN系统


© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：CDN, Picture, Server, Server

	您可能会感兴趣的其他文章
	
	谷歌将会把.co域名视为国际性域名 
	深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway 
	服务器安全问题汇总 
	推荐10个英文图片网站 
	如何选择国外VPS（推荐给新人） 
	三重缓冲：我们为什么要拥戴它 
	Godaddy无缝切换SSL，无需续费可省12美元 
	Godaddy 主机面板显示的主机状态中文解释 
	CDN基本常识 
	50个令人叫绝的字体排版画像 



Feed enhanced by Better Feed from  Ozh
]]></description>
			<content:encoded><![CDATA[<p>淘宝海量图片存储与CDN系统<br />
<object width="425" height="355" id="__sse4508477"><param value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cdn-100615125200-phpapp02&amp;stripped_title=cdn-4508477" name="movie"><param value="true" name="allowFullScreen"><param value="always" name="allowScriptAccess"><embed width="425" height="355" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cdn-100615125200-phpapp02&amp;stripped_title=cdn-4508477" name="__sse4508477"></object></p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/01/4280/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/01/4280/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/01/4280/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/01/4280/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/01/4280/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/cdn/" title="CDN" rel="tag nofollow">CDN</a>, <a href="http://www.iwanna.cn/tags/picture/" title="Picture" rel="tag nofollow">Picture</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/07/4399/" title="推荐10个英文图片网站 (2010年07月7日)">推荐10个英文图片网站</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/29/1882/" title="三重缓冲：我们为什么要拥戴它 (2009年06月29日)">三重缓冲：我们为什么要拥戴它</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/17/481/" title="CDN基本常识 (2009年04月17日)">CDN基本常识</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/15/4568/" title="50个令人叫绝的字体排版画像 (2010年07月15日)">50个令人叫绝的字体排版画像</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/01/4280/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2010年国外最佳十大虚拟主机提供商</title>
		<link>http://www.iwanna.cn/archives/2010/06/23/4158/</link>
		<comments>http://www.iwanna.cn/archives/2010/06/23/4158/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 13:22:43 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4158</guid>
		<description><![CDATA[虚拟主机，是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等，提供必要的站点功能与数据存放、传输功能。虚拟主机技术的出现，可谓是对互 联网技术的重大贡献，同时是广大互联网用户的福音。虚拟主机的出现为互联网服务器节省了硬体成本，而从也能充分利用服务器硬体资源。
互联网日益成为大众商家的焦点，伴随着技术的迅猛发展，企业信息化已成为市场竞争的重要手段。虚拟主机，极其低廉的费用，信息发布成本的大大降低，覆盖范 围广等优势，吸引了市场上众多的提供商，催生了“百花齐放，百鸟争鸣”的繁华景象。今天，IDC评述网大家介绍国外十大虚拟主机提供商。
1． Inmotion（网络评价：5分满分）：商务型虚拟主机
主机评分：98%
Inmotion主办勤奋工作提供可靠的托管解决方案，快速和强大。其托管的解决办法是通过更可靠的使用一流的托管设备。 InMotion提供细致周到的托管服务，提供了大量在每个主机软件包。各种功能都非常稳定，在英文用户中的口碑(稳定性和技术支持)都是非常好的 　　，技术支持非常到位，但在国内基本上没有知名度。
2． iPage（网络评价：5分）：受信任的虚拟主机
主机评分：97%
iPage提供可靠和高质量的虚拟主机服务，现架设超过1,000,000个网站。iPage虚拟主机服务使用100%风力绿色能源，以一流的价格、质量 的虚拟主机方案和出色的客户服务而闻名，ipage从1998年开始为世界各地的网站提供主机服务。iPage提供无限空间，无限流量，性能稳定且国内速 度流畅等优势，但遗憾的是iPage没有独立IP。
3． JustHost（网络评价：4.5分）：编辑选择型虚拟主机
主机评分：96%
JustHost是一家国外新兴的主机商，总部位于英国，澳大利亚有一个办事处，数据中心位于美国伊利诺伊州芝加哥市。虽然是一个新兴的主机商，但是在国 外也比较受用户好评。JustHost主机计划提供免费的域名，允许你使用自己的cPanel账户，支持电子商务功能。同时JustHost还提供各种档 次的专用主机，并且允许用户按自己的需求定制。justhost被wordpress官方认定为最适合wordpress的主机之一，总之性能还是不错。
4． WebHostingPad（网络评价：4.5分）：价廉可靠型虚拟主机
主机评分：96%
WebHostingPad是07年美国虚拟主机的新秀，成立于2005年，团队领导非常优秀，以合适的价格，提供优良的服务，获得了大量的来自全球的用 户。难得的是对亚洲的网络用户做了特别的主机管理，速度支持非常的好。
5．WebHostingHub（网络评价：4.5分）：最佳个人型虚拟主机
主机评分：95%
WebHostingHub是一个优秀的虚拟主机提供商，并且提供永久免费域名服务，主机无限域以及免费网站制作等优势服务。将会是用户的一个很好的合作 伙伴。
6． FatCow（网络评价：4.5分）：廉价型虚拟主机
主机评分：95%
FatCow是一家美国虚拟主机服务商，成立于1998年，总部位于美国新墨西哥州的阿尔伯克基（Albuquerque, New Mexico）。Fatcow主机商作为一个超过10年运营历史的主机商，拥有99.9%以上的平均在线时间，稳定性毋庸置疑。它还提供无限空间，无限流 量，免费域名1个，可以绑定无限域名，建无限个站点等优势服务。
7． GreenGeeks（网络评价：4.5分）：绿色型虚拟主机
主机评分：95%
GreenGeeks空间国内访问速度非常快，为数不多的无限空间无限流量的reseller空间。同样提供免费域名服务，主机无限域以及免费网站生成器 等优势服务。是一个很好的绿色主机服务商。
8．Bluehost（网络评价：4分）：无限型虚拟主机
主机评分：94%
BlueHost是一家美国的虚拟主机提供商，成立于1996年，位于犹他州。已经具有了10年的虚拟主机服务经验。为了能提供更专业可靠的网站服务，只 提供一种方案, 让该公司能专精于全力服务客户。Bluehost 是国内用户选择较多的美国主机之一，尤其受到外贸客户的青睐，在国内访问速度优良，主机各方面运行稳定。
9． Hostmonster（网络评价：4分）：便宜的Unix主机
主机评分：93%
Hostmonster成立于1996年，是2009年第四季度美国冠军服务提供商，HOSTMONSTER还特别为亚洲客户优化了数据中心的服务器.是 非常适合中国用户使用的，最便宜才是最关键。HostMonster 和 BlueHost 同属一家公司， HostMonster的主机注册流程与BlueHost的完全一模一样。至于为何BlueHost要成立另外一家HostMonster 主机公司呢？ 这是一种行销策。过不同的品牌来针对不同的客户群进行促销。
10． GoDaddy（网络评价：3.5分）：最大的虚拟主机商
主机评分：92%
Godaddy是世界第一大域名注册商，进军主机领域以后发展迅速，据多家监测机构显示，放置在Godaddy上的网站数量已经越居第一位。 Godaddy同时提供linux主机，Windows主机，VPS以及独立主机全线主机产品，各种需求的客户在这里都可以找到适合自己的产品。 Godaddy同时提供独立IP，SSL证书，帮助客户快速打造自己的电子商务网站。
编辑结语：这些都是虚拟主机优惠价格价值比排名提供商。主机的选择还是以可靠性，运行性，主要功能，附加功能，客户支持，用户反馈，用户友好等考虑为先。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
1条评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, Server

	您可能会感兴趣的其他文章
	
	谷歌将会把.co域名视为国际性域名 
	深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway 
	淘宝海量图片存储与CDN系统 
	服务器安全问题汇总 
	如何选择国外VPS（推荐给新人） 
	Godaddy无缝切换SSL，无需续费可省12美元 [...]]]></description>
			<content:encoded><![CDATA[<p>虚拟主机，是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等，提供必要的站点功能与数据存放、传输功能。虚拟主机技术的出现，可谓是对互 联网技术的重大贡献，同时是广大互联网用户的福音。虚拟主机的出现为互联网服务器节省了硬体成本，而从也能充分利用服务器硬体资源。<br />
互联网日益成为大众商家的焦点，伴随着技术的迅猛发展，企业信息化已成为市场竞争的重要手段。虚拟主机，极其低廉的费用，信息发布成本的大大降低，覆盖范 围广等优势，吸引了市场上众多的提供商，催生了“百花齐放，百鸟争鸣”的繁华景象。今天，IDC评述网大家介绍<strong><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商">国外十大虚拟主机提供商</a></strong>。<br />
<strong>1． Inmotion（网络评价：5分满分）：商务型虚拟主机</strong><br />
主机评分：98%<br />
Inmotion主办勤奋工作提供可靠的托管解决方案，快速和强大。其托管的解决办法是通过更可靠的使用一流的托管设备。 InMotion提供细致周到的托管服务，提供了大量在每个主机软件包。各种功能都非常稳定，在英文用户中的口碑(稳定性和技术支持)都是非常好的 　　，技术支持非常到位，但在国内基本上没有知名度。<br />
<strong>2． iPage（网络评价：5分）：受信任的虚拟主机</strong><br />
主机评分：97%<br />
iPage提供可靠和高质量的虚拟主机服务，现架设超过1,000,000个网站。iPage虚拟主机服务使用100%风力绿色能源，以一流的价格、质量 的虚拟主机方案和出色的客户服务而闻名，ipage从1998年开始为世界各地的网站提供主机服务。iPage提供无限空间，无限流量，性能稳定且国内速 度流畅等优势，但遗憾的是iPage没有独立IP。<br />
<strong>3． JustHost（网络评价：4.5分）：编辑选择型虚拟主机</strong><br />
主机评分：96%<br />
JustHost是一家国外新兴的主机商，总部位于英国，澳大利亚有一个办事处，数据中心位于美国伊利诺伊州芝加哥市。虽然是一个新兴的主机商，但是在国 外也比较受用户好评。JustHost主机计划提供免费的域名，允许你使用自己的cPanel账户，支持电子商务功能。同时JustHost还提供各种档 次的专用主机，并且允许用户按自己的需求定制。justhost被wordpress官方认定为最适合wordpress的主机之一，总之性能还是不错。<br />
<strong>4． WebHostingPad（网络评价：4.5分）：价廉可靠型虚拟主机</strong><br />
主机评分：96%<br />
WebHostingPad是07年美国虚拟主机的新秀，成立于2005年，团队领导非常优秀，以合适的价格，提供优良的服务，获得了大量的来自全球的用 户。难得的是对亚洲的网络用户做了特别的主机管理，速度支持非常的好。<br />
<strong>5．WebHostingHub（网络评价：4.5分）：最佳个人型虚拟主机</strong><br />
主机评分：95%<br />
WebHostingHub是一个优秀的虚拟主机提供商，并且提供永久免费域名服务，主机无限域以及免费网站制作等优势服务。将会是用户的一个很好的合作 伙伴。<br />
<strong>6． FatCow（网络评价：4.5分）：廉价型虚拟主机</strong><br />
主机评分：95%<br />
FatCow是一家美国虚拟主机服务商，成立于1998年，总部位于美国新墨西哥州的阿尔伯克基（Albuquerque, New Mexico）。Fatcow主机商作为一个超过10年运营历史的主机商，拥有99.9%以上的平均在线时间，稳定性毋庸置疑。它还提供无限空间，无限流 量，免费域名1个，可以绑定无限域名，建无限个站点等优势服务。<br />
<strong>7． GreenGeeks（网络评价：4.5分）：绿色型虚拟主机</strong><br />
主机评分：95%<br />
GreenGeeks空间国内访问速度非常快，为数不多的无限空间无限流量的reseller空间。同样提供免费域名服务，主机无限域以及免费网站生成器 等优势服务。是一个很好的绿色主机服务商。<br />
<strong>8．Bluehost（网络评价：4分）：无限型虚拟主机</strong><br />
主机评分：94%<br />
BlueHost是一家美国的虚拟主机提供商，成立于1996年，位于犹他州。已经具有了10年的虚拟主机服务经验。为了能提供更专业可靠的网站服务，只 提供一种方案, 让该公司能专精于全力服务客户。Bluehost 是国内用户选择较多的美国主机之一，尤其受到外贸客户的青睐，在国内访问速度优良，主机各方面运行稳定。<br />
<strong>9． Hostmonster（网络评价：4分）：便宜的Unix主机</strong><br />
主机评分：93%<br />
Hostmonster成立于1996年，是2009年第四季度美国冠军服务提供商，HOSTMONSTER还特别为亚洲客户优化了数据中心的服务器.是 非常适合中国用户使用的，最便宜才是最关键。HostMonster 和 BlueHost 同属一家公司， HostMonster的主机注册流程与BlueHost的完全一模一样。至于为何BlueHost要成立另外一家HostMonster 主机公司呢？ 这是一种行销策。过不同的品牌来针对不同的客户群进行促销。<br />
<strong>10． GoDaddy（网络评价：3.5分）：最大的虚拟主机商</strong><br />
主机评分：92%<br />
Godaddy是世界第一大域名注册商，进军主机领域以后发展迅速，据多家监测机构显示，放置在Godaddy上的网站数量已经越居第一位。 Godaddy同时提供linux主机，Windows主机，VPS以及独立主机全线主机产品，各种需求的客户在这里都可以找到适合自己的产品。 Godaddy同时提供独立IP，SSL证书，帮助客户快速打造自己的电子商务网站。<br />
编辑结语：这些都是虚拟主机优惠价格价值比排名提供商。主机的选择还是以可靠性，运行性，主要功能，附加功能，客户支持，用户反馈，用户友好等考虑为先。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/06/23/4158/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/06/23/4158/#comments">1条评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/06/23/4158/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/06/23/4158/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/06/23/4158/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/21/4126/" title="10点防止被国外主机商敲竹杠的技巧经验 (2010年06月21日)">10点防止被国外主机商敲竹杠的技巧经验</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/06/23/4158/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>10点防止被国外主机商敲竹杠的技巧经验</title>
		<link>http://www.iwanna.cn/archives/2010/06/21/4126/</link>
		<comments>http://www.iwanna.cn/archives/2010/06/21/4126/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 14:59:29 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4126</guid>
		<description><![CDATA[现在的虚拟主机市场竞争非常激烈，主机商们也纷纷使出浑身解数，其中也包括一下比较卑鄙的手段。为了防止被主机商敲竹杠，下面有10点小技巧：
1. 尽量不要使用主机商提供的域名，让域名跟虚拟主机相对独立
主机商提供的免费的域名有两种：一种是真正的免费，你有完全的域名控制权，可以自由转出。另外一种是免费租借。这种域名是你选择的域名主机商给你免费注册 后给你使用，但是你没有完全控制权，不能自由或免费转出。真正拥有域名的是主机商，而不是你。
现在大部分的虚拟主机商提供的域名是真正的免费，还是比较容易转出的。在不清楚的情况下，为了预防，最好不要用他们的域名(或者事先问清楚相关的情况)， 域名的费用也不算多。另外，将域名转移到主机商那里也许是一个最大的错误，一般情况下都是转入容易转出难，最好是在一些知名的域名注册商那里注册域名，比 如GoDaddy、eNom等。使用虚拟主机的时候，只需要改一下DNS就可以了。

2. 空间和流量大小往往都是主机商的市场策略
现在很多国外虚拟主机提供的空间大小和流量大小都是上千G的，这些往往都是过度销售(overselling)的虚拟主机。没必要去比较那些没有意思的数 字，我们是不可能用完那些空间和流量的，空间商也不允许我们用完，他们会以资源限制我们的使用，甚至停止帐号。
3. 购买之前先测试一下他们的技术支持
虚拟主机出点问题是正常的，但是出问题后要得到及时的解决，这就要求虚拟主机商提供及时和专业的技术支持。为了检测主机商的技术支持，我们可以在购买之前 向技术支持问几个问题，以检测他们的及时性和专业性。如果一个简单的问题一天都得不到答复，那么我们还是远离这样的主机商。
4. 多看看论坛、评论网站和博客
不要只看那些所谓的TOP  10网站，这些网站往往是谁给钱多就说谁好，或者本身就是主机商的网站。推荐看一下这些论坛WebHostingTalk, SitePoint,  v7n, WickedFire, DigitalPoint,  iWebTool等，这些论坛上很多都是真实的用户评论，对选择虚拟主机很有帮助。也可以看看一些blog，多看看总是没有什么坏处的。不要期望一个公司 有100%的好评。
5. 使用优惠码(Coupons)省些钱
如果有优惠码(coupons)的话，最好是使用coupons，这是明折明扣，实实在在的省钱。
6. 自己备份网站，不要相信其他人
把主动权掌握在自己手中是最好的，记住经常备份自己的网站。
7. 使用PayPal或者一次性信用卡付款
这是为了防止在我们取消帐号后，主机商还从我们的信用卡中扣款。PayPal是一直很方便的付款方式，也是我们比较熟悉的。一次性信用卡在国内好像还没见 到这样的，国外比较常见，就是每次付款可以为信用卡生成一个卡号，限制这个卡号额度和过期时间，这样主机商就没法从这个卡号中再次扣钱了。
8. 避免一次购买非常长的时间，除非是很信任的主机商
购买的时间越长，价格会相对便宜，但是却大大限制了我们的自由，很多在退款保证期过后取消帐号的话，是拿不到退款的。
9. 多看看服务条款
那里还是有不少玄机的。不要以为国外的虚拟主机就可以做任何内容的网站，或者做任何事情。购买之前要多看看主机商的服务条款，不要违反那些条款，否则的话 帐号有可能被暂停或取消，而得不到一分钱补偿或退款。
10. 付出多少得到多少(不要勉强)
也就是我们常说的一分钱一分货，这个在虚拟主机市场中也是通用的，毕竟虚拟主机商也是需要成本的。想拿虚拟主机当着VPS或者是独立服务器使用是不可能 的。在资金比较充足并且网站需要的情况下，可以考虑VPS或者是独立服务器。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, Server

	您可能会感兴趣的其他文章
	
	谷歌将会把.co域名视为国际性域名 
	深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway 
	淘宝海量图片存储与CDN系统 
	服务器安全问题汇总 
	如何选择国外VPS（推荐给新人） 
	Godaddy无缝切换SSL，无需续费可省12美元 
	Godaddy 主机面板显示的主机状态中文解释 
	2010年国外最佳十大虚拟主机提供商 



Feed enhanced by [...]]]></description>
			<content:encoded><![CDATA[<p>现在的虚拟主机市场竞争非常激烈，主机商们也纷纷使出浑身解数，其中也包括一下比较卑鄙的手段。为了防止被主机商敲竹杠，下面有<strong><a href="http://www.iwanna.cn/archives/2010/06/21/4126/" title="10点防止被国外主机商敲竹杠的技巧经验">10点小技巧</a></strong>：</p>
<p>1. 尽量不要使用主机商提供的域名，让域名跟虚拟主机相对独立</p>
<p>主机商提供的免费的域名有两种：一种是真正的免费，你有完全的域名控制权，可以自由转出。另外一种是免费租借。这种域名是你选择的域名主机商给你免费注册 后给你使用，但是你没有完全控制权，不能自由或免费转出。真正拥有域名的是主机商，而不是你。</p>
<p>现在大部分的虚拟主机商提供的域名是真正的免费，还是比较容易转出的。在不清楚的情况下，为了预防，最好不要用他们的域名(或者事先问清楚相关的情况)， 域名的费用也不算多。另外，将域名转移到主机商那里也许是一个最大的错误，一般情况下都是转入容易转出难，最好是在一些知名的域名注册商那里注册域名，比 如GoDaddy、eNom等。使用虚拟主机的时候，只需要改一下DNS就可以了。<br />
<span id="more-4126"></span><br />
2. 空间和流量大小往往都是主机商的市场策略</p>
<p>现在很多国外虚拟主机提供的空间大小和流量大小都是上千G的，这些往往都是过度销售(overselling)的虚拟主机。没必要去比较那些没有意思的数 字，我们是不可能用完那些空间和流量的，空间商也不允许我们用完，他们会以资源限制我们的使用，甚至停止帐号。</p>
<p>3. 购买之前先测试一下他们的技术支持</p>
<p>虚拟主机出点问题是正常的，但是出问题后要得到及时的解决，这就要求虚拟主机商提供及时和专业的技术支持。为了检测主机商的技术支持，我们可以在购买之前 向技术支持问几个问题，以检测他们的及时性和专业性。如果一个简单的问题一天都得不到答复，那么我们还是远离这样的主机商。</p>
<p>4. 多看看论坛、评论网站和博客</p>
<p>不要只看那些所谓的TOP  10网站，这些网站往往是谁给钱多就说谁好，或者本身就是主机商的网站。推荐看一下这些论坛WebHostingTalk, SitePoint,  v7n, WickedFire, DigitalPoint,  iWebTool等，这些论坛上很多都是真实的用户评论，对选择虚拟主机很有帮助。也可以看看一些blog，多看看总是没有什么坏处的。不要期望一个公司 有100%的好评。</p>
<p>5. 使用优惠码(Coupons)省些钱</p>
<p>如果有优惠码(coupons)的话，最好是使用coupons，这是明折明扣，实实在在的省钱。</p>
<p>6. 自己备份网站，不要相信其他人</p>
<p>把主动权掌握在自己手中是最好的，记住经常备份自己的网站。</p>
<p>7. 使用PayPal或者一次性信用卡付款</p>
<p>这是为了防止在我们取消帐号后，主机商还从我们的信用卡中扣款。PayPal是一直很方便的付款方式，也是我们比较熟悉的。一次性信用卡在国内好像还没见 到这样的，国外比较常见，就是每次付款可以为信用卡生成一个卡号，限制这个卡号额度和过期时间，这样主机商就没法从这个卡号中再次扣钱了。</p>
<p>8. 避免一次购买非常长的时间，除非是很信任的主机商</p>
<p>购买的时间越长，价格会相对便宜，但是却大大限制了我们的自由，很多在退款保证期过后取消帐号的话，是拿不到退款的。</p>
<p>9. 多看看服务条款</p>
<p>那里还是有不少玄机的。不要以为国外的虚拟主机就可以做任何内容的网站，或者做任何事情。购买之前要多看看主机商的服务条款，不要违反那些条款，否则的话 帐号有可能被暂停或取消，而得不到一分钱补偿或退款。</p>
<p>10. 付出多少得到多少(不要勉强)</p>
<p>也就是我们常说的一分钱一分货，这个在虚拟主机市场中也是通用的，毕竟虚拟主机商也是需要成本的。想拿虚拟主机当着VPS或者是独立服务器使用是不可能 的。在资金比较充足并且网站需要的情况下，可以考虑VPS或者是独立服务器。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/06/21/4126/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/06/21/4126/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/06/21/4126/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/06/21/4126/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/06/21/4126/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商 (2010年06月23日)">2010年国外最佳十大虚拟主机提供商</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/06/21/4126/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN 快速上手教程</title>
		<link>http://www.iwanna.cn/archives/2010/06/10/3836/</link>
		<comments>http://www.iwanna.cn/archives/2010/06/10/3836/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 16:04:17 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[SVN]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3836</guid>
		<description><![CDATA[SVN 是什么？
SVN全名Subversion，即版本控制系统。
　　SVN与CVS一样，是一个跨平台的软件，支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。   这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。   这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。
　　SubVersion：实现服务系统的软件。
　　TortoiseSVN：是SVN客户端程序，为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。
　　SVNService.exe：是专为 SubVersion 开发的一个用来作为 Win32 服务挂接的入口程序。
　　AnkhSVN：是一个专为Visual Studio提供SVN的插件。

1.下载客户端：
下载地址：http://192.168.1.202/soft/svn_client/TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi

安装过程一路 “下一步” 即可，安装完成后，软件会提示重启电脑，不要重启！
2.安装语言包
下载地址：http://192.168.1.202/soft/svn_client/LanguagePack_1.6.3.16613-win32-zh_CN.msi
修改软件语言： 如图


3.浏览版本库，进入源文件管理库

4.输入项目地址： 下面用到的game001为一个项目库名称，请根据自己实际项目名称操作

5.OK后，系统会要求你输入账户，如果没有请联系管理员，然功进入版本库，在这里你可以对库文件进行一些操作，主要是一下拖放操作

6：建立工作区
项目开始之前，在本地PC的硬盘上，创建一个文件夹，文件夹命名随意（例如workspace
），该文件夹即作为软件开发者在项目开发过程中的工作区。

7.下.载版本库
???   假如现在开发一个项目，配置管理员会在服务端建立一个该项目的版本库game001
在workspace文件夹上，右键单击鼠标。选择&#8221;SVN   检出“会出现如下窗口


8.在URL of  repository中输入版本库地址，https://192.168.1.202:20102/svn/game001，在Checkout    dir中系统会自动添加第二步所创建的工作区目录。
在Revision中，选中HEAD    revision，这样将会下载到版本库的最新版本。如果想下载库中的旧版本文件，可选中Revision，然后填入版本号即可。
如果不想下载整个版本库，而是只想下载自己负责的那部分模块，可以在URL后添加模块名，例如：https://192.168.1.202:20102 /svn/game001/yongz
单击OK，输入用户名和密码。
完成代码检出

9.修改版本库
对版本库的修改包括修改文件内容，添加删除文件，添加删除目录。
经过第三步的操作，本地的工作区文件夹，即workspace上会有绿色对勾出现，工作区下的文件也会带有绿色对勾，如图2
?
如果对库中某一个文件进行了修改，系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号，代表该文件或目录已经在本地被修改，如图3?
 ?
当所有对版本库的修改操作完毕后，右键单击工作区文件夹，选择commit提交新版本，输入密码后系统将把修改后的版本库上传到服务端，即完成一次对版本 库的更新。
注意：
新版本提交之后，其他拥有写权限的用户也许会重复以上几步的操作，完成对版本库的再一次更新。所以，每次在工作区文件夹下修改本地版本库之前，必须首先对 本地版本库执行一次更新（右键单击工作区，选择SVN   Updata），将最新的版本下载到本地，然后再进行修改操作。


其他操作（选读，可在以后使用阅读，主要是对右键菜单中的一部分命令做介绍）

在日常的软件开发过程中，除了以上介绍的下载，提交，更新操作外，还有另外几种常用操作。
（1）比较文件的不同之处
当对soc_1做了修改之后，soc_1文件会出现红色叹号，表示已经修改，如果想查看修改后的soc_1文件与修改前有何不同，可以右键单击此文件，选 择diff，系统探出一个窗口，
如图3，窗口分为两个部分，左边为更改之前的版本，右边为更改之后的版本。并在不同之处作出标记和说明。如图4
?
如果是word文档的话，选择diff之后，系统会打开一个word文档，并在其中标出修改后的版本与修改前有何不同。如图4.1?
?
（2）查看日志?
?如果想查看一个文件的日志，例如soc_1，右键单击这个文件，选择show    log，系统会踏出一个窗口，并在窗口中显示soc_1各个版本的log。如图4?
?
图5?
（3）查看版本树?
?如果想查看soc_1文件的版本树，右键单击该文件，选择Revision [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a> 是什么？</p>
<pre><a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a>全名Subversion，即版本控制系统。</pre>
<pre>　　<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a>与CVS一样，是一个跨平台的软件，支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。   这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。   这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。</pre>
<pre>　　SubVersion：实现服务系统的软件。</pre>
<pre>　　TortoiseSVN：是<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a>客户端程序，为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。</pre>
<pre>　　SVNService.exe：是专为 SubVersion 开发的一个用来作为 Win32 服务挂接的入口程序。</pre>
<pre>　　AnkhSVN：是一个专为Visual Studio提供<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a>的插件。
</pre>
<p>1.下载客户端：</p>
<p>下载地址：<a href="http://192.168.1.202/soft/svn_client/TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi" target="_blank">http://192.168.1.202/soft/svn_client/TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi</a><br />
<span id="more-3836"></span><br />
安装过程一路 “下一步” 即可，安装完成后，软件会提示重启电脑，不要重启！</p>
<p>2.安装语言包</p>
<p>下载地址：<a href="http://192.168.1.202/soft/svn_client/LanguagePack_1.6.3.16613-win32-zh_CN.msi" target="_blank">http://192.168.1.202/soft/svn_client/LanguagePack_1.6.3.16613-win32-zh_CN.msi</a></p>
<p>修改软件语言： 如图</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_094909.gif" alt="" width="464" height="413" /></p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_095020.gif" alt="" width="737" height="478" /></p>
<p>3.浏览版本库，进入源文件管理库</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_095155.gif" alt="" width="566" height="405" /></p>
<p>4.输入项目地址： 下面用到的game001为一个项目库名称，请根据自己实际项目名称操作</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_095251.gif" alt="" width="369" height="127" /></p>
<p>5.OK后，系统会要求你输入账户，如果没有请联系管理员，然功进入版本库，在这里你可以对库文件进行一些操作，主要是一下拖放操作</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_095859.gif" alt="" width="639" height="491" /></p>
<p>6：建立工作区<br />
项目开始之前，在本地PC的硬盘上，创建一个文件夹，文件夹命名随意（例如workspace<br />
），该文件夹即作为软件开发者在项目开发过程中的工作区。</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_100400.gif" alt="" width="506" height="314" /></p>
<p>7.下.载版本库<br />
???   假如现在开发一个项目，配置管理员会在服务端建立一个该项目的版本库game001<br />
在workspace文件夹上，右键单击鼠标。选择&#8221;<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a>   检出“会出现如下窗口</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_100722.gif" alt="" width="487" height="196" /></p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_100845.gif" alt="" width="468" height="363" /></p>
<p>8.在URL of  repository中输入版本库地址，https://192.168.1.202:20102/<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">svn</a>/game001，在Checkout    dir中系统会自动添加第二步所创建的工作区目录。<br />
在Revision中，选中HEAD    revision，这样将会下载到版本库的最新版本。如果想下载库中的旧版本文件，可选中Revision，然后填入版本号即可。<br />
如果不想下载整个版本库，而是只想下载自己负责的那部分模块，可以在URL后添加模块名，例如：https://192.168.1.202:20102 /<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">svn</a>/game001/yongz<br />
单击OK，输入用户名和密码。</p>
<p>完成代码检出</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_101323.gif" alt="" width="667" height="306" /></p>
<p>9.修改版本库<br />
对版本库的修改包括修改文件内容，添加删除文件，添加删除目录。<br />
经过第三步的操作，本地的工作区文件夹，即workspace上会有绿色对勾出现，工作区下的文件也会带有绿色对勾，如图2<br />
<img src="http://images.uheed.com/iwanna/2010/06/10/svn/2.jpg" alt="" width="645" height="200" />?</p>
<p>如果对库中某一个文件进行了修改，系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号，代表该文件或目录已经在本地被修改，如图3?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/3.jpg" alt="" width="580" height="199" /> ?<br />
当所有对版本库的修改操作完毕后，右键单击工作区文件夹，选择commit提交新版本，输入密码后系统将把修改后的版本库上传到服务端，即完成一次对版本 库的更新。<br />
注意：<br />
新版本提交之后，其他拥有写权限的用户也许会重复以上几步的操作，完成对版本库的再一次更新。所以，每次在工作区文件夹下修改本地版本库之前，必须首先对 本地版本库执行一次更新（右键单击工作区，选择<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">SVN</a>   Updata），将最新的版本下载到本地，然后再进行修改操作。</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/063H36246-4.png" alt="" width="324" height="317" /></p>
<hr />
<h4>其他操作（选读，可在以后使用阅读，主要是对右键菜单中的一部分命令做介绍）</h4>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/2010-06-09_102847.gif" alt="" width="660" height="532" /><br />
在日常的软件开发过程中，除了以上介绍的下载，提交，更新操作外，还有另外几种常用操作。<br />
<strong>（1）比较文件的不同之处</strong><br />
当对soc_1做了修改之后，soc_1文件会出现红色叹号，表示已经修改，如果想查看修改后的soc_1文件与修改前有何不同，可以右键单击此文件，选 择diff，系统探出一个窗口，</p>
<p>如图3，窗口分为两个部分，左边为更改之前的版本，右边为更改之后的版本。并在不同之处作出标记和说明。如图4<br />
<img src="http://images.uheed.com/iwanna/2010/06/10/svn/4.jpg" border="0" alt="" width="629" height="148" />?</p>
<p>如果是word文档的话，选择diff之后，系统会打开一个word文档，并在其中标出修改后的版本与修改前有何不同。如图4.1?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/5.jpg" border="0" alt="" width="386" height="109" />?</p>
<p><strong>（2）查看日志?</strong></p>
<p>?如果想查看一个文件的日志，例如soc_1，右键单击这个文件，选择show    log，系统会踏出一个窗口，并在窗口中显示soc_1各个版本的log。如图4?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/6.jpg" border="0" alt="" width="629" height="490" />?</p>
<p>图5?</p>
<p><strong>（3）查看版本树?</strong></p>
<p>?如果想查看soc_1文件的版本树，右键单击该文件，选择Revision    graph，系统将会打开一个窗口，并在窗口中显示该文件的版本树。如图6。?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/7.jpg" border="0" alt="" width="383" height="394" /> ?</p>
<p>??    之所以只显示了4.5.6.7四个版本，是因为选择了只显示发生过变化的版本。即1.4.5.6.7每一个版本都有不同的地方，都是经过用户修改后提交 的。而2.3两个版本是与版本1相同的。?</p>
<p>?</p>
<p><strong>（4）下载某个文件的旧版本?</strong></p>
<p>如果想要得到某个文件的旧版本，只需在该文件上单击右键，选择Updata to    revision…即可。系统会提示输入版本号。例如要下载soc_1的第五个版本，只需填入5即可。</p>
<p>如图7。查看完版本5的文件后，如果想在此回到最新版本，只需要对soc_1运行Updata即可。?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/8.jpg" border="0" alt="" width="354" height="248" /> ?</p>
<p><strong>（5）重名名和删除文件?</strong></p>
<p>如果要删除一个文件或重名名一个文件，?</p>
<p>注意不要在windows下直接操作。只需右键单击该文件，选择Rename或Delete，<a href="http://www.iwanna.cn/tags/svn/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SVN">svn</a>系统便会完成操作。?</p>
<p>在workspace中将文件重命名或删除后，服务端的文件结构不会变化，只有当提交新版本库后，即commit后，服务端的文件结构才会被更 新。?</p>
<p>如果误删除了文件，在没有提交版本库之前，可以通过对版本库的升级将文件重新下载到本地的版本库，也可以通过revert恢复（参考第八条）。如果 文件删除，并且已经提交，那么要找回文件只能通过下载旧版本库来完成，参考（4）。?</p>
<p><strong>（6）创建分支?</strong></p>
<p>版本库中最初的文件soc_1,soc_2,word_1,word_2都是主干文件。如果想要为soc_1创建一个分支，只需右键单击 soc_1，选择Branch/Tag，系统会弹出一个窗口，如图8。在窗口中，From    URL表示要创建的这个分支是soc_1的分支（系统会自动添加，不必更改）。在To    URL中，需要更改一下文件名，在文件名后加一个标志即可，例如“<br />
_branch”，路径不需要更改。在Creat copy in the repository    from中，可以选择分支文件是由soc_1的那一个版本拷贝来的。最后填写日志，选择OK。?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/9.jpg" border="0" alt="" width="442" height="434" />?</p>
<p>分支创建完毕，Updata版本库，系统会将soc_1的主干文件和分支文件soc_1_branch同时下载到本地版本库，如图8.1，然后即可 在分支文件上进行操作。此时soc_1的版本树如图8.2?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/10.jpg" border="0" alt="" width="523" height="355" /> ?</p>
<p><strong>（7）合并分支?</strong></p>
<p>当需要把soc_1_branc分支文件合并到soc_1主干文件时，右键单击soc_1，选择Merge，会弹出一个窗口，如图9。?</p>
<p><img src="http://images.uheed.com/iwanna/2010/06/10/svn/11.jpg" border="0" alt="" width="544" height="393" />?</p>
<p>在 From输入框中填入主干的URL，在To输入框中填入分支的URL。在From和To中，都有两个选项HEAD    Revision和Revision，表示要进行合并的是soc_1的那个版本。合并之后主干文件会标注红色叹号，表示已被修改，并可以提交。如果合并后 文件标注的是黄色叹号，表示文件有冲突，处理方法见第三部分“异常处理”。?</p>
<p><strong>（8）撤销修改?</strong></p>
<p>当对一个文件进行了修改并保存后（注意此处并没有进行提交），如果对修改不满意，想要重新修改，可以右键单击修改过的文件（带红色叹号的那个），然 后选择revert，前面的一系列修改便会被撤销，恢复到Updata之后的状态。如果一个文件被误删除，也可通过右键单击该文件所在的目录，选择 revert来恢复。?</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/06/10/3836/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/06/10/3836/#comments">1条评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/06/10/3836/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/06/10/3836/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/06/10/3836/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/svn/" title="SVN" rel="tag nofollow">SVN</a>, <a href="http://www.iwanna.cn/tags/svn/" title="SVN" rel="tag nofollow">SVN</a>, <a href="http://www.iwanna.cn/tags/tutorial/" title="Tutorial" rel="tag nofollow">Tutorial</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/30/915/" title="解密CSS Sprites：技巧、工具和教程 (2009年04月30日)">解密CSS Sprites：技巧、工具和教程</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/07/3765/" title="简单的JQuery聚光灯效果教程 (2010年06月7日)">简单的JQuery聚光灯效果教程</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/17/1828/" title="用jQuery和CSS构建下拉菜单 (2009年06月17日)">用jQuery和CSS构建下拉菜单</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/29/1215/" title="掌握强大的WordPress的子主题 (2009年05月29日)">掌握强大的WordPress的子主题</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/17/4583/" title="制作jquery文字提示插件 (2010年07月17日)">制作jquery文字提示插件</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/09/3032/" title="使用Photoshop制作 Web 2.0 布局的网站 [4] (2010年05月9日)">使用Photoshop制作 Web 2.0 布局的网站 [4]</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/09/3029/" title="使用Photoshop制作 Web 2.0 布局的网站 [3] (2010年05月9日)">使用Photoshop制作 Web 2.0 布局的网站 [3]</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/09/3026/" title="使用Photoshop制作 Web 2.0 布局的网站 [2] (2010年05月9日)">使用Photoshop制作 Web 2.0 布局的网站 [2]</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/27/4767/" title="一个基于JQuery 和CSS3的滑动菜单 (2010年07月27日)">一个基于JQuery 和CSS3的滑动菜单</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/24/4177/" title="Python 语言快速入门教学 (2010年06月24日)">Python 语言快速入门教学</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/06/10/3836/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Godaddy 主机面板显示的主机状态中文解释</title>
		<link>http://www.iwanna.cn/archives/2010/06/02/3633/</link>
		<comments>http://www.iwanna.cn/archives/2010/06/02/3633/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 15:54:22 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Godaddy]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3633</guid>
		<description><![CDATA[
Initialize Account

You need to set up your hosting account to use it. To set up your  hosting account, click the name of the account you want to set up.We  will walk you through the rest of the setup process.
初始状态：你需要点set up 并进行一些参数的设置后才能使用。


Pending DNS

Your hosting account needs to match up with your domain name before [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li style="color:red;">Initialize Account</li>
</ul>
<p>You need to set up your hosting account to use it. To set up your  hosting account, click the name of the account you want to set up.We  will walk you through the rest of the setup process.</p>
<p>初始状态：你需要点set up 并进行一些参数的设置后才能使用。<br />
<span id="more-3633"></span></p>
<ul>
<li style="color:red;">Pending DNS</li>
</ul>
<p>Your hosting account needs to match up with your domain name before you  can upload files and manage your <a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a> site. Depending on when you set up  the nameservers for your domain, it can take up to 8 hours for your  hosting account to match up with .com and .net domains and up to<br />
48 hours for other domain extensions.</p>
<ul>
<li style="color:red;">Pending Account Change</li>
</ul>
<p>This account status displays whenever you have upgraded or downgraded  your hosting account.</p>
<ul>
<li style="color:red;">Pending Setup</li>
</ul>
<p>This account status displays after you have set up your account. It  may take a few minutes for us to configure your hosting account before  you can use it.<br />
DNS 等待状态：需要等待不超过48 小时设置好。</p>
<ul>
<li style="color:red;">Setup</li>
</ul>
<p>Your account is set up. You may still have to wait up to 48 hours  before you can upload files to your account (<a href="http://www.iwanna.cn/tags/ftp/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with FTP">FTP</a>), set up databases, or  configure yourWeb site. Once your hosting account is set up, you can log  in to the Hosting Control Center to manage your account, set up  databases, and install variousWeb site features.</p>
<p>setup 这个状态：表示你的账户正在设置，需要再等待不超过48 小时才能建站。<br />
当你的账户设置好后，你可以登录管理面板，设置你的数据库，设置主机特性。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/06/02/3633/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/06/02/3633/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/06/02/3633/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/06/02/3633/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/06/02/3633/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/godaddy/" title="Godaddy" rel="tag nofollow">Godaddy</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/14/3977/" title="本站使用Godaddy主机空间白天小抽中 (2010年06月14日)">本站使用Godaddy主机空间白天小抽中</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/01/3610/" title="Godaddy无缝切换SSL，无需续费可省12美元 (2010年06月1日)">Godaddy无缝切换SSL，无需续费可省12美元</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商 (2010年06月23日)">2010年国外最佳十大虚拟主机提供商</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/21/4121/" title="2010年GoDaddy升级zend optimizer教程 (2010年06月21日)">2010年GoDaddy升级zend optimizer教程</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/21/4126/" title="10点防止被国外主机商敲竹杠的技巧经验 (2010年06月21日)">10点防止被国外主机商敲竹杠的技巧经验</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/06/02/3633/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Godaddy无缝切换SSL，无需续费可省12美元</title>
		<link>http://www.iwanna.cn/archives/2010/06/01/3610/</link>
		<comments>http://www.iwanna.cn/archives/2010/06/01/3610/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 15:20:36 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3610</guid>
		<description><![CDATA[用国外主机的朋友都知道，独立IP是非常重要的，因为国外主机过滤不如国内主机严格，如果你和他人共享一个IP，指不定哪天就无法访问了。虽然独立 IP也不一定保险，但最起码可以保证你不被连坐，连坐这个东东，又出现在新时期了。
还好，美帝国主义的IP非常便宜，一般在100-200元/年，这要得益于美国佬占了全球IpV4的大部分IP，谁让人家是互联网的发源地呢，可恶 的美国佬，占着茅坑不拉便便，据说美国一所大学拥有的IP地址就比中国的IP还要多。咱们中国的人口可是占了世界的1/4强，拥有的IP地址才占世界的 2%，你说能不贵么。
国内的虚拟主机很少有提供独立IP的，就算有钱你也买不着，有极少部分的虚拟主机可以提供独立IP，不过价格一般都要在500元左右，甚至更高。而 服务器托管和租用往往能有一两个IP，其它的IP好像是要购买的。专线的话一般会提供很多很多的IP，我所知道的情况，在北京拉一条独享10M的专线，只 需要6万左右一年，送30-60个IP，不同运营商不一样，原来拉专线是这么便宜，这么多的IP，有点出乎我的意料之外。

在Godaddy买独立IP的朋友，一般会选择购买SSL，Godaddy很慢，一个独立IP一年要2.99*12=35.88美刀，而SSL一年 只有24.9美刀，最关键的是，SSL中包含一个独立IP。使用优惠链接之后，SSL的价格就变成了12.99，也就是说，你用12.99美元一年，可以 得到SSL证书和一个独立IP，当然这个证书不是VeriSign颁发的顶级证书，而是由godaddy颁发的证书。想想咱们真的是很强大，太聪明了，太 会钻空子了。
许多购买SSL的人都会问，我的SSL过期了怎么办，再买SSL的时候，因为独立IP不同，这个中间网站岂不是要断开一段时间？根据涂雅的亲身经 历，各位大可不必担心。只要你的域名是在Godaddy注册并由Godaddy进行解释的，Godaddy会自动把你的域名指向新的IP。
大致的情况是这样的，我购买了Godaddy的虚拟主机和SSL，时间均为一年，SSL续费是24.9美刀一年，但新购买的是12.99美刀一年。 如果当SSL过期之后，你可以不续费，等过期之后再购买一个新的SSL，这样可以节省约12美刀一年。在SSL过期时，Godaddy会自动将你的域名切 换到共享IP，这样你就可以再购买SSL，然后再绑定新的独立IP。整过过程中，你的网站不会停止，也不会有丝毫的不流畅，前提是你的域名是在 Godaddy购买，并由Godaddy解释。
Godaddy真是将自动化做到极致的一家IDC，能用机器做的事，绝对不用人做。像这种独立IP的切换完全自动化，用户体验非常好，基本上对于用 户是透明的。同是Godaddy也非常开放，提供30天的无条件退款保障，你想来就来想走就走，和咱们国内有些公司采用种种手段留住客户不一样。
国内的IDC好像没有提供无条件退款的吧，好一点的可以退款，但是需要收手续费。不过我也能理解国内IDC的难处，要是提供无条件30天退款，估计 有人一年就换IDC了，不用掏一分钱。和咱们的诚信危机很有关系啊，大家混水摸鱼，看信奸诈得过谁，人与人之间完全没有诚信可言，真是不管白猫黑猫，抓得 了老鼠不是好猫。
教育，教育，百年树人啦，不抓教育，光赚GDP有什么用，赚了GDP没赚钱，用子孙后代的未来换取我们的“幸福”生活，悲哀啊。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, Server

	您可能会感兴趣的其他文章
	
	谷歌将会把.co域名视为国际性域名 
	深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway 
	淘宝海量图片存储与CDN系统 
	服务器安全问题汇总 
	如何选择国外VPS（推荐给新人） 
	Godaddy 主机面板显示的主机状态中文解释 
	2010年国外最佳十大虚拟主机提供商 
	10点防止被国外主机商敲竹杠的技巧经验 



Feed enhanced by Better Feed from  Ozh
]]></description>
			<content:encoded><![CDATA[<p>用国外主机的朋友都知道，独立IP是非常重要的，因为国外主机过滤不如国内主机严格，如果你和他人共享一个IP，指不定哪天就无法访问了。虽然独立 IP也不一定保险，但最起码可以保证你不被连坐，连坐这个东东，又出现在新时期了。</p>
<p>还好，美帝国主义的IP非常便宜，一般在100-200元/年，这要得益于美国佬占了全球IpV4的大部分IP，谁让人家是互联网的发源地呢，可恶 的美国佬，占着茅坑不拉便便，据说美国一所大学拥有的IP地址就比中国的IP还要多。咱们中国的人口可是占了世界的1/4强，拥有的IP地址才占世界的 2%，你说能不贵么。</p>
<p>国内的虚拟主机很少有提供独立IP的，就算有钱你也买不着，有极少部分的虚拟主机可以提供独立IP，不过价格一般都要在500元左右，甚至更高。而 服务器托管和租用往往能有一两个IP，其它的IP好像是要购买的。专线的话一般会提供很多很多的IP，我所知道的情况，在北京拉一条独享10M的专线，只 需要6万左右一年，送30-60个IP，不同运营商不一样，原来拉专线是这么便宜，这么多的IP，有点出乎我的意料之外。<br />
<span id="more-3610"></span><br />
在Godaddy买独立IP的朋友，一般会选择购买SSL，Godaddy很慢，一个独立IP一年要2.99*12=35.88美刀，而SSL一年 只有24.9美刀，最关键的是，SSL中包含一个独立IP。使用优惠链接之后，SSL的价格就变成了12.99，也就是说，你用12.99美元一年，可以 得到SSL证书和一个独立IP，当然这个证书不是VeriSign颁发的顶级证书，而是由godaddy颁发的证书。想想咱们真的是很强大，太聪明了，太 会钻空子了。</p>
<p>许多购买SSL的人都会问，我的SSL过期了怎么办，再买SSL的时候，因为独立IP不同，这个中间网站岂不是要断开一段时间？根据涂雅的亲身经 历，各位大可不必担心。只要你的域名是在Godaddy注册并由Godaddy进行解释的，Godaddy会自动把你的域名指向新的IP。</p>
<p>大致的情况是这样的，我购买了Godaddy的虚拟主机和SSL，时间均为一年，SSL续费是24.9美刀一年，但新购买的是12.99美刀一年。 如果当SSL过期之后，你可以不续费，等过期之后再购买一个新的SSL，这样可以节省约12美刀一年。在SSL过期时，Godaddy会自动将你的域名切 换到共享IP，这样你就可以再购买SSL，然后再绑定新的独立IP。整过过程中，你的网站不会停止，也不会有丝毫的不流畅，前提是你的域名是在 Godaddy购买，并由Godaddy解释。</p>
<p>Godaddy真是将自动化做到极致的一家IDC，能用机器做的事，绝对不用人做。像这种独立IP的切换完全自动化，用户体验非常好，基本上对于用 户是透明的。同是Godaddy也非常开放，提供30天的无条件退款保障，你想来就来想走就走，和咱们国内有些公司采用种种手段留住客户不一样。</p>
<p>国内的IDC好像没有提供无条件退款的吧，好一点的可以退款，但是需要收手续费。不过我也能理解国内IDC的难处，要是提供无条件30天退款，估计 有人一年就换IDC了，不用掏一分钱。和咱们的诚信危机很有关系啊，大家混水摸鱼，看信奸诈得过谁，人与人之间完全没有诚信可言，真是不管白猫黑猫，抓得 了老鼠不是好猫。</p>
<p>教育，教育，百年树人啦，不抓教育，光赚GDP有什么用，赚了GDP没赚钱，用子孙后代的未来换取我们的“幸福”生活，悲哀啊。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/06/01/3610/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/06/01/3610/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/06/01/3610/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/06/01/3610/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/06/01/3610/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4374/" title="深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway (2010年07月6日)">深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/01/4280/" title="淘宝海量图片存储与CDN系统 (2010年07月1日)">淘宝海量图片存储与CDN系统</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/08/4406/" title="服务器安全问题汇总 (2010年07月8日)">服务器安全问题汇总</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人） (2010年05月24日)">如何选择国外VPS（推荐给新人）</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3633/" title="Godaddy 主机面板显示的主机状态中文解释 (2010年06月2日)">Godaddy 主机面板显示的主机状态中文解释</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/23/4158/" title="2010年国外最佳十大虚拟主机提供商 (2010年06月23日)">2010年国外最佳十大虚拟主机提供商</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/21/4126/" title="10点防止被国外主机商敲竹杠的技巧经验 (2010年06月21日)">10点防止被国外主机商敲竹杠的技巧经验</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/06/01/3610/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何选择国外VPS（推荐给新人）</title>
		<link>http://www.iwanna.cn/archives/2010/05/24/3359/</link>
		<comments>http://www.iwanna.cn/archives/2010/05/24/3359/#comments</comments>
		<pubDate>Mon, 24 May 2010 13:33:16 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[站长工具]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3359</guid>
		<description><![CDATA[国内网络环境日益恶劣，众多站长将站“移民”海外。选择一款优质高速的主机十分重要。由于虚拟主机的主机资源、支持环境等种种的限制，很多站长选择 VPS（Visual Private Server），这篇文章，我们就来一起说说如何选择国外VPS。

本文只讨论Linux VPS，Windows的不在讨论范围内；
本文下载速度与ping延迟都是用北京电信网络测试的。

1. 选择哪国的VPS？
除去像showfom小朋友这样追求FlagFox 那个小旗子癖之外呢，大部分同学追求的不过是有两点，一点是速度，另一点便是稳定。周边向个国家和地区的速度都不错，但是由于价格过高以及语言上沟壑，买 的人并不多。其中日本和香港服务器是购买的比最多的，其它都比较少了。

我国周边速度一般来说是：香港&#62;台湾&#62;日本&#62;韩国&#62;新加坡&#62;马来西亚，不是绝对的，距离有远近，速度有不同。除去我 国周边的国家，速度还不错的，首选的就是美国了。08年投入使用的TPE光缆，带宽达5T多，使美国的主机不再慢。再除去美国，加拿大的西部的主机也是可 以考虑的。
速度说完了，该说下价格，我国及我国周边的VPS都是差不多，就一个字——“贵”。美国的是全球互联网的中心，主机业务十分发达，机房超多，VPS 商更是多如牛毛，价格自然是很便宜了。最便宜的每月$5左右就可以拿下，这也是众多站长“移民”美国的重要原因。
2. 怎样选择VPS商？
2.1 看口碑
选主机商，首先看口碑(down机频率、ticket处理是否及时、是否丢失过客户数据等等)，这个我不多说，人肉下主机商即可，有个地方可以去看看，那 就是WHT(WebHostingTalk)，一个超级热 闹的地方，Kangzj就不多说了。
2.2 一ping，二whois，三测试下载
很多VPS商会提供测试IP，首先ping下，看延迟怎么样。一般说来，美国主机ping都在160ms以上，最最极品160ms多一点的算是极品了。下 表简单地说了下，并不精确：



延迟(ms)
位置(美国)


160-220
西岸（以LA为代表）


220-240
中部（以Dallas为代表）


250以上
东岸（以WDC为代表）



ping并不能代表什么，只能说明服务器反应速度，几十毫秒人类根本觉察不到。ping并不是选择服务器的第一标准。香港的ping可以说是所有国 外主机当中最好的，可以在10ms以内（广东），但是香港的国际出口小得可怜，有的时候ping再好，带宽太小，也不能买。
通过IP  Whois可以查到IP是哪个机房的，那个机房的速度、稳定性等的评价，在网上评论肯定比那个VPS商要多。通过这种方法还可以找到测试下载，即使VPS 商没有提供测试下载，也能体验下载的速度怎么样。对国内友好的机房汇总：http://www.whcoupon.com/48.html 。
3. 选何种虚拟技术的VPS？
虚拟技术用得最多的是Xen和OpenVZ。据Rashost讲“基于XEN的Linux VPS(Para-virtualized VPS,  半虚拟化VPS)的性能要优于其他虚拟化技术”，而在一些论坛上也听到过OpenVZ比Xen性能好的讲法，一时分不清谁对谁错。
然而，就我使用经验来看，Xen性能一般来说要比OpenVZ的好。至于最主要的原因，我想，并不是因为Xen本身的性能有多好，而是Xen不容易 超卖（基于Xen的VPS会像真机器一样用内存Cache磁盘，而OpenVZ的VPS不会）。
还有一点要注意的是，Xen的VPS一般来说可以直接开pptpd和OpenVPN的VPN，而OpenVZ的VPS只能开OpenVZ的 VPN（如果默认没开，需联系客服开通tap/tun和IPtable）。
Virtuozzo、VMWare是两种收费的虚拟技术，性能上不好评价，价格上多是比前两种贵。还有一种新兴的虚拟技术叫做KVM，据说VPS之 间隔离做得特别好，性能也很不错，不过尚不很成熟。
4. 什么VPS控制面板好用？
这里说的控制面板可不是主机的控制面板，而是控制VPS的面板，用来重装、重启和进行一些高级设置的面板。在Kangzj看来，面板有就 行，VePortal、SolusVM、Parallel等等或者VPS商自己开发的，功能也就那么几种而已，不会太出奇（Linode的控制面板除外， 做得太好了，功能超级超级强大）。但是话说回来，这面板没有的话，还真是不行，连死机重启都要发ticket，太不方便。
5. 多少内存够用？
这个很不好说，就以一个PHP网站为例。可以按PV来估算需要内存的大小。一般说来，每天几百IP的网站，128M内存就可以勉强应付。优化设置可以参考张宴：http://blog.s135.com/post/375/ 。
6. 多少带宽够用？
说实话，只要内存够用，配置的流量一般够用。不要去贪什么不限流量，那都是幻影。万一遇上一个流量大户（很有可能，因为不限流量最吸引大户的眼 光），总是占据带宽，就等着郁闷死吧。一句话，流量不在多，够用就行。至于怎么计算自己的网站大约能消耗多少流量，可以参考这篇文章：我到底需要多少流量的主机？。
7. 月付还是年付？
虽然一般来说年付会有优惠，但是仍十分建议月付。为什么，原因有三：

凡是国外主机，IP总有被封的危险。如果被封，加IP又是一笔费用，如果不能加IP，那这VPS基本上就废了（我用过一家的VPS，就是不允许加 或者换IP）。
现在速度快，一年之中不一定都快。Linode Fremont机房就是活生生的例子，当然Linode可以免费换机房倒还好说。
VPS商携款潜逃也说不定。这样的事情也不是没有先例，虽然是极其少数，但不是没有的，万一人品就到那个份上了……

总之，一句话，这一年之中可能发生很多你想不到的事，你有可能损失掉这笔钱。一个月一个月的用，感觉不满意了马上换，多舒坦。
8. VPS的CPU限制方式？
虽然最后一个提，但这并不说明这一项不重要，CPU是最容易忽视，但是十分重要的方面。
据我观察，大约有两种CPU的共享方式，一种是Equal  Share，按字面意思，就是大家平分使用（当然也存在可能遇到大户的危险）；另一种，限制核数和频率。
限制频率有两种方式，一种是限制单核，给一个频率（比如500MHz）；另一种是给多个核，每个核给一个频率，然后相加（比如，给5个核，每个给 100MHz），表面上说起来是一样的。
孰好孰赖，不是很好比较，大家各自想清楚就O了。
全文完，欢迎批评指正。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, Server, Website, [...]]]></description>
			<content:encoded><![CDATA[<p>国内网络环境日益恶劣，众多站长将站“移民”海外。选择一款优质高速的主机十分重要。由于虚拟主机的主机资源、支持环境等种种的限制，很多站长选择 VPS（Visual Private <a href="http://www.iwanna.cn/tags/server/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Server">Server</a>），这篇文章，我们就来一起说说<strong><a href="http://www.iwanna.cn/archives/2010/05/24/3359/" title="如何选择国外VPS（推荐给新人）">如何选择国外VPS</a></strong>。</p>
<ul>
<li>本文只讨论Linux VPS，Windows的不在讨论范围内；</li>
<li>本文下载速度与ping延迟都是用北京电信网络测试的。</li>
</ul>
<h2>1. 选择哪国的VPS？</h2>
<p>除去像<a href="http://zou.lu/" target="_blank">showfom</a>小朋友这样追求FlagFox 那个小旗子癖之外呢，大部分同学追求的不过是有两点，一点是速度，另一点便是稳定。周边向个国家和地区的速度都不错，但是由于价格过高以及语言上沟壑，买 的人并不多。其中日本和香港服务器是购买的比最多的，其它都比较少了。<br />
<span id="more-3359"></span><br />
我国周边速度一般来说是：香港&gt;台湾&gt;日本&gt;韩国&gt;新加坡&gt;马来西亚，不是绝对的，距离有远近，速度有不同。除去我 国周边的国家，速度还不错的，首选的就是美国了。08年投入使用的TPE光缆，带宽达5T多，使美国的主机不再慢。再除去美国，加拿大的西部的主机也是可 以考虑的。</p>
<p>速度说完了，该说下价格，我国及我国周边的VPS都是差不多，就一个字——“贵”。美国的是全球互联网的中心，主机业务十分发达，机房超多，VPS 商更是多如牛毛，价格自然是很便宜了。最便宜的每月$5左右就可以拿下，这也是众多站长“移民”美国的重要原因。</p>
<h2>2. 怎样选择VPS商？</h2>
<p><strong>2.1 看口碑</strong><br />
选主机商，首先看口碑(down机频率、ticket处理是否及时、是否丢失过客户数据等等)，这个我不多说，人肉下主机商即可，有个地方可以去看看，那 就是WHT(<a href="http://www.webhostingtalk.com/">WebHostingTalk</a>)，一个超级热 闹的地方，Kangzj就不多说了。<br />
<strong>2.2 一ping，二whois，三测试下载</strong><br />
很多VPS商会提供测试IP，首先ping下，看延迟怎么样。一般说来，美国主机ping都在160ms以上，最最极品160ms多一点的算是极品了。下 表简单地说了下，并不精确：</p>
<table border="1" cellspacing="0" cellpadding="2" width="305">
<tbody>
<tr>
<td width="97" valign="top">延迟(ms)</td>
<td width="206" valign="top">位置(美国)</td>
</tr>
<tr>
<td width="97" valign="top">160-220</td>
<td width="206" valign="top">西岸（以LA为代表）</td>
</tr>
<tr>
<td width="97" valign="top">220-240</td>
<td width="206" valign="top">中部（以Dallas为代表）</td>
</tr>
<tr>
<td width="97" valign="top">250以上</td>
<td width="206" valign="top">东岸（以WDC为代表）</td>
</tr>
</tbody>
</table>
<p>ping并不能代表什么，只能说明服务器反应速度，几十毫秒人类根本觉察不到。ping并不是选择服务器的第一标准。香港的ping可以说是所有国 外主机当中最好的，可以在10ms以内（广东），但是香港的国际出口小得可怜，有的时候ping再好，带宽太小，也不能买。</p>
<p>通过IP  Whois可以查到IP是哪个机房的，那个机房的速度、稳定性等的评价，在网上评论肯定比那个VPS商要多。通过这种方法还可以找到测试下载，即使VPS 商没有提供测试下载，也能体验下载的速度怎么样。对国内友好的机房汇总：<a href="http://www.whcoupon.com/48.html" target="_blank">http://www.whcoupon.com/48.html</a> 。</p>
<h2>3. 选何种虚拟技术的VPS？</h2>
<p>虚拟技术用得最多的是Xen和OpenVZ。据Rashost讲“基于XEN的Linux VPS(Para-virtualized VPS,  半虚拟化VPS)的性能要优于其他虚拟化技术”，而在一些论坛上也听到过OpenVZ比Xen性能好的讲法，一时分不清谁对谁错。</p>
<p>然而，就我使用经验来看，Xen性能一般来说要比OpenVZ的好。至于最主要的原因，我想，并不是因为Xen本身的性能有多好，而是Xen不容易 超卖（基于Xen的VPS会像真机器一样用内存Cache磁盘，而OpenVZ的VPS不会）。</p>
<p>还有一点要注意的是，Xen的VPS一般来说可以直接开pptpd和OpenVPN的VPN，而OpenVZ的VPS只能开OpenVZ的 VPN（如果默认没开，需联系客服开通tap/tun和IPtable）。</p>
<p>Virtuozzo、VMWare是两种收费的虚拟技术，性能上不好评价，价格上多是比前两种贵。还有一种新兴的虚拟技术叫做KVM，据说VPS之 间隔离做得特别好，性能也很不错，不过尚不很成熟。</p>
<h2>4. 什么VPS控制面板好用？</h2>
<p>这里说的控制面板可不是主机的控制面板，而是控制VPS的面板，用来重装、重启和进行一些高级设置的面板。在Kangzj看来，面板有就 行，VePortal、SolusVM、Parallel等等或者VPS商自己开发的，功能也就那么几种而已，不会太出奇（Linode的控制面板除外， 做得太好了，功能超级超级强大）。但是话说回来，这面板没有的话，还真是不行，连死机重启都要发ticket，太不方便。</p>
<h2>5. 多少内存够用？</h2>
<p>这个很不好说，就以一个PHP网站为例。可以按PV来估算需要内存的大小。一般说来，每天几百IP的网站，128M内存就可以勉强应付。优化设置可以参考张宴：<a title="http://blog.s135.com/post/375/" href="http://blog.s135.com/post/375/">http://blog.s135.com/post/375/</a> 。</p>
<h2>6. 多少带宽够用？</h2>
<p>说实话，只要内存够用，配置的流量一般够用。不要去贪什么不限流量，那都是幻影。万一遇上一个流量大户（很有可能，因为不限流量最吸引大户的眼 光），总是占据带宽，就等着郁闷死吧。一句话，流量不在多，够用就行。至于怎么计算自己的网站大约能消耗多少流量，可以参考这篇文章：<a title="我到底需要多少流量的主机？" href="http://www.iwanna.cn/archives/2010/05/24/3356/">我到底需要多少流量的主机？</a>。</p>
<h2>7. 月付还是年付？</h2>
<p>虽然一般来说年付会有优惠，但是仍十分建议月付。为什么，原因有三：</p>
<ul>
<li>凡是国外主机，IP总有被封的危险。如果被封，加IP又是一笔费用，如果不能加IP，那这VPS基本上就废了（我用过一家的VPS，就是不允许加 或者换IP）。</li>
<li>现在速度快，一年之中不一定都快。Linode Fremont机房就是活生生的例子，当然Linode可以免费换机房倒还好说。</li>
<li>VPS商携款潜逃也说不定。这样的事情也不是没有先例，虽然是极其少数，但不是没有的，万一人品就到那个份上了……</li>
</ul>
<p>总之，一句话，这一年之中可能发生很多你想不到的事，你有可能损失掉这笔钱。一个月一个月的用，感觉不满意了马上换，多舒坦。</p>
<h2>8. VPS的CPU限制方式？</h2>
<p>虽然最后一个提，但这并不说明这一项不重要，CPU是最容易忽视，但是十分重要的方面。</p>
<p>据我观察，大约有两种CPU的共享方式，一种是Equal  Share，按字面意思，就是大家平分使用（当然也存在可能遇到大户的危险）；另一种，限制核数和频率。</p>
<p>限制频率有两种方式，一种是限制单核，给一个频率（比如500MHz）；另一种是给多个核，每个核给一个频率，然后相加（比如，给5个核，每个给 100MHz），表面上说起来是一样的。</p>
<p>孰好孰赖，不是很好比较，大家各自想清楚就O了。</p>
<p>全文完，欢迎批评指正。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/05/24/3359/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/05/24/3359/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/05/24/3359/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/05/24/3359/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/05/24/3359/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/topics/surf/website/" title="Website" rel="tag nofollow">Website</a>, <a href="http://www.iwanna.cn/tags/website/" title="Website" rel="tag nofollow">Website</a>, <a href="http://www.iwanna.cn/topics/develope/stationmaster/" title="站长工具" rel="tag nofollow">站长工具</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/09/18/2254/" title="高效互联网营销的18种技巧 (2009年09月18日)">高效互联网营销的18种技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/29/4248/" title="雅虎发布网站性能监测工具：从用户角度衡量 (2010年06月29日)">雅虎发布网站性能监测工具：从用户角度衡量</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/27/3401/" title="陈光锋[访谈]：地方新站如何做运营推广 (2010年05月27日)">陈光锋[访谈]：地方新站如何做运营推广</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/12/04/2406/" title="轻设计，让网站灵敏轻便的6个技巧 (2009年12月4日)">轻设计，让网站灵敏轻便的6个技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/12/18/2432/" title="轻设计，让网站灵敏轻便的6个技巧 (2009年12月18日)">轻设计，让网站灵敏轻便的6个技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/23/4688/" title="谷歌将会把.co域名视为国际性域名 (2010年07月23日)">谷歌将会把.co域名视为国际性域名</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/15/2314/" title="读写网：即时网络公司100强 (2009年10月15日)">读写网：即时网络公司100强</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/02/1654/" title="设计项目开始前必须了解客户的9件事 (2009年06月2日)">设计项目开始前必须了解客户的9件事</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/08/16/2136/" title="记账网站Mint.Com获得1400万美元投资 (2009年08月16日)">记账网站Mint.Com获得1400万美元投资</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/01/07/2448/" title="让网站“社会化”的5点建议(SNS) (2010年01月7日)">让网站“社会化”的5点建议(SNS)</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/05/24/3359/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我到底需要多少流量的主机？</title>
		<link>http://www.iwanna.cn/archives/2010/05/24/3356/</link>
		<comments>http://www.iwanna.cn/archives/2010/05/24/3356/#comments</comments>
		<pubDate>Mon, 24 May 2010 13:28:43 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3356</guid>
		<description><![CDATA[无论是hugege还是小张还是wopus，还是国内主机，还是国外主机，都有一个重要参 数，那就是流量。最小的有2G的，大到几十到几百G不等。那么独立博客应该怎样确定自己到底需要多少流量呢——既不能浪费钱，也不能让流量不够使——这就 是Kangzj写这篇文章的目的。
1. 评估自己网页的大小
推荐一个工具yslow（Why Slow?），Firefox下可以通过搜索插件来安装：

在右下角就会出现： 。点击图标即可调出主界面，详细的使用很简单，不详细说了。

评估结果是有一项是Components是我们需要的：
 这个是我的首页的结果，总大小：382.8K。但这并不是这个网页耗费我主机的流量，因为我有不少东西都是外链：

doc: 就是网页文本的大小，这个是肯定要加载的，53K；
js：网页加载的js，其中有170多K是统计和Google广告还有调用的Google的JQuery，也就是说，这一项只耗费30K左右的流 量；
css：这项基本都是调用的自己网站，这40K有效；
iframe：直接忽略；
cssimage：主题里的图片，67.7K；
image：这个我都是外链，忽略；如果你不想把图片外链，那么把这项也考虑进去。

好了，这么一看，整个网页：53+30+40+67=180K。现在好了，我们有一个基准了（为什么用首页当做基准？——第一，通常首页的浏览量最 大且最具代表性；第二，通常首页加载了所有的js,  css）。虽然有些css和js会缓存，但是，因为有流量从搜索引擎过来，基本是没有缓存的，我们应该按照比较坏的情况来估计。
PS：Yslow这个工具主要是用来看网站加载速度的，你可以试试哦。
2. 估计需要多少流量
上而已经估计了每个网页有多大，而主机商会提供给我们流量的多少，我们就来算一下：
如果是2G的流量：
2G/180k=380，也就是大约每天350的点击量（因为会的搜索引擎的光顾，要给搜索引擎留点），如果新站就已经很多文章，可能还要更多的考 虑搜索引擎。有一次我的机器一天之间被baidu spider爬了500M的流量，百度spider真的很笨。
综合你现在的访问量，你很容易就可以算出你每月需要多少流量了。当然老站的话，每个月统计下自己的流量到底是多少，是更加保险的做法^^
3. Kangzj的建议

建议初期买少些流量，不要觉得什么都Unlimited就是好的，很浪费钱；
最好主机商承诺可以随时退款或者更换主机类型的（比如可以换成更多流量的主机等）；
多多利用图床来放图片和附件，好处是1.可以节省流量 2.网站更换空间打包及传输更加容易 3. 相当于是CDN加速；

算好大约需要多少流量，够用就好，不要花些没有必要的钱。当然如果你很有钱的话，就忽略我这篇文章吧

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, servers, Website

	您可能会感兴趣的其他文章
	
	什么是“图床”？ 
	高效互联网营销的18种技巧 
	雅虎发布网站性能监测工具：从用户角度衡量 
	陈光锋[访谈]：地方新站如何做运营推广 
	轻设计，让网站灵敏轻便的6个技巧 
	轻设计，让网站灵敏轻便的6个技巧 
	读写网：即时网络公司100强 
	设计项目开始前必须了解客户的9件事 
	记账网站Mint.Com获得1400万美元投资 
	让网站“社会化”的5点建议(SNS) 



Feed enhanced by Better Feed from  Ozh
]]></description>
			<content:encoded><![CDATA[<p>无论是<em>hugege</em>还是<em>小张</em>还是<em>wopus</em>，还是国内主机，还是国外主机，都有一个重要参 数，那就是流量。最小的有2G的，大到几十到几百G不等。那么独立博客应该怎样确定自己到底需要多少流量呢——既不能浪费钱，也不能让流量不够使——这就 是Kangzj写这篇文章的目的。</p>
<h3>1. 评估自己网页的大小</h3>
<p>推荐一个工具yslow（Why Slow?），Firefox下可以通过搜索插件来安装：</p>
<p><a href="http://www.iwanna.cn/"><img title="yslow" src="http://i709.photobucket.com/albums/ww92/zsmin/iwanna/Article/201005/yslow_thumb.jpg" border="0" alt="yslow" width="495" height="364" /></a></p>
<p>在右下角就会出现：<a href="http://www.iwanna.cn/"><img title="right-yslow" src="http://i709.photobucket.com/albums/ww92/zsmin/iwanna/Article/201005/rightyslow_thumb.jpg" border="0" alt="right-yslow" width="141" height="30" /></a> 。点击图标即可调出主界面，详细的使用很简单，不详细说了。<br />
<span id="more-3356"></span><br />
评估结果是有一项是Components是我们需要的：</p>
<p><a href="http://www.iwanna.cn/"><img title="components" src="http://i709.photobucket.com/albums/ww92/zsmin/iwanna/Article/201005/components_thumb.jpg" border="0" alt="components" width="536" height="248" /></a> 这个是我的首页的结果，总大小：382.8K。但这并不是这个网页耗费我主机的流量，因为我有不少东西都是外链：</p>
<ol>
<li>doc: 就是网页文本的大小，这个是肯定要加载的，53K；</li>
<li>js：网页加载的js，其中有170多K是统计和Google广告还有调用的Google的JQuery，也就是说，这一项只耗费30K左右的流 量；</li>
<li>css：这项基本都是调用的自己网站，这40K有效；</li>
<li>iframe：直接忽略；</li>
<li>cssimage：主题里的图片，67.7K；</li>
<li>image：这个我都是外链，忽略；如果你不想把图片外链，那么把这项也考虑进去。</li>
</ol>
<p>好了，这么一看，整个网页：53+30+40+67=180K。现在好了，我们有一个基准了（为什么用首页当做基准？——第一，通常首页的浏览量最 大且最具代表性；第二，通常首页加载了所有的js,  css）。虽然有些css和js会缓存，但是，因为有流量从搜索引擎过来，基本是没有缓存的，我们应该按照比较坏的情况来估计。</p>
<p>PS：Yslow这个工具主要是用来看网站加载速度的，你可以试试哦。</p>
<h3>2. 估计需要多少流量</h3>
<p>上而已经估计了每个网页有多大，而主机商会提供给我们流量的多少，我们就来算一下：</p>
<p>如果是2G的流量：</p>
<p>2G/180k=380，也就是大约每天350的点击量（因为会的搜索引擎的光顾，要给搜索引擎留点），如果新站就已经很多文章，可能还要更多的考 虑搜索引擎。有一次我的机器一天之间被baidu spider爬了500M的流量，百度spider真的很笨。</p>
<p>综合你现在的访问量，你很容易就可以算出你每月需要多少流量了。当然老站的话，每个月统计下自己的流量到底是多少，是更加保险的做法^^</p>
<h3>3. Kangzj的建议</h3>
<ol>
<li>建议初期买少些流量，不要觉得什么都Unlimited就是好的，很浪费钱；</li>
<li>最好主机商承诺可以随时退款或者更换主机类型的（比如可以换成更多流量的主机等）；</li>
<li>多多利用<a href="http://www.iwanna.cn/archives/2010/05/24/3354/" target="_blank">图床</a>来放图片和附件，好处是1.可以节省流量 2.网站更换空间打包及传输更加容易 3. 相当于是CDN加速；</li>
</ol>
<p>算好大约需要多少流量，够用就好，不要花些没有必要的钱。当然如果你很有钱的话，就忽略我这篇文章吧</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/05/24/3356/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/05/24/3356/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/05/24/3356/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/05/24/3356/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/05/24/3356/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/servers/" title="servers" rel="tag nofollow">servers</a>, <a href="http://www.iwanna.cn/tags/website/" title="Website" rel="tag nofollow">Website</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3354/" title="什么是“图床”？ (2010年05月24日)">什么是“图床”？</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/09/18/2254/" title="高效互联网营销的18种技巧 (2009年09月18日)">高效互联网营销的18种技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/29/4248/" title="雅虎发布网站性能监测工具：从用户角度衡量 (2010年06月29日)">雅虎发布网站性能监测工具：从用户角度衡量</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/27/3401/" title="陈光锋[访谈]：地方新站如何做运营推广 (2010年05月27日)">陈光锋[访谈]：地方新站如何做运营推广</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/12/04/2406/" title="轻设计，让网站灵敏轻便的6个技巧 (2009年12月4日)">轻设计，让网站灵敏轻便的6个技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/12/18/2432/" title="轻设计，让网站灵敏轻便的6个技巧 (2009年12月18日)">轻设计，让网站灵敏轻便的6个技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/15/2314/" title="读写网：即时网络公司100强 (2009年10月15日)">读写网：即时网络公司100强</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/02/1654/" title="设计项目开始前必须了解客户的9件事 (2009年06月2日)">设计项目开始前必须了解客户的9件事</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/08/16/2136/" title="记账网站Mint.Com获得1400万美元投资 (2009年08月16日)">记账网站Mint.Com获得1400万美元投资</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/01/07/2448/" title="让网站“社会化”的5点建议(SNS) (2010年01月7日)">让网站“社会化”的5点建议(SNS)</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/05/24/3356/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>什么是“图床”？</title>
		<link>http://www.iwanna.cn/archives/2010/05/24/3354/</link>
		<comments>http://www.iwanna.cn/archives/2010/05/24/3354/#comments</comments>
		<pubDate>Mon, 24 May 2010 13:10:42 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3354</guid>
		<description><![CDATA[所谓“图床”，是在网站购买的主机流量不够用或者基于速度考虑情况下，将网站主代码与图片分开放置时，对所放置的主机的称呼。
用于作图床的主机有多种，常用的有：

相册服务：Google的PicasaWeb和Flickr等；
免费空间：Godaddy免费空间，000webhost等；
闲置的空间。


© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Server, servers, Website

	您可能会感兴趣的其他文章
	
	我到底需要多少流量的主机？ 
	高效互联网营销的18种技巧 
	雅虎发布网站性能监测工具：从用户角度衡量 
	陈光锋[访谈]：地方新站如何做运营推广 
	轻设计，让网站灵敏轻便的6个技巧 
	轻设计，让网站灵敏轻便的6个技巧 
	读写网：即时网络公司100强 
	设计项目开始前必须了解客户的9件事 
	记账网站Mint.Com获得1400万美元投资 
	让网站“社会化”的5点建议(SNS) 



Feed enhanced by Better Feed from  Ozh
]]></description>
			<content:encoded><![CDATA[<p>所谓“图床”，是在网站购买的主机流量不够用或者基于速度考虑情况下，将网站主代码与图片分开放置时，对所放置的主机的称呼。</p>
<p>用于作图床的主机有多种，常用的有：</p>
<ol>
<li>相册服务：Google的PicasaWeb和Flickr等；</li>
<li>免费空间：Godaddy免费空间，000webhost等；</li>
<li>闲置的空间。</li>
</ol>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/05/24/3354/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/05/24/3354/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/05/24/3354/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/05/24/3354/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/05/24/3354/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/tags/servers/" title="servers" rel="tag nofollow">servers</a>, <a href="http://www.iwanna.cn/tags/website/" title="Website" rel="tag nofollow">Website</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/05/24/3356/" title="我到底需要多少流量的主机？ (2010年05月24日)">我到底需要多少流量的主机？</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/09/18/2254/" title="高效互联网营销的18种技巧 (2009年09月18日)">高效互联网营销的18种技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/29/4248/" title="雅虎发布网站性能监测工具：从用户角度衡量 (2010年06月29日)">雅虎发布网站性能监测工具：从用户角度衡量</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/27/3401/" title="陈光锋[访谈]：地方新站如何做运营推广 (2010年05月27日)">陈光锋[访谈]：地方新站如何做运营推广</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/12/04/2406/" title="轻设计，让网站灵敏轻便的6个技巧 (2009年12月4日)">轻设计，让网站灵敏轻便的6个技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/12/18/2432/" title="轻设计，让网站灵敏轻便的6个技巧 (2009年12月18日)">轻设计，让网站灵敏轻便的6个技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/15/2314/" title="读写网：即时网络公司100强 (2009年10月15日)">读写网：即时网络公司100强</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/02/1654/" title="设计项目开始前必须了解客户的9件事 (2009年06月2日)">设计项目开始前必须了解客户的9件事</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/08/16/2136/" title="记账网站Mint.Com获得1400万美元投资 (2009年08月16日)">记账网站Mint.Com获得1400万美元投资</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/01/07/2448/" title="让网站“社会化”的5点建议(SNS) (2010年01月7日)">让网站“社会化”的5点建议(SNS)</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/05/24/3354/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何挑选最适合自己的美国VPS主机商</title>
		<link>http://www.iwanna.cn/archives/2010/05/20/3247/</link>
		<comments>http://www.iwanna.cn/archives/2010/05/20/3247/#comments</comments>
		<pubDate>Thu, 20 May 2010 01:57:11 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Knowledge]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3247</guid>
		<description><![CDATA[一、什么是VPS（Virtual Private Server）
VPS（Virtual Private Server  虚拟专用服务器）技术，将一部服务器分割成多个相互隔离的虚拟专享服务器的优质服务。  每个VPS的运行和管理都与一台独立主机完全相同，都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独 立系统配置等。  用户除了可以分配多个虚拟主机及无限企业邮箱外，更具有独立服务器功能，可自行安装程序，单独重启服务器，总而言之，VPS是一项具备高弹性、高质量及低 成本效益的服务器解决方案，是高端虚拟主机用户的最佳选择。您不再受其他用户程序对您造成的影响,  得到的是更加公平的资源分配，远远低于虚拟主机的故障率。（来源）
说的通俗一点，VPS能得 到比一般的虚拟主机更高的权限和体验，一般每个VPS都带有至少一个独立IP，可以随意建站，可以随意装系统扩展，可以随意下载东西，总之，在高度虚拟化 的技术下，VPS和独立服务器已经差不多，甚至，配置好的VPS性能已经远超于一般配置的独立服务器。
二、VPS主机商流行的虚拟化技术
市 场上的VPS商家主要有 Xen 和 OpenVZ 两种开源的虚拟化技术

Xen  是一个开放源代码虚拟机监视器，由剑桥大学开发。它打算在单个计算机上运行多达  100个满特征的操作系统。操作系统必须进行显式地修改（“移植”）以在Xen上运行（但是提供对用户应用的兼容性）。这使得Xen无需特殊硬件支持，就 能达到高性能的虚拟化。
OpenVZ是开源软件，是基于Linux平台的操作系统级服务器虚拟化解决方案。OpenVZ采用  SWsoft  的 Virutozzo 虚拟化服务器软件产品的内核，Virutozzo 是 SWsoft 公司提供的商业虚拟化解决方案。
说 得通俗一点，Xen VPS 更接近于真实的系统，所以 PPTP VPN 这类需要系统底层支持的软件只能安装在 Xen VPS 上，关于 Xen 和  OpenVZ 平台的具体区别和优缺点，可以查看这几篇文章：
《挑选VPS：Xen与OpenVZ有什么区别？》
《Xen和OpenVZ在内存管理方式的区别》
《Xen、vmware、OpenVZ三 大vps主机系统比较》
根据我的经验，如果 OpenVZ VPS 不超售（你认为可能吗？），性能绝对比 Xen VPS [...]]]></description>
			<content:encoded><![CDATA[<h2>一、什么是VPS（Virtual Private <a href="http://www.iwanna.cn/tags/server/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Server">Server</a>）</h2>
<p>VPS（Virtual Private <a href="http://www.iwanna.cn/tags/server/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Server">Server</a>  虚拟专用服务器）技术，将一部服务器分割成多个相互隔离的虚拟专享服务器的优质服务。  每个VPS的运行和管理都与一台独立主机完全相同，都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独 立系统配置等。  用户除了可以分配多个虚拟主机及无限企业邮箱外，更具有独立服务器功能，可自行安装程序，单独重启服务器，总而言之，VPS是一项具备高弹性、高质量及低 成本效益的服务器解决方案，是高端虚拟主机用户的最佳选择。您不再受其他用户程序对您造成的影响,  得到的是更加公平的资源分配，远远低于虚拟主机的故障率。（<a href="http://baike.baidu.com/view/698769.htm">来源</a>）</p>
<p>说的通俗一点，VPS能得 到比一般的虚拟主机更高的权限和体验，一般每个VPS都带有至少一个独立IP，可以随意建站，可以随意装系统扩展，可以随意下载东西，总之，在高度虚拟化 的技术下，VPS和独立服务器已经差不多，甚至，配置好的VPS性能已经远超于一般配置的独立服务器。</p>
<h2>二、VPS主机商流行的虚拟化技术</h2>
<p>市 场上的VPS商家主要有 Xen 和 OpenVZ 两种开源的虚拟化技术<br />
<span id="more-3247"></span><br />
Xen  是一个开放源代码虚拟机监视器，由剑桥大学开发。它打算在单个计算机上运行多达  100个满特征的操作系统。操作系统必须进行显式地修改（“移植”）以在Xen上运行（但是提供对用户应用的兼容性）。这使得Xen无需特殊硬件支持，就 能达到高性能的虚拟化。</p>
<p>OpenVZ是开源软件，是基于Linux平台的操作系统级服务器虚拟化解决方案。OpenVZ采用  SWsoft  的 Virutozzo 虚拟化服务器软件产品的内核，Virutozzo 是 SWsoft 公司提供的商业虚拟化解决方案。<br />
说 得通俗一点，Xen VPS 更接近于真实的系统，所以 PPTP VPN 这类需要系统底层支持的软件只能安装在 Xen VPS 上，关于 Xen 和  OpenVZ 平台的具体区别和优缺点，可以查看这几篇文章：</p>
<p>《<a href="http://www.iwanna.cn/archives/2010/05/20/3244/" target="_blank">挑选VPS：Xen与OpenVZ有什么区别？</a>》</p>
<p>《<a href="http://www.iwanna.cn/archives/2010/05/20/3248/" target="_blank">Xen和OpenVZ在内存管理方式的区别</a>》</p>
<p>《<a href="http://www.iwanna.cn/archives/2010/05/20/3250/" target="_blank">Xen、vmware、OpenVZ三 大vps主机系统比较</a>》</p>
<p>根据我的经验，如果 OpenVZ VPS 不超售（你认为可能吗？），性能绝对比 Xen VPS  好，256M内存的 OpenVZ 甚至能跑起 5000 IP 的 WordPress。无论是国内还是国外，90%购买 VPS 的站长都会选择  Xen ，这是为什么呢？请接着往下看。</p>
<h2>三、VPS主机商的超售伎俩</h2>
<p>以前有一种言论，说 Xen VPS  绝不会超售，而且成本比 OpenVZ 高，所以很多站长都倾向于 Xen VPS。</p>
<p>这里我就很通俗地为大家解释一下为何以前人们会有这种 观点，因为 Xen VPS 虚拟程度高，对CPU和内存要求比较高，每划分一个 Xen VPS，实际的内存就会相应减少，而 OpenVZ  则不同，虚拟化程度低，内存也是虚拟的，每划分一个 OpenVZ VPS，对服务器原有的内存大小并不影响。</p>
<p>也就是说，<strong>如 果VPS主机商想要超售 OpenVZ VPS 的话，只要那么划分 VPS 即可</strong>，贪婪一点的，一台服务器甚至可以划分50  60个VPS，在这点上，巴斯（<a href="http://vps.gd/burst" target="_blank">Burst</a>） 绝对是高手中的高手，不仅超售严重，而且还会很“聪明”地把占用资源高的VPS移动到总体资源小的服务器上。</p>
<p>随着服务器硬件的发展，  Xen VPS  也是可以“超售”的，如何做到呢？买个服务器，高配置，大内存，大硬盘，大流量。比如配置24G内存，5T硬盘，100M独享流量，这么一款服务器的成本 大概在300美元左右。然后，<strong>可以卖40多个512M内存的Xen VPS（服务器本身也要占用内存），100来个128M内存的Xen  VPS</strong>……</p>
<p>啥叫超售的最高境界，就是让用户感觉不到一点超售的迹象，一旦发现占用资源大的网站，悄悄移动到空闲的服务 器，用户丝毫感觉不出异常。</p>
<h2>四、如何挑选适合自己的VPS</h2>
<p><strong>1、明确你购买VPS的目的</strong></p>
<p>如 果只是想学习Linux服务器技术，购买最便宜的即可，也不用管稳定不稳定，首推巴斯（<a href="http://vps.gd/burst" target="_blank">Burst</a>）</p>
<p>如果是用来放网站的，则要 考虑很多方面，比如网站的应用程序，如果是 WordPress  之类的程序，消耗内存比较大，就需要内存较大的VPS（实测经验，WordPress流量稍大插件稍多，数据库放本地，至少需要128M以上的内存，推荐 256M或512M以上内存），推荐 <a href="http://vps.gd/linode" target="_blank">Linode</a>、<a href="http://vps.gd/photonvps" target="_blank">PhotonVPS</a>、<a href="http://vps.gd/diahosting" target="_blank">DiaHosting</a> 等服务商。如果是图片站之类对内存消耗不太大，但是对流量要求较大的，推荐 <a href="http://vps.gd/ecvps" target="_blank">EcVPS</a>、<a href="http://vps.gd/rashost" target="_blank">RasHost</a> 等支持大流量VPS的服务商。</p>
<p>同理，如果要搭建SSH或者VPN服务器（仅供自 己和朋友使用），也需要选择大流量的服务商，因为PPTP不能装在 OpenVZ 平台上，需要购买之前看清楚服务商的 VPS 平台，推荐 <a href="http://vps.gd/photonvps" target="_blank">PhotonVPS</a> 、 <a href="http://vps.gd/ecvps" target="_blank">EcVPS</a></p>
<p><strong>2、 不要超出自己的预算</strong></p>
<p>购买之前，必须要考虑好每个月的预算，个人强烈建议月付，而不是年付，因为年付风险比较大，月付风险 小，哪天觉得不合适，直接走人就是。按照市场价，根据 Xen VPS 的内存，大致就这个价格</p>
<p>128M内存 &#8211; 10美元/月   256M内存 &#8211; 15美元/月  512M内存 &#8211; 20美元/月  1024M内存 &#8211; 30美元/月</p>
<p>当然只是美国的VPS，本文讨论 的VPS全部是美国的，这也是一般的市场价，如果看到某个VPS商的价格比这个便宜很多或者贵很多，那就要担心是否会稳定了。便宜很多的肯定会超售，贵很 多的性能也不一定很好。</p>
<p><strong>3、最贵的并不是最合适的</strong></p>
<p>可能你会觉得卖得贵的VPS就是最好 的，其实不然。那些价格摆出来都是骗小白的，谁有钱谁上当，按照美国的带宽、服务器硬件、人工成本，基本上主机行业这个市场大体上已经稳定，无论是价格还 是配置。如果遇到哪家卖得超贵，比如（Media Temple），那就要当心了。应付一般的网站，MT的配置已经足够，如果流量稍大，VPS必挂无疑。</p>
<p><strong>4、 多学习国内外论坛，看清VPS主机提供商的线路</strong></p>
<p>众所周知，在天朝，网络线路是个很复杂的东西，电信、网通（联通）、铁 通，还有什么通的，访问美国的机房，就会走不通的线路。<strong>没有一条很稳定的线路，更没有一条适合所有国内运营商的线路。</strong></p>
<p><strong>至 于如何查看线路，开始，运行，输入 cmd ，在弹出的窗口中输入 tracert ip（或者域名）就能看到从你的网络走到服务商的网络所经过的线路。</strong></p>
<p>目 前对电信较好的线路有：Peer1（电信直连，服务器价格也最贵）、nlayer、he.net、Global  Crossing、XEEX、Savvis等等</p>
<p>对网通较好的线路有：Tinet、Comcast、Cogentco等等</p>
<p>对电 信很杯具的线路有：Level3 （坚决不要买 Level3 线路的产品）等等</p>
<p>对网通很杯具的线路有：Level3（亲身体验）、 he.net等等</p>
<p>至于如何挑选最适合的VPS，多去<a href="http://www.hostloc.com/" target="_blank">全球代购论坛</a>、<a href="http://www.fatku.com/" target="_blank">酷胖优惠码</a>、<a href="http://www.vpser.net/" target="_blank">VPS侦探</a>等网站看看就会学到。</p>
<p><strong>5、摸清楚VPS主机提供商的服务器提供商</strong></p>
<p>这 个关系看似复杂，其实很简单。很多VPS主机提供商因为自己成本的缘故，服务器都是直接租用而不是托管的，根据美国的服务器提供商，大致划分以下几个：</p>
<p>Softlayer（顶 级机房，网通一般走Comcast，电信一般走ATT或Qwest，抽风正常）：<a href="http://vps.gd/ecvps" target="_blank">EcVPS</a>、<a href="http://vps.gd/hawkhost" target="_blank">HawkHost</a></p>
<p>ThePlanet（同 上，网通一般走Comcast，电信走Att，最近在抽风）：<a href="http://vps.gd/linode" target="_blank">Linode</a></p>
<p>PacificRack（电信走nLayer，网通走Cogentco，均不错）：<a href="http://vps.gd/diahosting" target="_blank">DiaHosting</a>、<a href="http://gh.vc/" target="_blank">Gh.VC</a></p>
<p>Take2Hosting（电 信走Cogent，网通走Cogent）：<a href="http://vps.gd/ecvps" target="_blank">EcVPS</a>、<a href="http://vps.gd/rashost" target="_blank">Rashost</a>、<a href="http://vps.gd/vpsyou" target="_blank">VPSYou</a></p>
<p>He.net/WebNX（直 接走He.net，电信不错网通晚上杯具）：<a href="http://vps.gd/linode" target="_blank">Linode</a>、<a href="http://vps.gd/rahost" target="_blank">Rahost</a></p>
<p>Peer1（电信直连，网通走Tinet绕道）：<a href="http://vps.gd/d9host" target="_blank">D9Host</a></p>
<p>（因为天朝的网络复杂，电信和网通随时会更换自己的线路，可能明天就不是这个线路，然 后……）</p>
<p>自己有机房的VPS商家有：</p>
<p><a href="http://vps.gd/photonvps" target="_blank">Photonvps</a></p>
<h2>五、我现 在所使用的VPS</h2>
<p>目前<a href="http://zou.lu/" target="_blank">走点路</a>博 客架设在 <a href="http://vps.gd/photonvps" target="_blank"><strong>PhotonVPS</strong></a> Xen VPS 1G内存（WARP 2 ）上</p>
<p><a href="http://ta.md/" target="_blank">人人都是艺术家</a>架设在 <a href="http://vps.gd/vpsville" target="_blank">VPSVille</a> 的 Peer1 线路，OpenVZ VPS (512M内存，Metropolis  )上，优惠码<strong> LEADSDISC</strong> 享受终身9折</p>
<p>以前的<a href="https://fanfou.de/" target="_blank">饭 否.De</a>（包括Rabr）架设在 <a href="http://vps.gd/diahosting" target="_blank">Diahosting</a> 加州VPS（1G内存，PR机房）上</p>
<p><a href="http://bbs.se.com/" target="_blank">歮谈</a>架设在<a href="http://vps.gd/ecvps" target="_blank">EcVPS</a> 1G内存上</p>
<p>英文站目前架设 在<a href="http://vps.gd/linode" target="_blank">Linode</a> 720M内存上</p>
<p>所有 VPS 都是 CentOS系统+<a href="http://blog.licess.org/lnmp/" target="_blank">LNMP一键安装包</a> 配置，如果需要查看更多VPS推荐信息，欢迎围观：<a href="http://vps.cn.com/">http://vps.cn.com/</a> 更多我使用过的 VPS 详细信息可以参考 LeadVPS ：<a href="http://www.leadvps.com/">http://www.leadvps.com/</a></p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/05/20/3247/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/05/20/3247/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/05/20/3247/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/05/20/3247/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/05/20/3247/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/knowledge/" title="Knowledge" rel="tag nofollow">Knowledge</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/05/18/3217/" title="邮箱产品知识储备 (2010年05月18日)">邮箱产品知识储备</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/09/02/2203/" title="选择合适域名的有效策略 (2009年09月2日)">选择合适域名的有效策略</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/08/3776/" title="苹果全球开发人员大会（WWDC）简史 (2010年06月8日)">苹果全球开发人员大会（WWDC）简史</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/03/20/2588/" title="网站统计分析名词解释大全 (2010年03月20日)">网站统计分析名词解释大全</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/20/3244/" title="挑选VPS：Xen与OpenVZ有什么区别？ (2010年05月20日)">挑选VPS：Xen与OpenVZ有什么区别？</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/02/3620/" title="把常识变成知识 (2010年06月2日)">把常识变成知识</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/18/3214/" title="广告基本知识 (2010年05月18日)">广告基本知识</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/04/4342/" title="图说黑客历史 (2010年07月4日)">图说黑客历史</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/26/3372/" title="回顾时光 详解HTML的发展史 (2010年05月26日)">回顾时光 详解HTML的发展史</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/21/4650/" title="各种HTTP状态码介绍 (2010年07月21日)">各种HTTP状态码介绍</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/05/20/3247/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>挑选VPS：Xen与OpenVZ有什么区别？</title>
		<link>http://www.iwanna.cn/archives/2010/05/20/3244/</link>
		<comments>http://www.iwanna.cn/archives/2010/05/20/3244/#comments</comments>
		<pubDate>Thu, 20 May 2010 01:50:38 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Knowledge]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=3244</guid>
		<description><![CDATA[经常使用VPS的人，肯定不会对Xen与OpenVZ两个陌生，但是往往有小白会问，什么是Xen？什么是OpenVZ？这两者有什么区别？下面便 宜吧收集一篇文章，就当帮大家扫一下盲吧，这样也好更好地鉴别VPS的好坏，买到性价比更高的VPS。
一、Openvz和Xen的技术规格分析
1.Xen与Openvz的区别
Xen和Openvz同样是虚拟化主机技术，区别在于Xen是半虚拟化技术，它并不是一个真正的虚拟机，而是相当于自己运行了一个内核的实例， 可以自由的加载内核模块，虚拟的内存和IO，稳定而且可预测。Openvz则是操作系统级别的虚拟化技术，是底层操作系统上的一层应用，这意味着易于理解 和低权重开销，一般来说也意味着更优的性能。
这里有一个问题，可以看到实际上openvz因为免去了大量的公共开销，理论上来说性能会比xen更好。为什么大家都会认为openvz过分压 榨性能呢?我认为是因为openvz配置起来比较灵活，给黑心 openvz服务商改低限制的机会。
比如mediatemple，号称512M内存的dv方案，kmemsize才12M，不了解的人看了512M觉得很哈皮啊，可是使用的时候一 般这512M能分到你手里一半就不错了。此消彼长，所以才会有xen 能更好地利用机器性能的错觉。

2.Openvz的内核模型
首先当OpenVZ的主机说“256MB的保证”，它实际上意味着约232MB的“privvmpages”，14M的“kmemsize”和 其他杂项资源。当应用程序调用 malloc()分配的内存将被添加到“privvmpages”。
当“privvmpages”超过限制，malloc()将失败并返回一个NULL。当主机服务器内存用光了，然后虚拟环境下的进程超过  “oomguarpages”的将被终止。
OpenVZ的内存管理方法既有问题也有优势。最大的问题之一是内存容量的应用程序使用的内存和应用程序实际上分配到的内存是不同的，不同的应 用程序他们的差别可能会很大。以Java为例，它通常分配一大块的内存，但是，它可能只使用一小部分分配的内存。如果privvmpages受 限，java会立即停止运行。调整参数可以解决一部分问题，但它处理得绝对没有Xen来得干净利落。事实上，几乎所有使用内存分配的应用程序都会受 OpenVZ这个问题的影响。
/proc/meminfo  本身也有问题。虽然OpenVZ的已经为内存进行了虚拟，但是用”free”命令依然会返回主机的内存。这样就会使小内存的openvz的vps无法运行 诸如java或者gcc编译这样的程序。
OpenVZ的内存模型的优点是， 它容易理解：  你几乎就只有privvmpages受限。与专用的服务器或Xen的服务器不一样的是，你的磁盘高速缓存和页面缓存并不计入您的总内存使用情况。因此，在 一个没有过度销售的openvz主机上，由于拥有较大冗余的公共资源，它实际上可能会比同类规格的Xen的VPS表现更佳。
3.Xen的内存模型
Xen的系统模型更容易解释。256MB的Xen的VPS是就像一个256MB的专用服务器-该内存段是预留作VPS专用，没有其他VPS能够 使用这部分内存，这就像一个真正的专用服务器。
此外，当内存不足时，VPS会使用Swap。一般每个VPS带有两倍大小的交换分区，当您的应用需要更多的内存，不常使用的页面从内存中被换出 到交换分区，从而腾出使更多的房间。因此，256MB的Xen的VPS系统实际上共有768MB内存(256MB内存+  512MB的交换空间)，请相信我，交换空间是非常有用的，特别是处理突发的需求高峰时。
这么说来，Xen是永远远优于OpenVZ?不然，你的256MB的VPS理论可以使用高达768MB内存，而实际上内核，高速缓存，缓冲，他 们都占用内存。这部分系统开销也是可观的。另外，Swap会严重降低性能。
4.稳定性和可预测性
当内存耗尽时，xen和openvz表现大相径庭。xen会把不常用的内存页面换入Swap，这将大大降低性能，当Swap也用尽，那么xen 的系统会响应得越来越慢，就像一台真实的服务器一样。
而openvz一旦内存用尽，则会突然死亡：开不出新的程序，只能等待系统资源可用。更有甚者，本来运行的好好的程序也可能因为不断增长而超过 限制，然后突然死亡。这就像开车开到70码，然后突然撞墙上了，一般会死得很惨。
毫无疑问这点上我倾向于xen技术，可预测，稳定。
5.结论
如果xen和openvz一样贵，我肯定选xen，因为可预测性，即使openvz打8折，我还是追求稳定。
上面的话总结一下，得出几个结论：
1、XEN比openvz主机对买家更有利，比如分配给你512M内存后，这一部分内存就从服务器上专门划给你了，别人将无法使用，而 openvz则是共用内存，比如分配给你512M内存是指最大你能使用512M内存，比如你占用了200M内存，那么就只从物体内存中分配200M给你， 所以卖家非常容易在服务器上面超卖!
2、openvz更高效，xen是硬件底层虚拟，更接近真实服务器，而openvz是操作系统虚拟，虚拟服务自身占用内存少，同样的程序执行效 率更高!
3、如果购买openvz应看卖家是否会超卖，应选择良好声誉明确申明不会超卖的
4、如果购买xen主机，应同时关注swap大小
5、测试VPS主机性能使用Unixbench(很多人不知道)，国外非常流行这个东西!
这是它的一些参数说明



以下为引用的内容：
dhry2reg 内存的register性能
whetstone-double 双精度浮点性能
execl execl call性能
fstime 文件系统性能
fsbuffer 文件系统性能
fsdisk 文件系统性能
pipe 管道(pipe)的性能
context1 管道上下文切换的性能
spawn 创建进程的性能
shell shell并发性能
syscall 系统调用性能



6、VPS用途：服务器、软交换、代理和反向代理、离线BT下载等等
7.通常一般的使用条件下，两者性能应该相差不大。

© 我想网 Akon 所有 , 2010. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：Knowledge, Server, Tool, [...]]]></description>
			<content:encoded><![CDATA[<p>经常使用VPS的人，肯定不会对Xen与OpenVZ两个陌生，但是往往有小白会问，什么是Xen？什么是OpenVZ？这两者有什么区别？下面便 宜吧收集一篇文章，就当帮大家扫一下盲吧，这样也好更好地鉴别VPS的好坏，买到性价比更高的VPS。</p>
<p>一、Openvz和Xen的技术规格分析</p>
<p>1.Xen与Openvz的区别</p>
<p>Xen和Openvz同样是虚拟化主机技术，区别在于Xen是半虚拟化技术，它并不是一个真正的虚拟机，而是相当于自己运行了一个内核的实例， 可以自由的加载内核模块，虚拟的内存和IO，稳定而且可预测。Openvz则是操作系统级别的虚拟化技术，是底层操作系统上的一层应用，这意味着易于理解 和低权重开销，一般来说也意味着更优的性能。</p>
<p>这里有一个问题，可以看到实际上openvz因为免去了大量的公共开销，理论上来说性能会比xen更好。为什么大家都会认为openvz过分压 榨性能呢?我认为是因为openvz配置起来比较灵活，给黑心 openvz服务商改低限制的机会。</p>
<p>比如mediatemple，号称512M内存的dv方案，kmemsize才12M，不了解的人看了512M觉得很哈皮啊，可是使用的时候一 般这512M能分到你手里一半就不错了。此消彼长，所以才会有xen 能更好地利用机器性能的错觉。<br />
<span id="more-3244"></span><br />
2.Openvz的内核模型</p>
<p>首先当OpenVZ的主机说“256MB的保证”，它实际上意味着约232MB的“privvmpages”，14M的“kmemsize”和 其他杂项资源。当应用程序调用 malloc()分配的内存将被添加到“privvmpages”。</p>
<p>当“privvmpages”超过限制，malloc()将失败并返回一个NULL。当主机服务器内存用光了，然后虚拟环境下的进程超过  “oomguarpages”的将被终止。</p>
<p>OpenVZ的内存管理方法既有问题也有优势。最大的问题之一是内存容量的应用程序使用的内存和应用程序实际上分配到的内存是不同的，不同的应 用程序他们的差别可能会很大。以Java为例，它通常分配一大块的内存，但是，它可能只使用一小部分分配的内存。如果privvmpages受 限，java会立即停止运行。调整参数可以解决一部分问题，但它处理得绝对没有Xen来得干净利落。事实上，几乎所有使用内存分配的应用程序都会受 OpenVZ这个问题的影响。</p>
<p>/proc/meminfo  本身也有问题。虽然OpenVZ的已经为内存进行了虚拟，但是用”free”命令依然会返回主机的内存。这样就会使小内存的openvz的vps无法运行 诸如java或者gcc编译这样的程序。</p>
<p>OpenVZ的内存模型的优点是， 它容易理解：  你几乎就只有privvmpages受限。与专用的服务器或Xen的服务器不一样的是，你的磁盘高速缓存和页面缓存并不计入您的总内存使用情况。因此，在 一个没有过度销售的openvz主机上，由于拥有较大冗余的公共资源，它实际上可能会比同类规格的Xen的VPS表现更佳。</p>
<p>3.Xen的内存模型</p>
<p>Xen的系统模型更容易解释。256MB的Xen的VPS是就像一个256MB的专用服务器-该内存段是预留作VPS专用，没有其他VPS能够 使用这部分内存，这就像一个真正的专用服务器。</p>
<p>此外，当内存不足时，VPS会使用Swap。一般每个VPS带有两倍大小的交换分区，当您的应用需要更多的内存，不常使用的页面从内存中被换出 到交换分区，从而腾出使更多的房间。因此，256MB的Xen的VPS系统实际上共有768MB内存(256MB内存+  512MB的交换空间)，请相信我，交换空间是非常有用的，特别是处理突发的需求高峰时。</p>
<p>这么说来，Xen是永远远优于OpenVZ?不然，你的256MB的VPS理论可以使用高达768MB内存，而实际上内核，高速缓存，缓冲，他 们都占用内存。这部分系统开销也是可观的。另外，Swap会严重降低性能。</p>
<p>4.稳定性和可预测性</p>
<p>当内存耗尽时，xen和openvz表现大相径庭。xen会把不常用的内存页面换入Swap，这将大大降低性能，当Swap也用尽，那么xen 的系统会响应得越来越慢，就像一台真实的服务器一样。</p>
<p>而openvz一旦内存用尽，则会突然死亡：开不出新的程序，只能等待系统资源可用。更有甚者，本来运行的好好的程序也可能因为不断增长而超过 限制，然后突然死亡。这就像开车开到70码，然后突然撞墙上了，一般会死得很惨。</p>
<p>毫无疑问这点上我倾向于xen技术，可预测，稳定。</p>
<p>5.结论</p>
<p>如果xen和openvz一样贵，我肯定选xen，因为可预测性，即使openvz打8折，我还是追求稳定。</p>
<p>上面的话总结一下，得出几个结论：</p>
<p>1、XEN比openvz主机对买家更有利，比如分配给你512M内存后，这一部分内存就从服务器上专门划给你了，别人将无法使用，而 openvz则是共用内存，比如分配给你512M内存是指最大你能使用512M内存，比如你占用了200M内存，那么就只从物体内存中分配200M给你， 所以卖家非常容易在服务器上面超卖!</p>
<p>2、openvz更高效，xen是硬件底层虚拟，更接近真实服务器，而openvz是操作系统虚拟，虚拟服务自身占用内存少，同样的程序执行效 率更高!</p>
<p>3、如果购买openvz应看卖家是否会超卖，应选择良好声誉明确申明不会超卖的</p>
<p>4、如果购买xen主机，应同时关注swap大小</p>
<p>5、测试VPS主机性能使用Unixbench(很多人不知道)，国外非常流行这个东西!</p>
<p>这是它的一些参数说明</p>
<table border="0" cellspacing="0" cellpadding="6" width="95%" align="center">
<tbody>
<tr>
<td bgcolor="#fdfddf"><span style="color: #ff0000;">以下为引用的内容：</span><br />
dhry2reg 内存的register性能</p>
<p>whetstone-double 双精度浮点性能</p>
<p>execl execl call性能</p>
<p>fstime 文件系统性能</p>
<p>fsbuffer 文件系统性能</p>
<p>fsdisk 文件系统性能</p>
<p>pipe 管道(pipe)的性能</p>
<p>context1 管道上下文切换的性能</p>
<p>spawn 创建进程的性能</p>
<p>shell shell并发性能</p>
<p>syscall 系统调用性能</td>
</tr>
</tbody>
</table>
<p>6、VPS用途：服务器、软交换、代理和反向代理、离线BT下载等等</p>
<p>7.通常一般的使用条件下，两者性能应该相差不大。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/05/20/3244/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/05/20/3244/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/05/20/3244/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/05/20/3244/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/05/20/3244/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/knowledge/" title="Knowledge" rel="tag nofollow">Knowledge</a>, <a href="http://www.iwanna.cn/topics/develope/server/" title="Server" rel="tag nofollow">Server</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tool/" title="Tool" rel="tag nofollow">Tool</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2010/05/20/3248/" title="Xen和OpenVZ在内存管理方式的区别 (2010年05月20日)">Xen和OpenVZ在内存管理方式的区别</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/20/3250/" title="xen、vmware、openVZ三大vps主机系统比较 (2010年05月20日)">xen、vmware、openVZ三大vps主机系统比较</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/18/3217/" title="邮箱产品知识储备 (2010年05月18日)">邮箱产品知识储备</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/09/02/2203/" title="选择合适域名的有效策略 (2009年09月2日)">选择合适域名的有效策略</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/08/3776/" title="苹果全球开发人员大会（WWDC）简史 (2010年06月8日)">苹果全球开发人员大会（WWDC）简史</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4628/" title="美化你的Google阅读器 (2010年07月19日)">美化你的Google阅读器</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/01/1900/" title="网页鼠标点击轨迹热图跟踪软件-ClickHeat (2009年07月1日)">网页鼠标点击轨迹热图跟踪软件-ClickHeat</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/03/20/2588/" title="网站统计分析名词解释大全 (2010年03月20日)">网站统计分析名词解释大全</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/09/2274/" title="替代微软Visio的免费开源软件：DIA (2009年10月9日)">替代微软Visio的免费开源软件：DIA</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3530/" title="数据之美之50个数据图形化工具(下) (2010年05月28日)">数据之美之50个数据图形化工具(下)</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/05/20/3244/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache中 RewriteRule 规则参数介绍</title>
		<link>http://www.iwanna.cn/archives/2009/10/19/2321/</link>
		<comments>http://www.iwanna.cn/archives/2009/10/19/2321/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 07:50:27 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=2321</guid>
		<description><![CDATA[Apache模 块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操 作机制。此URL操作可以依赖于各种测试，比如服务器变量、环境变量、HTTP头、时间标记，甚至各种格式的用于匹配URL组成部分的查找数据库。
此模块可以操作URL的所有部分(包括路径信息部分)，在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效，还可以生成最终请求字符串。此重写操作的结果可以是内部子处理，也可以是外部请求的转向，甚至还可以是内部代理处理。

这里着重介绍一下 RewriteRule 的规则以及参数说明。RewriteRule指令是重写引擎的根本。此指令可以多次使用。每个指令定义一个简单的重写规则。这些规则的定义顺序尤为重要——在运行时，规则是按这个顺序逐一生效的。
RewriteRule Pattern Substitution [flags]
Pattern是一个作用于当前URL的perl兼容的正则表达式。&#8221;当前URL&#8221;是指该规则生效时刻的URL的值。它可能与被请求的URL截然不同，因为其他规则可能在此之前已经发生匹配并对它做了改动。
Substitution是当原始URL与Pattern相匹配时，用来替代(或替换)的字符串。除了纯文本，还可以包含：
对Pattern的反向引用($N)
对最后匹配的RewriteCond的反向引用(%N)
规则条件测试字符串(%{VARNAME})中的服务器变量
映射函数调用(${mapname:key&#124;default})
[flags]标记作为RewriteRule指令的第三个参数，是一个包含以逗号分隔的下列标记的列表：
&#8216;chain&#124;C&#8217;(链接下一规则)
此标记使当前规则与下一个规则相链接。它产生这样的效果：如果一个规则被匹配，则继续处理其后继规则，也就是这个标记不起作用；如果该规则不被匹配，则其 后继规则将被跳过。比如，在一个目录级规则中执行一个外部重定向时，你可能需要删除&#8221;.www&#8221;(此处不应该出现&#8221;.www&#8221;)。
&#8216;cookie&#124;CO=NAME:VAL:domain[:lifetime[:path]]&#8217;(设置cookie)
在客户端设置一个cookie。cookie的名称是NAME，值是VAL。domain是该cookie的域，比如&#8217;.apache.org&#8217;，可选的lifetime是cookie的有效期(分钟)，可选的path是cookie的路径。
&#8216;env&#124;E=VAR:VAL&#8217;(设置环境变量)
此标记将环境变量VAR的值为VAL，VAL可以包含可扩展的正则表达式反向引用($N和%N)。此标记可以多次使用以设置多个变量。这些变量可以在其后 许多情况下被间接引用，通常是在XSSI(&#60;!&#8211;#echo var=&#8221;VAR&#8221;&#8211;&#62;)或CGI($ENV{&#8216;VAR&#8217;})中，也可以在后继的RewriteCond指令的CondPattern参数中通 过%{ENV:VAR}引用。使用它可以记住从URL中剥离的信息。
&#8216;forbidden&#124;F&#8217;(强制禁止URL)
强制禁止当前URL，也就是立即反馈一个HTTP响应码403(被禁止的)。使用这个标记，可以链接若干个RewriteConds来有条件地阻塞某些URL。
&#8216;gone&#124;G&#8217;(强制废弃URL)
强制当前URL为已废弃，也就是立即反馈一个HTTP响应码410(已废弃的)。使用这个标记，可以标明页面已经被废弃而不存在了。
&#8216;handler&#124;H=Content-handler&#8217;(强制指定内容处理器)
强自制定目标文件的内容处理器为Content-handler。例如，用来模拟mod_alias模块的ScriptAlias指令，以强制映射文件夹内的所有文件都由&#8221;cgi-script&#8221;处理器处理。
&#8216;last&#124;L&#8217;(结尾规则)
立即停止重写操作，并不再应用其他重写规则。它对应于Perl中的last命令或C语言中的break命令。这个标记用于阻止当前已被重写的URL被后继规则再次重写。例如，使用它可以重写根路径的URL(&#8216;/&#8217;)为实际存在的URL(比如：&#8217;/e/www/&#8217;)。
&#8216;next&#124;N&#8217;(从头再来)
重新执行重写操作(从第一个规则重新开始)。此时再次进行处理的URL已经不是原始的URL了，而是经最后一个重写规则处理过的URL。它对应于Perl 中的next命令或C语言中的continue命令。此标记可以重新开始重写操作(立即回到循环的开头)。但是要小心，不要制造死循环！
&#8216;nocase&#124;NC&#8217;(忽略大小写)
它使Pattern忽略大小写，也就是在Pattern与当前URL匹配时，&#8217;A-Z&#8217;和&#8217;a-z&#8217;没有区别。
&#8216;noescape&#124;NE&#8217;(在输出中不对URI进行转义)
此标记阻止mod_rewrite对重写结果应用常规的URI转义规则。 一般情况下，特殊字符(&#8216;%&#8217;, &#8216;$&#8217;, &#8216;;&#8217;等)会被转义为等值的十六进制编码(&#8216;%25&#8242;, &#8216;%24&#8242;, &#8216;%3B&#8217;等)。此标记可以阻止这样的转义，以允许百分号等符号出现在输出中，比如：
RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
可以使&#8217;/foo/zed转向到一个安全的请求&#8217;/bar?arg=P1=zed&#8217;。
&#8216;nosubreq&#124;NS&#8217;(不对内部子请求进行处理)
在当前请求是一个内部子请求时，此标记强制重写引擎跳过该重写规则。比如，在mod_include试图搜索目录默认文件(index.xxx) 时，Apache会在内部产生子请求。对于子请求，重写规则不一定有用，而且如果整个规则集都起作用，它甚至可能会引发错误。所以，可以用这个标记来排除 某些规则。
使用原则：如果你为URL添加了CGI脚本前缀，以强制它们由CGI脚本处理，但对子请求处理的出错率(或者资源开销)很高，在这种情况下，可以使用这个标记。
&#8216;proxy&#124;P&#8217;(强制为代理)
此标记使替换成分被内部地强制作为代理请求发送，并立即中断重写处理，然后把处理移交给mod_proxy模块。你必须确保此替换串是一个能够被 mod_proxy处理的有效URI(比如以http://hostname开头)，否则将得到一个代理模块返回的错误。使用这个标记，可以把某些远程成 分映射到本地服务器域名空间，从而增强了ProxyPass指令的功能。
注意：要使用这个功能，必须已经启用了mod_proxy模块。
&#8216;passthrough&#124;PT&#8217;(移交给下一个处理器)
此标记强制重写引擎将内部request_rec结构中的uri字段设置为filename字段的值，这个小小的修改使得RewriteRule指令的输 出能够被(从URI转换到文件名的)Alias, ScriptAlias, Redirect等指令进行后续处理[原文：This flag is just a hack to enable post-processing of the output of RewriteRule directives, using Alias, ScriptAlias, Redirect, and other directives from various URI-to-filename translators.]。举一个能说明其含义的例子： [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>模 块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操 作机制。此URL操作可以依赖于各种测试，比如服务器变量、环境变量、HTTP头、时间标记，甚至各种格式的用于匹配URL组成部分的查找数据库。</p>
<p>此模块可以操作URL的所有部分(包括路径信息部分)，在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效，还可以生成最终请求字符串。此重写操作的结果可以是内部子处理，也可以是外部请求的转向，甚至还可以是内部代理处理。<br />
<span id="more-2321"></span><br />
这里着重介绍一下 RewriteRule 的规则以及参数说明。RewriteRule指令是重写引擎的根本。此指令可以多次使用。每个指令定义一个简单的重写规则。这些规则的定义顺序尤为重要——在运行时，规则是按这个顺序逐一生效的。</p>
<pre>RewriteRule Pattern Substitution [flags]</pre>
<p>Pattern是一个作用于当前URL的perl兼容的正则表达式。&#8221;当前URL&#8221;是指该规则生效时刻的URL的值。它可能与被请求的URL截然不同，因为其他规则可能在此之前已经发生匹配并对它做了改动。</p>
<p>Substitution是当原始URL与Pattern相匹配时，用来替代(或替换)的字符串。除了纯文本，还可以包含：<br />
对Pattern的反向引用($N)<br />
对最后匹配的RewriteCond的反向引用(%N)<br />
规则条件测试字符串(%{VARNAME})中的服务器变量<br />
映射函数调用(${mapname:key|default})</p>
<p>[flags]标记作为RewriteRule指令的第三个参数，是一个包含以逗号分隔的下列标记的列表：<br />
<span>&#8216;chain|C&#8217;(链接下一规则)</span><br />
此标记使当前规则与下一个规则相链接。它产生这样的效果：如果一个规则被匹配，则继续处理其后继规则，也就是这个标记不起作用；如果该规则不被匹配，则其 后继规则将被跳过。比如，在一个目录级规则中执行一个外部重定向时，你可能需要删除&#8221;.www&#8221;(此处不应该出现&#8221;.www&#8221;)。<br />
<span>&#8216;cookie|CO=NAME:VAL:domain[:lifetime[:path]]&#8217;(设置cookie)</span><br />
在客户端设置一个cookie。cookie的名称是NAME，值是VAL。domain是该cookie的域，比如&#8217;.<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">apache</a>.org&#8217;，可选的lifetime是cookie的有效期(分钟)，可选的path是cookie的路径。<br />
<span>&#8216;env|E=VAR:VAL&#8217;(设置环境变量)</span><br />
此标记将环境变量VAR的值为VAL，VAL可以包含可扩展的正则表达式反向引用($N和%N)。此标记可以多次使用以设置多个变量。这些变量可以在其后 许多情况下被间接引用，通常是在XSSI(&lt;!&#8211;#echo var=&#8221;VAR&#8221;&#8211;&gt;)或CGI($ENV{&#8216;VAR&#8217;})中，也可以在后继的RewriteCond指令的CondPattern参数中通 过%{ENV:VAR}引用。使用它可以记住从URL中剥离的信息。<br />
<span>&#8216;forbidden|F&#8217;(强制禁止URL)</span><br />
强制禁止当前URL，也就是立即反馈一个HTTP响应码403(被禁止的)。使用这个标记，可以链接若干个RewriteConds来有条件地阻塞某些URL。<br />
<span>&#8216;gone|G&#8217;(强制废弃URL)</span><br />
强制当前URL为已废弃，也就是立即反馈一个HTTP响应码410(已废弃的)。使用这个标记，可以标明页面已经被废弃而不存在了。<br />
<span>&#8216;handler|H=Content-handler&#8217;(强制指定内容处理器)</span><br />
强自制定目标文件的内容处理器为Content-handler。例如，用来模拟mod_alias模块的ScriptAlias指令，以强制映射文件夹内的所有文件都由&#8221;cgi-script&#8221;处理器处理。<br />
<span>&#8216;last|L&#8217;(结尾规则)</span><br />
立即停止重写操作，并不再应用其他重写规则。它对应于Perl中的last命令或C语言中的break命令。这个标记用于阻止当前已被重写的URL被后继规则再次重写。例如，使用它可以重写根路径的URL(&#8216;/&#8217;)为实际存在的URL(比如：&#8217;/e/www/&#8217;)。<br />
<span>&#8216;next|N&#8217;(从头再来)</span><br />
重新执行重写操作(从第一个规则重新开始)。此时再次进行处理的URL已经不是原始的URL了，而是经最后一个重写规则处理过的URL。它对应于Perl 中的next命令或C语言中的continue命令。此标记可以重新开始重写操作(立即回到循环的开头)。但是要小心，不要制造死循环！<br />
<span>&#8216;nocase|NC&#8217;(忽略大小写)</span><br />
它使Pattern忽略大小写，也就是在Pattern与当前URL匹配时，&#8217;A-Z&#8217;和&#8217;a-z&#8217;没有区别。<br />
<span>&#8216;noescape|NE&#8217;(在输出中不对URI进行转义)</span><br />
此标记阻止mod_rewrite对重写结果应用常规的URI转义规则。 一般情况下，特殊字符(&#8216;%&#8217;, &#8216;$&#8217;, &#8216;;&#8217;等)会被转义为等值的十六进制编码(&#8216;%25&#8242;, &#8216;%24&#8242;, &#8216;%3B&#8217;等)。此标记可以阻止这样的转义，以允许百分号等符号出现在输出中，比如：</p>
<pre>RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]</pre>
<p>可以使&#8217;/foo/zed转向到一个安全的请求&#8217;/bar?arg=P1=zed&#8217;。<br />
<span>&#8216;nosubreq|NS&#8217;(不对内部子请求进行处理)</span><br />
在当前请求是一个内部子请求时，此标记强制重写引擎跳过该重写规则。比如，在mod_include试图搜索目录默认文件(index.xxx) 时，<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>会在内部产生子请求。对于子请求，重写规则不一定有用，而且如果整个规则集都起作用，它甚至可能会引发错误。所以，可以用这个标记来排除 某些规则。<br />
使用原则：如果你为URL添加了CGI脚本前缀，以强制它们由CGI脚本处理，但对子请求处理的出错率(或者资源开销)很高，在这种情况下，可以使用这个标记。<br />
<span>&#8216;proxy|P&#8217;(强制为代理)</span><br />
此标记使替换成分被内部地强制作为代理请求发送，并立即中断重写处理，然后把处理移交给mod_proxy模块。你必须确保此替换串是一个能够被 mod_proxy处理的有效URI(比如以http://hostname开头)，否则将得到一个代理模块返回的错误。使用这个标记，可以把某些远程成 分映射到本地服务器域名空间，从而增强了ProxyPass指令的功能。<br />
注意：要使用这个功能，必须已经启用了mod_proxy模块。<br />
<span>&#8216;passthrough|PT&#8217;(移交给下一个处理器)</span><br />
此标记强制重写引擎将内部request_rec结构中的uri字段设置为filename字段的值，这个小小的修改使得RewriteRule指令的输 出能够被(从URI转换到文件名的)Alias, ScriptAlias, Redirect等指令进行后续处理[原文：This flag is just a hack to enable post-processing of the output of RewriteRule directives, using Alias, ScriptAlias, Redirect, and other directives from various URI-to-filename translators.]。举一个能说明其含义的例子： 如果要将/abc重写为/def， 然后再使用mod_alias将/def转换为/ghi，可以这样：</p>
<pre>RewriteRule ^/abc(.*) /def$1 [PT]
Alias /def /ghi</pre>
<p>如果省略了PT标记，虽然将uri=/abc/&#8230;重写为filename=/def/&#8230;的部分运作正常，但是后续的mod_alias在试图将URI转换到文件名时会遭遇失效。<br />
注意：如果需要混合使用多个将URI转换到文件名的模块时，就必须使用这个标记。。此处混合使用mod_alias和mod_rewrite就是个典型的例子。<br />
<span>&#8216;qsappend|QSA&#8217;(追加查询字符串)</span><br />
此标记强制重写引擎在已有的替换字符串中追加一个查询字符串，而不是简单的替换。如果需要通过重写规则在请求串中增加信息，就可以使用这个标记。<br />
<span>&#8216;redirect|R [=code]&#8216;(强制重定向)</span><br />
若Substitution以http://thishost[:thisport]/(使新的URL成为一个URI)开头，可以强制性执行一个外部重定 向。如果没有指定code，则产生一个HTTP响应码302(临时性移动)。如果需要使用在300-400范围内的其他响应代码，只需在此指定即可(或使 用下列符号名称之一：temp(默认), permanent, seeother)。使用它可以把规范化的URL反馈给客户端，如将&#8221;/~&#8221;重写为&#8221;/u/&#8221;，或始终对/u/user加上斜杠，等等。<br />
注意：在使用这个标记时，必须确保该替换字段是一个有效的URL。否则，它会指向一个无效的位置！并且要记住，此标记本身只是对URL加上 http://thishost[:thisport]/前缀，重写操作仍然会继续进行。通常，你还会希望停止重写操作而立即重定向，那么就还需要使用 &#8216;L&#8217;标记。<br />
<span>&#8217;skip|S=num&#8217;(跳过后继规则)</span><br />
此标记强制重写引擎跳过当前匹配规则之后的num个规则。它可以模拟if-then-else结构：最后一个规则是then从句，而被跳过的skip=N个规则是else从句。注意：它和&#8217;chain|C&#8217;标记是不同的！<br />
<span>&#8216;type|T=MIME-type&#8217;(强制MIME类型)</span><br />
强制目标文件的MIME类型为MIME-type，可以用来基于某些特定条件强制设置内容类型。比如，下面的指令可以让.php文件在以.phps扩展名 调用的情况下由mod_php按照PHP源代码的MIME类型(application/x-httpd-php-source)显示：</p>
<pre>RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]</pre>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/10/19/2321/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/10/19/2321/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/10/19/2321/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/10/19/2321/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/10/19/2321/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/apache/" title="Apache" rel="tag nofollow">Apache</a>, <a href="http://www.iwanna.cn/tags/apache/" title="Apache" rel="tag nofollow">Apache</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/10/09/2276/" title="深入理解Apache的mod_rewrite (2009年10月9日)">深入理解Apache的mod_rewrite</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/19/2318/" title="Apache中 RewriteCond 规则参数介绍 (2009年10月19日)">Apache中 RewriteCond 规则参数介绍</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/10/19/2321/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache中 RewriteCond 规则参数介绍</title>
		<link>http://www.iwanna.cn/archives/2009/10/19/2318/</link>
		<comments>http://www.iwanna.cn/archives/2009/10/19/2318/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 07:36:40 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=2318</guid>
		<description><![CDATA[Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操 作机制。此URL操作可以依赖于各种测试，比如服务器变量、环境变量、HTTP头、时间标记，甚至各种格式的用于匹配URL组成部分的查找数据库。
此模块可以操作URL的所有部分(包括路径信息部分)，在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效，还可以生成最终请求字符串。此重写操作的结果可以是内部子处理，也可以是外部请求的转向，甚至还可以是内部代理处理。

这里着重介绍一下 RewriteCond 的规则以及参数说明。RewriteCond指令定义了规则生效的条件，即在一个RewriteRule指令之前可以有一个或多个RewriteCond 指令。条件之后的重写规则仅在当前URI与Pattern匹配并且满足此处的条件(TestString能够与CondPattern匹配)时才会起作 用。
【说明 】定义重写发生的条件
【语法】 RewriteCond TestString CondPattern [flags]
【作用域】 server config, virtual host, directory, .htaccess
【覆盖项】 FileInfo
【状态】 扩展(E)
【模块】 mod_rewrite
TestString是一个纯文本的字符串，但是还可以包含下列可扩展的成分：
1、RewriteRule反向引用 ，引用方法是：$N (0 &#60;= N &#60;= 9)引用当前(带有若干RewriteRule指令的)RewriteCond中的与Pattern匹配的分组成分(圆括号!)。
2、RewriteCond反向引用 ，引用方法是：%N (1 &#60;= N &#60;= 9)引用当前若干RewriteCond条件中最后符合的条件中的分组成分(圆括号!)。
3、RewriteMap扩展 ，引用方法是：${mapname:key&#124;default} 细节请参见RewriteMap 指令。
4、服务器变量 ，引用方法是：%{NAME_OF_VARIABLE} NAME_OF_VARIABLE可以是下表列出的字符串之一：



HTTP头
连接与请求



HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT
REMOTE_ADDR
REMOTE_HOST
REMOTE_PORT
REMOTE_USER
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_FILENAME
PATH_INFO
QUERY_STRING
AUTH_TYPE



服务器自身
日期和时间
其它


DOCUMENT_ROOT
SERVER_ADMIN
SERVER_NAME
SERVER_ADDR
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME
API_VERSION
THE_REQUEST
REQUEST_URI
REQUEST_FILENAME
IS_SUBREQ
HTTPS



这些变量都对应于类似命名的HTTP MIME头、Apache服务器的C变量、Unix系统中的struct tm字段，其中的大多数在其他的手册或者CGI规范中都有说明。 其中为mod_rewrite所特有的变量如下：
IS_SUBREQ
如果正在处理的请求是一个子请求，它将包含字符串&#8221;true&#8221;，否则就是&#8221;false&#8221;。模块为了解析URI中的附加文件，可能会产生子请求。
API_VERSION
这是正在使用中的Apache模块API(服务器和模块之间内部接口)的版本， 其定义位于include/ap_mmn.h中。此模块API版本对应于正在使用的Apache的版本(比如在Apache 1.3.14的发行版中这个值是19990320:10)。 通常，对它感兴趣的是模块的开发者。
THE_REQUEST
这是由浏览器发送的完整的HTTP请求行(比如：&#8221;GET /index.html HTTP/1.1&#8243;)。它不包含任何浏览器发送的其它头信息。
REQUEST_URI
这是在HTTP请求行中所请求的资源(比如上述例子中的&#8221;/index.html&#8221;)。
REQUEST_FILENAME
这是与请求相匹配的完整的本地文件系统的文件路径名。
HTTPS
如果连接使用了SSL/TLS，它将包含字符串&#8221;on&#8221;，否则就是&#8221;off&#8221;(无论mod_ssl是否已经加载，该变量都可以安全的使用)。
其它注意事项：
1、SCRIPT_FILENAME和REQUEST_FILENAME包含的值是相同的——即Apache服务器内部的request_rec结构中的 filename字段。 第一个就是大家都知道的CGI变量名，而第二个则是REQUEST_URI(request_rec结构中的uri字段)的一个副本。
2、特殊形式：%{ENV:variable} ，其中的variable可以是任意环境变量。它是通过查找Apache内部结构或者(如果没找到的话)由Apache服务器进程通过getenv()得到的。
3、特殊形式：%{SSL:variable} ，其中的variable可以是一个SSL环境变量的名字，无论mod_ssl模块是否已经加载都可以使用(未加载时为空字符串)。比如：%{SSL:SSL_CIPHER_USEKEYSIZE}将会被替换为128。
4、特殊形式：%{HTTP:header} ，其中的header可以是任意HTTP MIME头的名称。它总是可以通过查找HTTP请求而得到。比如：%{HTTP:Proxy-Connection}将被替换为Proxy-Connection:HTTP头的值。
5、预设形式：%{LA-U:variable} ，variable的最终值在执行一个内部(基于URL的)子请求后确定。 当需要使用一个目前未知但是会在之后的过程中设置的变量的时候，就可以使用这个方法。例如，需要在服务器级配置(httpd.conf文件)中根据 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操 作机制。此URL操作可以依赖于各种测试，比如服务器变量、环境变量、HTTP头、时间标记，甚至各种格式的用于匹配URL组成部分的查找数据库。</p>
<p>此模块可以操作URL的所有部分(包括路径信息部分)，在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效，还可以生成最终请求字符串。此重写操作的结果可以是内部子处理，也可以是外部请求的转向，甚至还可以是内部代理处理。<br />
<span id="more-2318"></span><br />
这里着重介绍一下 RewriteCond 的规则以及参数说明。RewriteCond指令定义了规则生效的条件，即在一个RewriteRule指令之前可以有一个或多个RewriteCond 指令。条件之后的重写规则仅在当前URI与Pattern匹配并且满足此处的条件(TestString能够与CondPattern匹配)时才会起作 用。</p>
<blockquote><p>【说明 】定义重写发生的条件<br />
【语法】 RewriteCond TestString CondPattern [flags]<br />
【作用域】 <a href="http://www.iwanna.cn/tags/server/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Server">server</a> config, virtual host, directory, .htaccess<br />
【覆盖项】 FileInfo<br />
【状态】 扩展(E)<br />
【模块】 mod_rewrite</p></blockquote>
<p>TestString是一个纯文本的字符串，但是还可以包含下列可扩展的成分：<br />
1、<span>RewriteRule反向引用</span> ，引用方法是：<span>$N</span> (0 &lt;= N &lt;= 9)引用当前(带有若干RewriteRule指令的)RewriteCond中的与Pattern匹配的分组成分(圆括号!)。<br />
2、<span>RewriteCond反向引用</span> ，引用方法是：<span>%N</span> (1 &lt;= N &lt;= 9)引用当前若干RewriteCond条件中最后符合的条件中的分组成分(圆括号!)。<br />
3、<span>RewriteMap扩展</span> ，引用方法是：<span>${mapname:key|default}</span> 细节请参见<a href="http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_rewrite.html#mapfunc" target="_blank">RewriteMap 指令</a>。<br />
4、<span>服务器变量</span> ，引用方法是：<span>%{NAME_OF_VARIABLE}</span> NAME_OF_VARIABLE可以是下表列出的字符串之一：</p>
<table border="1" cellspacing="0" cellpadding="3" bordercolor="#aaaaaa">
<tbody>
<tr>
<th>HTTP头</th>
<th>连接与请求</th>
<th></th>
</tr>
<tr>
<td>HTTP_USER_AGENT<br />
HTTP_REFERER<br />
HTTP_COOKIE<br />
HTTP_FORWARDED<br />
HTTP_HOST<br />
HTTP_PROXY_CONNECTION<br />
HTTP_ACCEPT</td>
<td>REMOTE_ADDR<br />
REMOTE_HOST<br />
REMOTE_PORT<br />
REMOTE_USER<br />
REMOTE_IDENT<br />
REQUEST_METHOD<br />
SCRIPT_FILENAME<br />
PATH_INFO<br />
QUERY_STRING<br />
AUTH_TYPE</td>
<td></td>
</tr>
<tr>
<th>服务器自身</th>
<th>日期和时间</th>
<th>其它</th>
</tr>
<tr>
<td>DOCUMENT_ROOT<br />
SERVER_ADMIN<br />
SERVER_NAME<br />
SERVER_ADDR<br />
SERVER_PORT<br />
SERVER_PROTOCOL<br />
SERVER_SOFTWARE</td>
<td>TIME_YEAR<br />
TIME_MON<br />
TIME_DAY<br />
TIME_HOUR<br />
TIME_MIN<br />
TIME_SEC<br />
TIME_WDAY<br />
TIME</td>
<td>API_VERSION<br />
THE_REQUEST<br />
REQUEST_URI<br />
REQUEST_FILENAME<br />
IS_SUBREQ<br />
HTTPS</td>
</tr>
</tbody>
</table>
<p>这些变量都对应于类似命名的HTTP MIME头、<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>服务器的C变量、Unix系统中的struct tm字段，其中的大多数在其他的手册或者CGI规范中都有说明。 其中为mod_rewrite所特有的变量如下：</p>
<blockquote><p>IS_SUBREQ<br />
如果正在处理的请求是一个子请求，它将包含字符串&#8221;true&#8221;，否则就是&#8221;false&#8221;。模块为了解析URI中的附加文件，可能会产生子请求。<br />
API_VERSION<br />
这是正在使用中的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>模块API(服务器和模块之间内部接口)的版本， 其定义位于include/ap_mmn.h中。此模块API版本对应于正在使用的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的版本(比如在<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a> 1.3.14的发行版中这个值是19990320:10)。 通常，对它感兴趣的是模块的开发者。<br />
THE_REQUEST<br />
这是由浏览器发送的完整的HTTP请求行(比如：&#8221;GET /index.html HTTP/1.1&#8243;)。它不包含任何浏览器发送的其它头信息。<br />
REQUEST_URI<br />
这是在HTTP请求行中所请求的资源(比如上述例子中的&#8221;/index.html&#8221;)。<br />
REQUEST_FILENAME<br />
这是与请求相匹配的完整的本地文件系统的文件路径名。<br />
HTTPS<br />
如果连接使用了SSL/TLS，它将包含字符串&#8221;on&#8221;，否则就是&#8221;off&#8221;(无论<a href="http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_ssl.html" target="_blank">mod_ssl</a>是否已经加载，该变量都可以安全的使用)。</p></blockquote>
<p>其它注意事项：<br />
1、SCRIPT_FILENAME和REQUEST_FILENAME包含的值是相同的——即<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>服务器内部的request_rec结构中的 filename字段。 第一个就是大家都知道的CGI变量名，而第二个则是REQUEST_URI(request_rec结构中的uri字段)的一个副本。<br />
2、特殊形式：%{ENV:variable} ，其中的variable可以是任意环境变量。它是通过查找<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>内部结构或者(如果没找到的话)由<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>服务器进程通过getenv()得到的。<br />
3、特殊形式：%{SSL:variable} ，其中的variable可以是一个<a href="http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_ssl.html#envvars" target="_blank">SSL环境变量</a>的名字，无论<a href="http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_ssl.html" target="_blank">mod_ssl</a>模块是否已经加载都可以使用(未加载时为空字符串)。比如：%{SSL:SSL_CIPHER_USEKEYSIZE}将会被替换为128。<br />
4、特殊形式：%{HTTP:header} ，其中的header可以是任意HTTP MIME头的名称。它总是可以通过查找HTTP请求而得到。比如：%{HTTP:Proxy-Connection}将被替换为Proxy-Connection:HTTP头的值。<br />
5、预设形式：%{LA-U:variable} ，variable的最终值在执行一个内部(基于URL的)子请求后确定。 当需要使用一个目前未知但是会在之后的过程中设置的变量的时候，就可以使用这个方法。例如，需要在服务器级配置(httpd.conf文件)中根据 REMOTE_USER变量进行重写， 就必须使用%{LA-U:REMOTE_USER}。因为此变量是由URL重写(mod_rewrite)步骤之后的认证步骤设置的。 但是另一方面，因为mod_rewrite是通过API修正步骤来实现目录级(.htaccess文件)配置的， 而认证步骤先于API修正步骤，所以可以用%{REMOTE_USER}。<br />
6、预设形式：%{LA-F:variable} ，variable的最终值在执行一个内部(基于文件名的)子请求后确定。 大多数情况下和上述的LA-U是相同的。</p>
<p>CondPattern是条件模式，即一个应用于当前TestString实例的正则表达式。TestString将被首先计算，然后再与CondPattern匹配。</p>
<p><span>注意：</span>CondPattern是一个perl兼容的正则表达式，但是还有若干增补：<br />
1、可以在CondPattern串的开头使用&#8217;!'(惊叹号)来指定<span>不匹配</span>。<br />
2、CondPatterns有若干特殊的变种。除了正则表达式的标准用法，还有下列用法：</p>
<blockquote><p>&#8216;<span>&lt;CondPattern</span>&#8216;(词典顺序的小于)<br />
将CondPattern视为纯字符串，与TestString按词典顺序进行比较。如果TestString小于CondPattern则为真。<br />
&#8216;<span>&gt;CondPattern</span>&#8216;(词典顺序的大于)<br />
将CondPattern视为纯字符串，与TestString按词典顺序进行比较。如果TestString大于CondPattern则为真。<br />
&#8216;<span>=CondPattern</span>&#8216;(词典顺序的等于)<br />
将CondPattern视为纯字符串，与TestString按词典顺序进行比较。如果TestString等于CondPattern(两个字符串逐 个字符地完全相等)则为真。如果CondPattern是&#8221;"(两个双引号)，则TestString将与空字符串进行比较。<br />
&#8216;<span>-d</span>&#8216;(目录)<br />
将TestString视为一个路径名并测试它是否为一个存在的目录。<br />
&#8216;<span>-f</span>&#8216;(常规文件)<br />
将TestString视为一个路径名并测试它是否为一个存在的常规文件。<br />
&#8216;<span>-s</span>&#8216;(非空的常规文件)<br />
将TestString视为一个路径名并测试它是否为一个存在的、尺寸大于0的常规文件。<br />
&#8216;<span>-l</span>&#8216;(符号连接)<br />
将TestString视为一个路径名并测试它是否为一个存在的符号连接。<br />
&#8216;<span>-x</span>&#8216;(可执行)<br />
将TestString视为一个路径名并测试它是否为一个存在的、具有可执行权限的文件。该权限由操作系统检测。<br />
&#8216;<span>-F</span>&#8216;(对子请求存在的文件)<br />
检查TestString是否为一个有效的文件，而且可以在服务器当前的访问控制配置下被访问。它使用一个内部子请求来做检查，由于会降低服务器的性能，所以请谨慎使用！<br />
&#8216;<span>-U</span>&#8216;(对子请求存在的URL)<br />
检查TestString是否为一个有效的URL，而且可以在服务器当前的访问控制配置下被访问。它使用一个内部子请求来做检查，由于会降低服务器的性能，所以请谨慎使用！</p></blockquote>
<p>注意：所有这些测试都可以用惊叹号作前缀(&#8216;!&#8217;)以实现测试条件的反转。<br />
3、还可以在CondPattern之后追加特殊的标记<span>[flags]</span>作为RewriteCond指令的第三个参数。flags是一个以逗号分隔的以下标记的列表：</p>
<blockquote><p>&#8216;<span>nocase|NC</span>&#8216;(忽略大小写)<br />
它使测试忽略大小写，扩展后的TestString和CondPattern中&#8217;A-Z&#8217; 和&#8217;a-z&#8217;是没有区别的。此标记仅用于TestString和CondPattern的比较，而对文件系统和子请求的检查不起作用。<br />
&#8216;<span>ornext|OR</span>&#8216;(或下一条件)<br />
它以OR方式组合若干规则的条件，而不是隐含的AND。典型的例子如下：</p>
<p>RewriteCond %{REMOTE_HOST}  ^host1.*  [OR]<br />
RewriteCond %{REMOTE_HOST}  ^host2.*  [OR]<br />
RewriteCond %{REMOTE_HOST}  ^host3.*<br />
RewriteRule &#8230; 针对这3个主机的规则集 &#8230;如果不用这个标记，你就必须要书写三次条件/规则对。</p></blockquote>
<p><span>举例</span><br />
如果要按请求头中的&#8221;User-Agent:&#8221;重写一个站点的主页，可以这样写：</p>
<pre>RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
RewriteRule  ^/$                 /homepage.max.html  [L]

RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
RewriteRule  ^/$                 /homepage.min.html  [L]

RewriteRule  ^/$                 /homepage.std.html  [L]</pre>
<p>解释：如果你使用的浏览器识别标志是&#8217;Mozilla&#8217;，则你将得到内容最大化的主页(含有Frames等等)。如果你使用的是(基于终端的)Lynx， 则你得到的是内容最小化的主页(不含table等等)。如果上述条件都不满足(使用的是其他浏览器)，则你得到的是一个标准的主页。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/10/19/2318/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/10/19/2318/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/10/19/2318/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/10/19/2318/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/10/19/2318/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/apache/" title="Apache" rel="tag nofollow">Apache</a>, <a href="http://www.iwanna.cn/tags/apache/" title="Apache" rel="tag nofollow">Apache</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/10/09/2276/" title="深入理解Apache的mod_rewrite (2009年10月9日)">深入理解Apache的mod_rewrite</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/19/2321/" title="Apache中 RewriteRule 规则参数介绍 (2009年10月19日)">Apache中 RewriteRule 规则参数介绍</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/10/19/2318/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>深入理解Apache的mod_rewrite</title>
		<link>http://www.iwanna.cn/archives/2009/10/09/2276/</link>
		<comments>http://www.iwanna.cn/archives/2009/10/09/2276/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 05:16:42 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=2276</guid>
		<description><![CDATA[人们一提到.htaccess配置文件，首先映入他们脑海的就是用mod_rewrite进行URL地址重定向。对mod_rewrite的看法各不相同，为了就人们对mod_rewrite是怎么认识的有一个快速的看法，我在twitter上搜索了一下&#8221;mod_rewrite&#8221;，并且将我写这篇文章时的前几个搜索页面的结果找出来：

midk：啊！.hatccess和mod_rewrite是如此的痛苦……
basterzenbach:我喜欢mod_rewrite。在我的有生之年，我都可以用它工作，并且还是不能精通它——太强大了。
mikemackay:仍然喜欢mod_rewrite的灵活性——又得到了拯救。这往往容易被忽略……并且要比你想想的要简单！
hostpc:我讨厌mod_rewrite。无法用它正常工作。
awanderingmind:噢，Wordpress 和Apache，你们带给了我烦恼。该死的mod_rewrite！
danielishiding:为什么mod_rewrite不工作了！该死！
我注意到人们清楚的认识到了mod_rewrite的强大，但是往往在语法面前望而却步。考虑到Apache的mod_rewrite文档在前面几页说了同样的问题，这并不奇怪：
“mod_rewrite例子和文档的数量，尽管可以以吨来计算，但是它是巫术。该死的冷漠的巫术，但仍然是巫术。“——-布莱恩摩尔
太糟糕了！因此，在本文中。我真的试图使mod_rewrite的难度降低一个档次。我不仅要去尝试解决mod_rewrite的的语法，还要设法提供一个工作流程，使你可以通过它调试和解决你的mod_rewrite问题。我也会给你一些有用的现实世界中的例子。
然 而，在开始之前，我还要做一个警告。许多学科，尤其是这个，除非你自己动手尝试，否则你是不会学会的！这就是为何我会更专注于教授一个调试工作流程。像往 常一样，如果你还没有加载模块，我会告诉你如何安装好你的系统。我敦促你们在你们自己服务器上做这些例子，如果是测试环境，则更好。你的经验和成功次数越 多，你就会越容易将这种知识扩展到更高级的例子和应用。享受吧。
mod_rewrite的是什么？

mod_rewrite的 是一个Apache模块，可使服务器操纵请求的网址。根据一系列规则对传入的网址进行检查，规则中包含一个正则表达式来检测特定的格式。 如果在地址中发现了一个格式，并且满足适当的条件，该格式就会被一个替代的字符串或者是动作取代。这一过程一直在进行着，直到没有更多的规则或是程序被明 确告诉停止。
上面的内容可以总结为以下3点：
*有一个按顺序排列的处理规则列表。
*如果有一个规则相匹配，它会检查那条规则满足的条件。
*如果一切都匹配，它会替代或这是做出一个动作。
mod_rewrite的优点
用这样的一个地址重定向工具有很明显的优点，但是有一些东西也不是很明显。
人们用mod_rewrite的 主要原因是为了将丑陋的、神秘的网址转化为所谓的“友好的地址”或者是“干净的地址”。新网址通过多种方式变的友好，而不是仅仅一种。 它们是用户友好的，表现在可更容易为人类所理解，瞥一眼就可以，并且用户可能自己来操纵网址。作为额外的奖励，这些网址对搜索引擎来说也是友好的。创建友 好的网址是一个搜索引擎优化技术，网址是一种有效描述他链接的内容的方式。看看下面的例子：

不是很友好: http://example.com/user.php?id=4512 
比较友好: http://example.com/user/4512/ 
甚至更好:     http://example.com/user/Joe/ 

最后的链接不仅仅是看上去变的简单了，它还可以使搜索引擎从中提取语义。这种基本的URL重写机制是使用mod_rewrite的一种方式。然而，正如你将要看到的一样，除了这些简单的转换，它还可以作很多的事情。
将同一个例子扩展一下，一些人声称通过用mod_rewrite改变你的网址可以获得安全效益。给出同一个例子，想像，考虑一下下面这个对用户id的攻击：


http://example.com/user.php?id=AHHHHHH 
http://example.com/user/AHHHHHH/



 第一个例子是明确的PHP脚本调用，并且必须得处理无效的ID号。写得不好的脚本可能会失败，更极端的情况是（写得不好的Web应用程序）错误的输入可 能导致数据损坏。然而，如果只给用户显示友好的网址，也就是说他们甚至不知道user.php网页的存在，他们可能只知道友好的URL结构。试图在这种情 况下进行的攻击可能在读取PHP脚本之前就已经失败了。这是因为mod_rewrite的核心是正则表达式的格式匹配。在上面的例子中，你的地址中可能有一个数字，比如（\ d +），而不是字符，像a-z，当重写模块找到的是字母而不是数字时，重写就会失败。

从安全的角度讲，这种额外的抽象功能是不错的。如果你愿意，你甚至可以防止直接访问原始PHP脚。不过，我们决不能使用mod_rewrite来替换一般的安全措施，你的脚本应当在服务器端进行验证。
在服务器上启用mod_rewrite模块
就像启用.htaccess支持一样，启用mod_rewrite或者是其他apache模块必须修改全局配置文件（httpd.conf）。就像前面说的一样，由于mod_rewrite用的是如此广泛，主机提供商几乎总是启用这个模块的。然而，如果你怀疑你的主机提供商没有启用它（我们会在下面测试），你应当联系他们，并且他们很乐意启用它。
如果你是自己安装的Apache，毫无疑问，当编译Apache的时候，要将Mod_rewrite模块包括进来，因为默认情况下是不包括它的。然而，它是用的如此普遍，几乎所有的安装指南，包括Apache的安装文档都会在他们的示例中指出如何将它编译进来。然而，预先包装的版本已经将它启用了。如果你正在读这篇文章，那么你的Apache有99%的可能已经将mod_rewrite模块编译进来了，所以你只须进入下一个步骤。

如果你是你们网络的网络管理员，并且你想确认一下你已经加载了这个模块，你应当检查一下httpd.conf文件。在配置文件有很大一部分用于加载那一 大堆模块。下面的行可能会出现在文件中，如果是，好极了！如果它被注释掉了，或者说是在它前面有一个#号，哪么你只需将#号删除掉，留下下面的这一部分：

1、LoadModule rewrite_module modules/mod\_rewrite.so
老版本的Apache1.3，可能需要你在LoadModule目录中加上以下目录：



# Only in Apache 1.3 
AddModule mod\_rewrite.c 


然而，这好像在Apache 2及以后的版本中消失了，只需要LoadModule指令。
如果你不得不修改配置文件，那么你必须重启你的apache服务。你要记住备份你的原始文件，以防万一你需要将它还原回以前的版本。
测试mod_rewrite模块
你可以通过多种方式测试mod_rewrite模块是否启用（或者是工作）了，最简单的方法是查看PHP的phpinfo函数的输出。创建下面的这个非常简单的PHP页面，在你的浏览器中打开它，并且在输出结果中找一下&#8221;mod_rewrite&#8221;。
&#60;?php phpinfo(); ?&#62;
mod_rewrite应该会显示在网页的“Loaded Modules”部分中，就像这样：

然而，如果你用的不是PHP（虽然在接下来的教程中我会用它），还有很多方式来测试。Apache有许多命令行工具。
在我的基本身份验证的第一个教程中，我提到了在htpasswd的工具。你可以使用诸如apachectl或者httpd的其他工具直接对模块进行测试。有命令行开关可以使你检查现有的已经安装加载的模块。您可以执行下面的命令来得到一个所有已加载的模块的列表。
shell&#62; apachectl -t -D DUMP_MODULES 
这里我展示的是这个命令的帮组页面。然后，我运行了这个命令，并在结果中查找了“rewrite”，有一行输出与之相匹配。

最后，如果你还是不能确定它是否启用了，像以前一样将它注释掉，看看会发生什么！之后，我会介绍语法，但这里仅仅是一个测试，看看他是否工作了。下面的.htaccess文件将重定向任何给定的文件夹请求到good.html文件，这意味着如果你的mod_rewrite工作了，你应该看到good.html。如果mod_rewrite不工作，那么你会看到一个带警告的index.html。


# Redirect everything in this directory to &#8220;good.html&#8221; 
RewriteEngine on [...]]]></description>
			<content:encoded><![CDATA[<p>人们一提到.htaccess配置文件，首先映入他们脑海的就是用mod_rewrite进行URL地址重定向。对mod_rewrite的看法各不相同，为了就人们对mod_rewrite是怎么认识的有一个快速的看法，我在twitter上搜索了一下&#8221;mod_rewrite&#8221;，并且将我写这篇文章时的前几个搜索页面的结果找出来：<br />
<span id="more-2276"></span></p>
<p style="padding-left: 30px;">midk：啊！.hatccess和mod_rewrite是如此的痛苦……</p>
<p style="padding-left: 30px;">basterzenbach:我喜欢mod_rewrite。在我的有生之年，我都可以用它工作，并且还是不能精通它——太强大了。</p>
<p style="padding-left: 30px;">mikemackay:仍然喜欢mod_rewrite的灵活性——又得到了拯救。这往往容易被忽略……并且要比你想想的要简单！</p>
<p style="padding-left: 30px;">hostpc:我讨厌mod_rewrite。无法用它正常工作。</p>
<p style="padding-left: 30px;">awanderingmind:噢，Wordpress 和<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>，你们带给了我烦恼。该死的mod_rewrite！</p>
<p style="padding-left: 30px;">danielishiding:为什么mod_rewrite不工作了！该死！</p>
<p>我注意到人们清楚的认识到了mod_rewrite的强大，但是往往在语法面前望而却步。考虑到<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的mod_rewrite文档在前面几页说了同样的问题，这并不奇怪：</p>
<p style="padding-left: 30px;">“mod_rewrite例子和文档的数量，尽管可以以吨来计算，但是它是巫术。该死的冷漠的巫术，但仍然是巫术。“——-布莱恩摩尔</p>
<p>太糟糕了！因此，在本文中。我真的试图使mod_rewrite的难度降低一个档次。我不仅要去尝试解决mod_rewrite的的语法，还要设法提供一个工作流程，使你可以通过它调试和解决你的mod_rewrite问题。我也会给你一些有用的现实世界中的例子。</p>
<p>然 而，在开始之前，我还要做一个警告。许多学科，尤其是这个，除非你自己动手尝试，否则你是不会学会的！这就是为何我会更专注于教授一个调试工作流程。像往 常一样，如果你还没有加载模块，我会告诉你如何安装好你的系统。我敦促你们在你们自己服务器上做这些例子，如果是测试环境，则更好。你的经验和成功次数越 多，你就会越容易将这种知识扩展到更高级的例子和应用。享受吧。</p>
<p><strong><span style="font-size: medium;">mod_rewrite的是什么？<br />
</span></strong><br />
mod_rewrite的 是一个<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>模块，可使服务器操纵请求的网址。根据一系列规则对传入的网址进行检查，规则中包含一个正则表达式来检测特定的格式。 如果在地址中发现了一个格式，并且满足适当的条件，该格式就会被一个替代的字符串或者是动作取代。这一过程一直在进行着，直到没有更多的规则或是程序被明 确告诉停止。</p>
<p>上面的内容可以总结为以下3点：</p>
<p>*有一个按顺序排列的处理规则列表。<br />
*如果有一个规则相匹配，它会检查那条规则满足的条件。<br />
*如果一切都匹配，它会替代或这是做出一个动作。</p>
<p><strong><span style="font-size: medium;">mod_rewrite的优点</span></strong></p>
<p>用这样的一个地址重定向工具有很明显的优点，但是有一些东西也不是很明显。</p>
<p>人们用mod_rewrite的 主要原因是为了将丑陋的、神秘的网址转化为所谓的“友好的地址”或者是“干净的地址”。新网址通过多种方式变的友好，而不是仅仅一种。 它们是用户友好的，表现在可更容易为人类所理解，瞥一眼就可以，并且用户可能自己来操纵网址。作为额外的奖励，这些网址对搜索引擎来说也是友好的。创建友 好的网址是一个搜索引擎优化技术，网址是一种有效描述他链接的内容的方式。看看下面的例子：</p>
<ol>
<li><span><span>不是很友好: http://example.com/user.php?</span><span>id</span><span>=</span><span>4512</span><span> </span></span></li>
<li><span>比较友好: http://example.com/user/4512/ </span></li>
<li><span>甚至更好:     http://example.com/user/Joe/ </span></li>
</ol>
<div dir="ltr">最后的链接不仅仅是看上去变的简单了，它还可以使搜索引擎从中提取语义。这种基本的URL重写机制是使用mod_rewrite的一种方式。然而，正如你将要看到的一样，除了这些简单的转换，它还可以作很多的事情。</p>
<p>将同一个例子扩展一下，一些人声称通过用mod_rewrite改变你的网址可以获得安全效益。给出同一个例子，想像，考虑一下下面这个对用户id的攻击：</p></div>
<div dir="ltr">
<ol>
<li><span><span>http://example.com/user.php?</span><span>id</span><span>=</span><span>AHHHHHH</span><span> </span></span></li>
<li><span>http://example.com/user/AHHHHHH/<br />
</span></li>
</ol>
</div>
<div dir="ltr"><span> 第一个例子是明确的PHP脚本调用，并且必须得处理无效的ID号。写得不好的脚本可能会失败，更极端的情况是（写得不好的<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>应用程序）错误的输入可 能导致数据损坏。然而，如果只给用户显示友好的网址，也就是说他们甚至不知道user.php网页的存在，他们可能只知道友好的URL结构。试图在这种情 况下进行的攻击可能在读取PHP脚本之前就已经失败了。这是因为mod_rewrite的核心是正则表达式的格式匹配。在上面的例子中，你的地址中可能有一个数字，比如（\ d +），而不是字符，像a-z，当重写模块找到的是字母而不是数字时，重写就会失败。</span></div>
<div dir="ltr"><span><br />
从安全的角度讲，这种额外的抽象功能是不错的。如果你愿意，你甚至可以防止直接访问原始PHP脚。不过，我们决不能使用mod_rewrite来替换一般的安全措施，你的脚本应当在服务器端进行验证。</span></div>
<div dir="ltr"><strong><span style="font-size: medium;">在服务器上启用mod_rewrite模块</span></strong></div>
<div dir="ltr">就像启用.htaccess支持一样，启用mod_rewrite或者是其他<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">apache</a>模块必须修改全局配置文件（httpd.conf）。就像前面说的一样，由于mod_rewrite用的是如此广泛，主机提供商几乎总是启用这个模块的。然而，如果你怀疑你的主机提供商没有启用它（我们会在下面测试），你应当联系他们，并且他们很乐意启用它。</div>
<div dir="ltr">如果你是自己安装的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>，毫无疑问，当编译<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的时候，要将Mod_rewrite模块包括进来，因为默认情况下是不包括它的。然而，它是用的如此普遍，几乎所有的安装指南，包括<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的安装文档都会在他们的示例中指出如何将它编译进来。然而，预先包装的版本已经将它启用了。如果你正在读这篇文章，那么你的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>有99%的可能已经将mod_rewrite模块编译进来了，所以你只须进入下一个步骤。</div>
<div dir="ltr">
如果你是你们网络的网络管理员，并且你想确认一下你已经加载了这个模块，你应当检查一下httpd.conf文件。在配置文件有很大一部分用于加载那一 大堆模块。下面的行可能会出现在文件中，如果是，好极了！如果它被注释掉了，或者说是在它前面有一个#号，哪么你只需将#号删除掉，留下下面的这一部分：</div>
<div dir="ltr">
<p style="padding-left: 30px;">1、LoadModule rewrite_module modules/mod\_rewrite.so</p>
<div>老版本的Apache1.3，可能需要你在LoadModule目录中加上以下目录：</div>
</div>
<div>
<ol>
<li><span><span># Only in <a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a> 1.3 </span></span></li>
<li><span>AddModule mod\_rewrite.c </span></li>
</ol>
</div>
<div>然而，这好像在<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a> 2及以后的版本中消失了，只需要LoadModule指令。</div>
<div>如果你不得不修改配置文件，那么你必须重启你的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">apache</a>服务。你要记住备份你的原始文件，以防万一你需要将它还原回以前的版本。</div>
<div><strong><span style="font-size: medium;">测试mod_rewrite模块</span></strong></div>
<div>你可以通过多种方式测试mod_rewrite模块是否启用（或者是工作）了，最简单的方法是查看PHP的phpinfo函数的输出。创建下面的这个非常简单的PHP页面，在你的浏览器中打开它，并且在输出结果中找一下&#8221;mod_rewrite&#8221;。</div>
<div style="padding-left: 30px;">&lt;?php phpinfo(); ?&gt;</div>
<div>mod_rewrite应该会显示在网页的“Loaded Modules”部分中，就像这样：</div>
<div><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/phpinfo.png" alt="" width="643" height="431" /></div>
<div>然而，如果你用的不是PHP（虽然在接下来的教程中我会用它），还有很多方式来测试。<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>有许多命令行工具。</div>
<div dir="ltr">在我的基本身份验证的第一个教程中，我提到了在htpasswd的工具。你可以使用诸如apachectl或者httpd的其他工具直接对模块进行测试。有命令行开关可以使你检查现有的已经安装加载的模块。您可以执行下面的命令来得到一个所有已加载的模块的列表。</div>
<div style="padding-left: 30px;" dir="ltr"><span>shell</span><span>&gt;</span><span> apachectl -t -D DUMP_MODULES </span></div>
<div dir="ltr">这里我展示的是这个命令的帮组页面。然后，我运行了这个命令，并在结果中查找了“rewrite”，有一行输出与之相匹配。</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/apachectl.png" alt="" width="742" height="542" /></div>
<div dir="ltr">最后，如果你还是不能确定它是否启用了，像以前一样将它注释掉，看看会发生什么！之后，我会介绍语法，但这里仅仅是一个测试，看看他是否工作了。下面的.htaccess文件将重定向任何给定的文件夹请求到good.html文件，这意味着如果你的mod_rewrite工作了，你应该看到good.html。如果mod_rewrite不工作，那么你会看到一个带警告的index.html。</div>
<div dir="ltr">
<ol>
<li><span><span># Redirect everything in this directory to &#8220;good.html&#8221; </span></span></li>
<li><span>RewriteEngine on </span></li>
<li><span>RewriteRule .* good.html </span></li>
</ol>
</div>
<div dir="ltr">下面是正确的和错误的页面：</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/bare_good.png" alt="" width="462" height="322" /></div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/bare_bad.png" alt="" width="504" height="363" /></div>
<div dir="ltr"><strong><span style="font-size: medium;">.htaccess的内容</span></strong></div>
<div dir="ltr">通常情况下，你可以写在.htaccess文件中的内容也可以写到全局配置文档中。在mod_rewrite中，如果你将一条规则放的文件不同，会有一点儿小差异。最明显的是：</div>
<div style="padding-left: 30px;" dir="ltr">如果你将【……】规则放到了.htaccess文件中，目录的前缀（/)在REQUEST_URI变量中会被去掉，因为所有的请求会被自动假设是现在目录的相对地址。——<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>文档</div>
<div dir="ltr">有一点要记住，如果你在网上看例子或者是你自己在测试一个实例，要注意前面的斜线！当我将一些例子放到一起的时候，我将在下面试图澄清这些问题。</div>
<div dir="ltr"><strong><span style="font-size: medium;">正则表达式</span></strong></div>
<div dir="ltr">本教程不打算教你正则表达式。对于那些你知道的正则表达式，mod_rewrite中 用到的正则表达式会根据<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>版本的不同而有所改变。在<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a> 2.0中，他们似乎是与Perl兼容（pcre）的正则表达式。这意味着许多你所使用的简写，例如\w的意思是[A-Za-z0-9]，\d的意思是 [0-9]，以及更多不存在的简写。但是，我的公司使用的是<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a> 1.3，并且Apache1.3的正则表达式是比较有限的。</div>
<div dir="ltr">如果你不知道正则表达式，下面这些有用的教程会让你快速入门：</div>
<div dir="ltr">
<ul>
<li><a href="http://blog.themeforest.net/screencasts/a-crash-course-in-regular-expressions/">Nettuts very own Jeffrey’s Crash Course</a></li>
<li><a href="http://immike.net/blog/2007/04/06/the-absolute-bare-minimum-every-programmer-should-know-about-regular-expressions/">The Absolute Bare Minimum Every Programmer Should Know About Regular Expressions</a></li>
<li><a href="http://en.kerouac3001.com/regex-tutorial-8.htm">Quick And Practical Tutorial</a></li>
<li><a href="http://www.smashingmagazine.com/2009/05/06/introduction-to-advanced-regular-expressions/">Smashing Magazine Links on Regular Expressions</a></li>
</ul>
</div>
<div dir="ltr">还有每个人都应该知道的一些引用：</div>
<div dir="ltr">
<ul>
<li><a href="http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v2/png">Popular Added Bytes Cheatsheet For Regular Expressions</a></li>
<li><a href="http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/">Added Bytes Cheatsheet for mod_rewrite</a></li>
<li><a href="http://rick.measham.id.au/paste/explain.pl?regex=%5Cd%2B%28.%5Cd%2B%29%3F%28%5BeE%5D%5Cd%2B%29%3F">Explain Regular Expressions</a></li>
</ul>
<div dir="ltr">如果有还没有花时间去学习正则表达式，我强烈建议你花点时间学习一下。因为通常情况下，他们没有你想象的那么复杂。我从多年的经验中选择了上面的那些关于正则表达式的链接，我觉得这些指南对于学习最基础的东西来说，写的很好。如果你想有效的利用mod_rewrite，正则表达式是至关重要的，在其他方面，了解他们也很有用，如在你最喜爱的代码编辑器中使用“查找/替换”。</div>
</div>
<div dir="ltr"><strong><span style="font-size: medium;">初次体验</span></strong></div>
<div dir="ltr">好了，你等待的耐心已经足够大了，让我们快速的看一个例子。这个例子在链接的源代码中有。这里只给出.htaccess文件的代码：</div>
<div dir="ltr">
<ol>
<li><span><span># Enable Rewriting </span></span></li>
<li><span>RewriteEngine on </span></li>
<li><span> </span></li>
<li><span># Rewrite user URLs </span></li>
<li><span>#   Input:  user/NAME/ </span></li>
<li><span>#   Output: user.php?<span>id</span><span>=</span><span>NAME</span><span> </span></span></li>
<li><span>RewriteRule ^user/(\w+)/?$ user.php?<span>id</span><span>=$1<br />
</span></span></li>
</ol>
</div>
<div dir="ltr"><span><span> 在我对它做任何解释之前，我会先讲解一下目录中的另外一个文件。</span></span></div>
<div dir="ltr">目录中包含两个文件：index.php和user.php。index.php中有一些指向user页面的链接或者是各种各样的格式。php代码用来显示页面被请求了，并检查传过来的&#8221;id&#8221;参数。下面是user.php的代码：</div>
<div dir="ltr">
<ol>
<li><span><span>&lt;?php </span></span></li>
<li><span> </span></li>
<li><span><span>// Get the username from the url</span><span> </span></span></li>
<li><span><span>$id</span><span> = </span><span>$_GET</span><span>[</span><span>'id'</span><span>]; </span></span></li>
<li><span> </span></li>
<li><span>?&gt;&lt;!DOCTYPE html PUBLIC <span>&#8220;-//W3C//DTD XHTML 1.0 Strict//EN&#8221;</span><span> </span></span></li>
<li><span> <span>&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#8221;</span><span>&gt; </span></span></li>
<li><span>&lt;html xmlns=<span>&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span> xml:lang=</span><span>&#8220;en&#8221;</span><span> lang=</span><span>&#8220;en&#8221;</span><span>&gt; </span></span></li>
<li><span>&lt;head&gt; </span></li>
<li><span> &lt;meta http-equiv=<span>&#8220;Content-Type&#8221;</span><span> content=</span><span>&#8220;text/html; charset=utf-8&#8243;</span><span>/&gt; </span></span></li>
<li><span> &lt;title&gt;Simple mod\_rewrite example&lt;/title&gt; </span></li>
<li><span> &lt;style type=<span>&#8220;text/css&#8221;</span><span>&gt; .green { color: green; } &lt;/style&gt; </span></span></li>
<li><span>&lt;/head&gt; </span></li>
<li><span>&lt;body&gt; </span></li>
<li><span> &lt;h1&gt;You Are on user.php!&lt;/h1&gt; </span></li>
<li><span> &lt;p&gt;Welcome: &lt;span <span>class</span><span>=</span><span>&#8220;green&#8221;</span><span>&gt;&lt;?php </span><span>echo</span><span> </span><span>$id</span><span>; ?&gt;&lt;/span&gt;&lt;/p&gt; </span></span></li>
<li><span>&lt;/body&gt; </span></li>
<li><span>&lt;/html&gt;<br />
</span></li>
</ol>
</div>
<div dir="ltr"><span> 这个例子有一些不同的地方。首先，</span>请注意URL重写必须通过 RewriteEngine指令启用！如果你的htaccess文件要使用重写规则，应始终包括这行，否则你不能确定它是否启用了！作为一个经验法则，总 是将它包括进去并确保每个.htaccess文件中你只包含了一个。字符串“on”不区分大小写，因此，当你在网上看到其他的例子用的是“On”，这是可 以接受的。</div>
<div dir="ltr">第一个重写规则是用来处理user.php页面的。就像这些注释说的一样，我们正在将友好的网址重写为正常的URL格式。为了做到这一点，当输入友好的网址时，事实上，我们将它转化成了标准的查询字符串URL。将它分解开，我们就得到了：</div>
<div dir="ltr">
<ol>
<li><span><span>T规则: </span></span></li>
<li><span>RewriteRule ^user/(\w+)/?$ user.php?<span>id</span><span>=$1 </span></span></li>
<li><span> </span></li>
<li><span>匹配模式: </span></li>
<li><span>^             输入的开头</span></li>
<li><span>user/          以“user/“开始的请求地址 </span></li>
<li><span>(\w+)        提取所有的字母，并将提取的结果传给$1 </span></li>
<li><span>/?             可选的斜线 &#8220;/&#8221; </span></li>
<li><span>$              输入结束 </span></li>
<li><span> </span></li>
<li><span>替换为: </span></li>
<li><span>user.php?<span>id</span><span>=   要用到的字符串</span><span>. </span></span></li>
<li><span>$1             上面第一个提取到的字符串。<br />
</span></li>
</ol>
</div>
<div dir="ltr"><span> 下面是一些例子及对上面每行话的解释：</span></div>
<div dir="ltr">
<table border="0">
<caption>User.php</caption>
<thead>
<tr>
<th>输入</th>
<th>匹配</th>
<th>提取</th>
<th>输出</th>
<th>结果</th>
</tr>
</thead>
<tbody>
<tr>
<td>user.php?id=joe</td>
<td>No</td>
<td></td>
<td>user.php?id=joe</td>
<td>Normal</td>
</tr>
<tr>
<td>user/joe</td>
<td>Yes</td>
<td>joe</td>
<td>user.php?id=joe</td>
<td>Good</td>
</tr>
<tr>
<td>user/joe/</td>
<td>Yes</td>
<td>joe</td>
<td>user.php?id=joe</td>
<td>Good</td>
</tr>
<tr>
<td>user/joe/x</td>
<td>No</td>
<td></td>
<td>user/joe/x</td>
<td>Fail</td>
</tr>
</tbody>
</table>
</div>
<div dir="ltr">
<table border="0">
<tbody>
<tr valign="top">
<td>
<div dir="ltr">因此，第一个例子不会受到重写规则的影响，并且可以正常访问。第二个和第三个例子与重写规则相匹配，会根据重写规则被改写，可以正常访问，最后一个例子 不符合规则且无法访问。服务器没有用户目录，不能试图找到它。这是预期的结果，因为user/joe/ x是一个无法访问的网址！</div>
</td>
</tr>
<tr>
<td>这个例子比较容易理解。然而，为了澄清任何更复杂的事情，就像我现在做的一样，我必须要花好几分钟去注意细节。在下一节中，我们将举一个更复杂的例子，这个例子涉及所有重写的核心内容。</td>
</tr>
</tbody>
</table>
</div>
<div dir="ltr">注意：如果这个例子不能在你的机器上运行，可能是由于你的<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>或mod_rewrite 版本与PCRE不兼容。请尝试着将^user/(\w+)/?$改为 <code>^user/([a-z]+)/?$。 请注意，我没有使用\w的缩写。如果此版本可以在你的机器上正确运行，那么你不要使用正则表达式的缩写，要使用较长的当量（见上面的正则表达式节）。</code></div>
<div dir="ltr"><strong><span style="font-size: medium;">执行流程详情</span></strong></div>
<div dir="ltr">重写规则的执行流程比较简单，但不是完全明了。因此，我将叙述一下细节。这一切都开始于用于向你的服务器提出请求的时候。他们在浏览器地址栏中键入网址， 他们的浏览器将之转换成一个HTTP请求并发送到服务器，<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>收到这一请求，并将之解析成片断。下面是一个例子：</div>
<p><!--more--></p>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/url_full.png" alt="" width="482" height="440" /></div>
<div dir="ltr"><span style="color: #999999;"><br />
</span></div>
<div dir="ltr">
<table border="0">
<tbody>
<tr valign="top">
<td>
<div dir="ltr"><span style="color: #999999;"> 请注意，每当我提到<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的变量，我使用了一种奇怪的语法：％｛APACHE_VAR｝。这是因为它类似于mod_rewrite访问变量的语法。不过，括号内名字是重要的。</span></div>
</td>
</tr>
<tr>
<td>
<table border="0">
<tbody>
<tr valign="top">
<td>
<div dir="ltr">那么，mod_rewrites是如何工作的？如果你用的是.htaccess文件，那么你只需输入REMOTE_URI部分，但没有开始的斜线！我之前提到过这个，对大多数刚刚开始用它的人来说，这显得很混乱。如果你是将它添加到了全局配置文件里，那么你应当加上斜线。</div>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div dir="ltr">为了说的更具体一点儿，下面是<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的文档中对mod_rewrite中“URL部分”的描述：</div>
<div style="padding-left: 30px;" dir="ltr">
<table border="0">
<tbody>
<tr valign="top">
<td>
<div dir="ltr">该模式始终是对请求的URL路径进行正则表达式匹配（主机名后面的那部分，但在任何以问号为标志的显示查询字符串的前面）。 <a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>文档</div>
</td>
</tr>
</tbody>
</table>
</div>
<div dir="ltr">为了消除大家的模糊不清的认识，下面用黄色高亮显示的两个网址是mod_rewrite在.htaccess文件中的“部分网址”：</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/url_part.png" alt="" width="486" height="422" /></div>
<div dir="ltr">在本节接下来的部分我将利用这两个网址来描述执行的流程。我将把第一个网址称为“绿色”网址，第二个称为“蓝色”网址。在整个分析中，我还将使用“URL部分”来表示开始处没有斜线的REMOTE_URI。</div>
<div dir="ltr">
对于那些想要100％的区分开这两中教法的人，我这里说的URL其实是URI。一个统一资源标识符（URI）的定义有别于统一资源定位符（URL）。一个 URI只是标识资源在哪里，这意味着存在多个URl可以指向相同的资源，但是他们是不同的地址。一个URI可能在找到资源之前经过了数次跳动和重定向。然 而，URL却是标识资源的确切位置。这种细微的差别随着时间的推移，变得越来月模糊，以至于没有人关心它们的差异。我将继续使用术语URL，因为人们用它 更舒服一些。</div>
<div dir="ltr">
所以，现在我们知道重写规则将要采取行动了。一旦<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>已解析出请求，它就会将它翻译成它认为的文件，并去读取该文件。在这个过程中，他会搜 索.htaccess文件。假设，.htaccess文件起用了RewriteEngine，那么任何重写规则都可以更改网址。地址的急剧变化（如 <a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>将某个网址原来指向的目录替换为另外一个目录）将促发<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>发出子请求，进而获取新的文件。</div>
<div dir="ltr">
在大多数情况下，你是可以看到子请求的。这些实现细节对于了解你写的或使用的大多数简单的重写规则来说并不重要。更重要的是知道<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>如何处理.htaccess文件中的重写规则。</div>
<div dir="ltr">
.htaccess文件中的规则会以它们出现的顺序被处理。请注意，每个重写规则都是“部分网址”，也就是说类似于REMOTE_URI。当一个规则促 发替换的时候，修改后的“部分网址”将被移交给下一个规则。这意味着，正在处理的网址可能已经被前面的规则修改过了，网址会被每个相匹配的规则更新。这一 点很重要！</div>
<div dir="ltr">
下面是一个流程图，它试图提供URL在通过含有多个规则的.htaccess文件时的执行过程：</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/flow_chart.png" alt="" /></div>
<div dir="ltr">请注意，流程图的顶部的将会与重写规则进行匹配的数据是“网址部分”，如果替换成功，则修改过的网址会与下一条规则继续匹配。</div>
<div dir="ltr">
前面，我介绍了重写条件，但是没有详谈。每个重写过程都与一条重写规则相关联。条件出现在与它们有联系的规则之前，但是只有与规则相匹配了，网址才会得 到评估。正如流程图所示，如果与一个重写规则相匹配了，<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>会检查这条规则有什么条件（即做出替换是否需要其他条件）。如果没有条件，那么将进行 替代并进入下一步。如果需要条件，那么只有所有的条件都成立的时候，才会进行替换。举一个具体的例子。</div>
<div dir="ltr">
我用的网址实际上是我放在&#8221;profile_example&#8221;目录中的源代码的一部分。这和前面的例子user.php一样，但现在有一个profile.php页面，一个附加的重写规则，和一个条件！让我们看一下这段代码和它在<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>中的执行过程：</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/profile_rules.png" alt="" /></div>
<div dir="ltr">这里有两个规则。规则＃1和我们前面看到的user例子一样。规则＃2是新加的，注意它有一个条件。在“网址部分”我们已经讨论过会从上到下遍历每一条规则。因此，必须先经过规则＃1，然后才是规则＃2。</div>
<div dir="ltr">
理解这个例子的关键是首先要了解目标。在这个例子中，我允许友好网址，但实际上，我要明确地禁止直接访问PHP页面。请注意，有些人可能会说这是一个坏主 意。他们可能会说，作为开发者，这个调试起来会更难。是这样的，事实上我不推荐做这样的小把戏，但是作为一个例子，这很好。更实际的使用mod_rewrite的例子会在本教程后面的部分看到。</div>
<div dir="ltr">
因此，在这一点的基础上，让我们看看我绿色网址发生了什么。这次，我们希望取得成功。</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/green_flow.png" alt="" width="525" height="746" /></div>
<div dir="ltr">在最上面，可以看到<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的THE_REQUEST变量。我把它放在上方是因为它不像我们要处理的其他<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>变量，在请求期间这个变量的值 不会改变。这就是规则＃2使用％｛THE_REQUEST｝的原因之一。在THE_REQUEST下面，我们看到绿色的“网址部分”开始进入第一个规则 了：</div>
<div dir="ltr">
<ul>
<li>URL匹配成功。</li>
<li>没有任何条件，因此继续。</li>
<li>进行替换。</li>
<li>没有任何标志，因而继续。</li>
</ul>
</div>
<div dir="ltr">通过第一条规则后，该网址已经更改。网址已被重写成了profile.php?id=joe，这时，<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>会听下来更新它的大多数变量。我们看不到?id=joe，新的“网址部分”会进入下一条规则。这是我们第一次遇到条件：</div>
<div dir="ltr">
<ul>
<li>URL匹配成功。</li>
<li>还有条件，我们将检查条件。</li>
<li>THE_REQUEST不包含profile.php，因此条件检查失败。</li>
<li>因为不满足条件，所以我们忽略替换和标志。</li>
<li>这条规则没有改变URL。</li>
</ul>
</div>
<div dir="ltr">这一次，我们通过了所有的重写规则，并且<code>profile.php?id=joe</code> 页会被正确的提取。</div>
<div dir="ltr">
下面介绍关于如何执行蓝色的URL，这一次，我们要失败：</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/blue_flow.png" alt="" width="532" height="716" /></div>
<div dir="ltr">我再次将THE_REQUEST的值放在了最上面，蓝色的“网址部分”进入规则＃1：</div>
<div dir="ltr">
<ul>
<li>URL匹配失败。</li>
<li>其他的一切都被忽略，网址没有改变，进入下一步。</li>
</ul>
</div>
<div dir="ltr">第一个规则很容易。通常情况下，如果URL匹配失败，那么它会原样进入下一步。现在进入规则＃2：</div>
<div dir="ltr">
<ul>
<li>URL匹配成功。</li>
<li>有条件需要比较，因此会先测试条件。</li>
<li>请求包含 <code>profile.php，因此条件测试通过。</code></li>
<li>通过所有的条件，我们可以替换网址了。</li>
<li>”-”是一个特殊的替换，这一为着任何东西都不会改变了。</li>
<li>规则中有标志，因此我们处理标志。</li>
<li>有一个F标志，意思是返回一个禁止访问响应。</li>
<li><code><span style="font-family: Verdana,Arial,Helvetica,sans-serif;">一个</span></code><code>403 Forbidden响应发送到了客户端。</code></li>
</ul>
</div>
<div dir="ltr">有几件事情值得再重复一次。为了使替换发生，所有条件都必须检查通过。在上面这种情况下只有一个条件，并且检查通过了，所以，可以对网址进行替换。注意， 有一种特殊的替换，不改变任何东西。当你想用标志做点儿什么的时候，这种方法相当有用，在这种情况下，我们就会这样做（指的是，替换后什么都不改变）。</div>
<div dir="ltr">
下面是一个URL例子的分解和它们的返回值表：</div>
<div dir="ltr">
<table border="0">
<caption>Profile.php</caption>
<thead>
<tr>
<th>输入</th>
<th>匹配</th>
<th>获取</th>
<th>输出</th>
<th>结果</th>
</tr>
</thead>
<tbody>
<tr>
<td>profile.php?id=joe</td>
<td>Yes (#2)</td>
<td></td>
<td>profile.php?id=joe</td>
<td>Forbidden</td>
</tr>
<tr>
<td>profile/joe</td>
<td>Yes (#1)</td>
<td>joe</td>
<td>profile.php?id=joe</td>
<td>Good</td>
</tr>
<tr>
<td>profile/joe/</td>
<td>Yes (#1)</td>
<td>joe</td>
<td>profile.php?id=joe</td>
<td>Good</td>
</tr>
<tr>
<td>profile/joe/x</td>
<td>No</td>
<td></td>
<td>profile/joe/x</td>
<td>Fail</td>
</tr>
</tbody>
</table>
</div>
<div dir="ltr"><strong><span style="font-size: medium;">语法</span></strong></div>
<div dir="ltr">在介绍重写规则（RewriteRule）和重写条件（RewriteCond）的语法之前，我建议你先下载theAddedBytes Cheatsheet。这是因为cheatsheet表列出了最有用的服务器变量，标志，并有正则表达式技巧，甚至还有几个例子。在那里面有这么多的内 容，将它们关联起来是很难的。</p>
<p>让我们从重写规则开始。如果你想做一些特殊的事，你可以随时查看<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的关于重写规则的文档。下面是我的概述：</p></div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/syntax_rewriterule.png" alt="" /></div>
<div dir="ltr">这个表显示了什么类型的标志是可用的。许多指南涵盖了flags的详细讲解，我会通过通过下面的例子介绍一下我认为的用的最多的flag。</div>
<div dir="ltr">
下面是<a href="http://www.iwanna.cn/tags/apache/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Apache">Apache</a>的RewriteCond文档和我的概述：</div>
<div dir="ltr"><img src="http://nettuts.s3.amazonaws.com/435_htaccess/images/syntax_rewritecond.png" alt="" /></div>
<div dir="ltr"><strong><span style="font-size: medium;">调试流程</span></strong></div>
<div dir="ltr">当你使用mod_rewrite制定新规则的时候，总是以一个简单的规则开始，并且逐步发展为最后的版本。从来不要试图一下子将所有的事情办好。对于重写条件的编写，这个道理同样适用。一次添加规则和条件，多次测试！</p>
<p>我正在介绍的这种方法的关键之处是它可以让你知道是否你的一个改变不能正常工作或者是使某个地方运行不正常。当一次做得太多的时候，你会不可避免的遇到 错误，并且你将不得不恢复你所做的一切更改来找出问题到底是出在那儿了。这是一项非常艰难的 工作，可能会导致你的失望。不过，如果你总是稳步推进，并且在每一步都可以到达一个可以正常运行的点，你的处境就会稍好一点儿。</p></div>
<div dir="ltr">
人们往往忽略这条建议，创建了一个复杂的规则，最终却不能工作。几个小时后，他们发现问题没有出现在复杂的部分，反而只是简单的正则表达式错误，如果他 们按我上面解释的构造规则的换，问题可能早已经被发现了。在反向工程拆解规则上，这种方法也适用。这种做法将极大降低人们的失望！</div>
<div dir="ltr"><strong><span style="font-size: medium;">例子<br />
</span></strong><br />
在下面的例子中，我总是会假设网站的域名是example.com。此域名很重要，因为它会影响HTTP_HOST变量以及在你的网站上将指定的URL 重定向到另一个文件。如果你打算修改你的任何一个例子，以便它可以在你的网站上工作，请记住这一点。如果是这样，只需用你的域名替换 “example.com”。例如，Nettuts会将“example.com”改为“nettuts.com”。</div>
<div dir="ltr">
<strong><span style="font-size: medium;">删除www<br />
</span></strong><br />
这是最经典的重写规则。这将使得每个通过http://www.example.com访问你网站的人会得到一个硬性的重定向，从而其浏览器的地址栏中也将进行相应更新。</div>
<div dir="ltr">
<ol>
<li><span><span>RewriteEngine on </span></span></li>
<li><span>RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] </span></li>
<li><span>RewriteRule ^(.*)$ http://example.com/$1 [<span>R</span><span>=</span><span>301</span><span>,L] </span></span></li>
</ol>
</div>
<div dir="ltr">这条规则与任何输入的地址都匹配，并将所有的地址保存为$1。本例中的重要组成部分是条件语句，这个条件会检查HTTP_HOST变量，看它是否以“www”开始。如果是这样，重写就会发生：</div>
<div dir="ltr">
<ul>
<li>替代的是一个完整的URL (它以http://开始)</li>
<li>替代中包含早期抓取的 $1。</li>
<li>[R=301]标志将浏览器重定向到重写过的网址，在某种意义上说，这是硬性重定向，它是浏览器加载新的页面，并用新的URL地址更新地址栏。</li>
<li>[L]标志的意思是这是最后需要分析的一条规则，重写引擎应该停止了。</li>
</ul>
</div>
<div dir="ltr">如果传入的URL是“http://www.example.com/user/index.html”，那么HTTP_HOST是 beenwww.example.com，重写会创造http://example.com/user/index.html。</p>
<p>如果传入的URL是“http://example.com/user/index.html”，那么HTTP_HOST是beenexample.com，不满足条件，重写引擎将会保持网址不变。</p>
<p><strong><span style="font-size: medium;">禁止盗链</span></strong></div>
<div dir="ltr">盗链，在维基百科中被称为内联链接，是用来描述一个网站读取另一个网站的内容。通常一个网站，读取者，将包括一些其他网站上的媒体文件的链接（让我们说 成是一个图像或视频）——包含内容的主机。在这种情况下，内容主机的服务器会浪费带宽为其他网站提供内容（译者注：图像、视频等）。</p>
<p>对许多人来说，如果其他网站链接他们的内容，这很好。然而，许多人宁愿防止盗链，为了不支付将本网站内容发送到其他网站产生的额为的带宽。</p>
<p>最常见的、基本的防止盗链是的方法将一些网站加进空白页列表，并阻止其他的一切访问。你可以通过检查引用的内容来找出谁正在从你的网站访问那些内容。 HTTP_REFERER头（是的它是这样拼写的）是由正在访问资源的浏览器或客户端设置的。最后，这是不是100％可靠的，但它是禁止大多数盗链的最有 效的方法。因此，你只需验证引用是否在空白页列表中。如果引用是不能接受的（空白或其他人的网站），那么你可以给他们发送禁止警告：</p></div>
<div dir="ltr">
<ol>
<li># 给盗链着发送403禁止访问警告。</li>
<li>RewriteEngine on</li>
<li><span>RewriteCond %{HTTP_REFERER} !^http://example\.net/?.*$ [NC] </span></li>
<li><span>RewriteCond %{HTTP_REFERER} !^http://example\.com/?.*$ [NC] </span></li>
<li><span>RewriteRule \.(gif|jpe?g|png|bmp)$ &#8211; [F,NC] </span></li>
</ol>
</div>
<div dir="ltr">在这里，RewriteRule检查的是任何一个主流类型的图像文件，例如的.gif,.png或.jpg。如果你想保护.flv,.swf或者是其他文件，你可以添加其他扩展到这个列表中。<br />
<!--more--><br />
被允许访问的域名是“example.net”和“example.com”，在这两种情况下，重写条件验证将失败，替代也不会发生。如果有任何其他域 名尝试访问，比如说说“sample.com”企图访问，那么所有的重写条件会验证通过，替代会发生，比且[F]禁止动作将被触发。</p>
<p><strong><span style="font-size: medium;">给盗链者发送一张警告图片</span></strong></div>
<div dir="ltr">当有人试图从你的服务器上读取内容时，前面的例子会返回404禁止访问警告。实际上，你可以更进一步，给盗链者发送你选择的任何资源。例如，您可以发送一 个有用的以文字“盗链不允许”表述的图片警告。这样，其他人能够意识到他们自己的错误，并在他们的主机上保存一份副本。唯一的变化是改变替换方式，并提供 一个已经选好的图片来代替正在被访问的资源：</p>
<ol>
<li><span><span># 重定向盗链者请求为 &#8220;warning.png&#8221; </span></span></li>
<li><span>RewriteEngine on </span></li>
<li><span>RewriteCond %{HTTP_REFERER} !^http://example\.net/?.*$ </span></li>
<li><span>RewriteCond %{HTTP_REFERER} !^http://example\.com/?.*$   [NC] </span></li>
<li><span>RewriteRule \.(gif|jpe?g|png|bmp)$ http://example.com/warning.png [R,NC] </span></li>
</ol>
</div>
<div dir="ltr">注意，这是一个我称之为“硬”或“外部”重定向的例子。该重定向规则在他的替换部分有一个URL和一个[R］标志。</div>
<div dir="ltr"><strong><span style="font-size: medium;">自定义404 错误<br />
</span></strong><br />
一个窍门：你可以用htaccess检查目前的“URL部分”是不是链接到服务器上的实际文件或<a href="http://www.iwanna.cn/tags/web/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Web">Web</a>目录，这是一个创建自定义404“文件未找到”页 面的好方法。例如，如果用户试图读取特定目录中不存在的页面时，你可以重定向它们到任何网页，如Index页面或自定义404页。</div>
<div dir="ltr">
<ol>
<li><span><span># 显示“custom_404.html”页的通用404页</span></span></li>
<li><span># 如果请求的页面不是一个文件或目录 </span></li>
<li><span>#静态重定向：用户的地址栏的内容不变。 </span></li>
<li><span>RewriteEngine on </span></li>
<li><span>RewriteCond %{REQUEST_FILENAME} !-f </span></li>
<li><span>RewriteCond %{REQUEST_FILENAME} !-d </span></li>
<li><span>RewriteRule .* custom_404.html [L] </span></li>
</ol>
<p>这是mod_rewrite文件测试的很好的例子。它同bash shell脚本、甚至是Perl脚本文件测试相似。这里的条件检查REQUEST_FILENAME是不是一个文件或目录。在都不是的情况下，则没有这样的文件反馈给这个请求。</p>
<p>如果传入的请求文件无法找到，那么返回一个“custom404.html”页面。注意有没有[R]标志，所以这是一个静态重定向，而不是硬重定向。用户的地址栏将不会改变，但网页的内容是“custom404.html”，简短而简单。</p>
<p><strong><span style="font-size: medium;">安全第一<br />
</span></strong><br />
如果你有经常使用的mod_rewrite代码片段，并想轻松地分发到其他的服务器或环境中，你可能得要小心。如前所述，任何一个.htaccess文件的无效指令都可能会引起内部服务错误。因此，如果你的代码片段要移动到的环境没有mod_rewrite，你可以先暂停一下。</p>
<p>一个解决这个问题是mod_rewrite模块的“检查“指令”，任何一个模块都有这个指令。只要将你的mod_rewrite代码放到&lt;IfModule&gt;块中，你可以这样设置：</p>
<ol>
<li><span><span>&lt;</span><span>IfModule</span><span> mod_rewrite.c</span><span>&gt;</span><span> </span></span></li>
<li><span> </span></li>
<li><span> # Turn on </span></li>
<li><span> RewriteEngine on </span></li>
<li><span> </span></li>
<li><span> # Always remove www (with a hard redirect) </span></li>
<li><span> RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] </span></li>
<li><span> RewriteRule ^(.*)$ http://example.com/$1 [<span>R</span><span>=</span><span>301</span><span>,L] </span></span></li>
<li><span> </span></li>
<li><span> # Generic 404 for anyplace on the site </span></li>
<li><span> # &#8230; </span></li>
<li><span> </span></li>
<li><span><span>&lt;/</span><span>IfModule</span><span>&gt;</span><span> </span></span></li>
</ol>
<p><strong><span style="font-size: medium;">结论<br />
</span></strong><br />
我希望本教程能够证明mod_rewrite没有想象的那么恐怖，并且事实上通过精心设计，它的复杂性和访问速度问题都可以避免。</div>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/10/09/2276/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/10/09/2276/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/10/09/2276/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/10/09/2276/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/10/09/2276/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/develope/server/apache/" title="Apache" rel="tag nofollow">Apache</a>, <a href="http://www.iwanna.cn/tags/apache/" title="Apache" rel="tag nofollow">Apache</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/10/19/2321/" title="Apache中 RewriteRule 规则参数介绍 (2009年10月19日)">Apache中 RewriteRule 规则参数介绍</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/19/2318/" title="Apache中 RewriteCond 规则参数介绍 (2009年10月19日)">Apache中 RewriteCond 规则参数介绍</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/10/09/2276/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
