<?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>Kangzj &#187; 反向代理</title>
	<atom:link href="http://kangzj.net/tag/%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86/feed/" rel="self" type="application/rss+xml" />
	<link>http://kangzj.net</link>
	<description>记录技术和生活~</description>
	<lastBuildDate>Mon, 07 May 2012 01:03:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>64M内存的VPS能干点什么？</title>
		<link>http://kangzj.net/what-can-a-64m-vps-do/</link>
		<comments>http://kangzj.net/what-can-a-64m-vps-do/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:58:46 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[64M]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-cgi]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wo]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[反向代理]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=1196</guid>
		<description><![CDATA[64M内存的VPS能干的事情比你想象的多得多，在上篇日志中送了ssh账号，加上本篇日志中介绍的几个应用，现在这个VPS算是物尽其用了。]]></description>
			<content:encoded><![CDATA[<h3>1. VPS相关参数</h3>
<p>买的是HostingInside的VPS，参数：</p>
<ol>
<li>台湾人办的；</li>
<li>服务器位于Fullerton, LA，美国西岸，国内速度不错，HE的网络；</li>
<li>一个ipv4地址，两个ipv6地址（这是我看上它的重要原因）；</li>
<li>基于OpenVZ，64M内存，300MCPU，无Burst，不支持swap；</li>
</ol>
<h3>2.  配置Nginx+php跑WordPress</h3>
<p>10.21中午11点半买的，一个多小时之后开通，然后紧接着<em>该服务器所在机房网络出现故障，服务器离线2小时-__-</em>。安装了debian5，占资源少得让你吃惊：</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://kangzj.net/wp-content/uploads/images/200910/free.jpg" alt="" width="518" height="77" /></p>
<p>按照<a href="http://www.vpsee.com/2009/06/64mb-vps-optimize-debian5/" target="_blank">vpsee的方法</a>换了几个软件，裸系统只占不到10M的内存，比起Windows那个吃内存的劲，让人暗爽。</p>
<p><span id="more-1196"></span>由于只有64M内存，又没有交换区，所以用它来跑LNMP不太可能，更加不要说LAMP。只安装了Nginx, fastcgi方式php，跟<a href="http://www.jiucool.com/" target="_blank">JiuCool同学</a>借用了个数据库，试验跑WordPress。</p>
<p>启动php-cgi过程中显示内存不足，不过好在启动起来三个php-cgi的进程。这个时候还是不能跑WordPress，会out of memory，于是kill掉三个php-cgi，只剩下一个，空出不少内存，OK，WordPress跑得还挺快，估计一天10, 000个PV应该都不在话下，如果开启wp super cache的话，负载能力便更会有质的提高。</p>
<h3>3. IPv4/v6地址物尽其用</h3>
<p>然而，太不实在，万一这个php-cgi死掉，我的博客也就玩完了。所以博客没有放在该VPS上，但是独立IP可不能浪费，偶就做了最擅长的<a href="http://kangzj.net/tag/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/" target="_blank">反向代理</a>，呵呵~~</p>
<p>然后IPv6地址也不能浪费，一个给<a href="http://kangzj.net/" target="_blank">博客</a>，另一个就做一个<a href="http://proxy.kangzj.net/" target="_blank">IPv6在线代理</a>给教育网同学们用。</p>
<p>既然不做WordPress主机，那么php的mysql模块、gd模块便都没有用了，于是给remove掉了。</p>
<p>重新启动php-cgi，奇迹发生了，<strong>原先一个php-cgi进程要占掉20M+内存，现在一个进程只占2M内存</strong>！于是乎启动了四个php-cgi，还剩几十M内存，哇哈哈~~应该可以正常运行了:-D</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://kangzj.net/wp-content/uploads/images/200910/now.jpg" alt="" width="530" height="350" /></p>
<h3>4. 结语</h3>
<p>在上篇日志中送了ssh账号，加上本篇日志中介绍的几个应用，现在这个VPS算是物尽其用了，值了，呵呵呵呵:-)</p>
<p>64M内存的VPS其实可以干很多事情的，不是吗？</p>
<p>最后提醒下要买VPS的同志们，一定注意虚拟技术，如果是OpenVZ的，不支持swap，但是最好有burst内存，否则就像我这个，只要内存超过64M就会内存错误，啥也干不成了。基于Xen的可以设置swap，更方便些。</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/what-can-a-64m-vps-do/">http://kangzj.net/what-can-a-64m-vps-do/</a> |
<a href="http://kangzj.net/what-can-a-64m-vps-do/#comments">88 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/what-can-a-64m-vps-do/&title=64M内存的VPS能干点什么？">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/64m/" rel="tag">64M</a>, <a href="http://kangzj.net/tag/debian/" rel="tag">debian</a>, <a href="http://kangzj.net/tag/fastcgi/" rel="tag">fastcgi</a>, <a href="http://kangzj.net/tag/ipv6/" rel="tag">ipv6</a>, <a href="http://kangzj.net/tag/nginx/" rel="tag">nginx</a>, <a href="http://kangzj.net/tag/openvz/" rel="tag">OpenVZ</a>, <a href="http://kangzj.net/tag/php/" rel="tag">php</a>, <a href="http://kangzj.net/tag/php-cgi/" rel="tag">php-cgi</a>, <a href="http://kangzj.net/tag/proxy/" rel="tag">proxy</a>, <a href="http://kangzj.net/tag/ssh/" rel="tag">ssh</a>, <a href="http://kangzj.net/tag/swap/" rel="tag">swap</a>, <a href="http://kangzj.net/tag/vps/" rel="tag">vps</a>, <a href="http://kangzj.net/tag/wo/" rel="tag">wo</a>, <a href="http://kangzj.net/tag/wordpress/" rel="tag">wordpress</a>, <a href="http://kangzj.net/tag/%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86/" rel="tag">反向代理</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/what-can-a-64m-vps-do/feed/</wfw:commentRss>
		<slash:comments>88</slash:comments>
		</item>
		<item>
		<title>nginx架设http代理</title>
		<link>http://kangzj.net/setup-a-http-proxy-using-nginx/</link>
		<comments>http://kangzj.net/setup-a-http-proxy-using-nginx/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 16:17:56 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[代理]]></category>
		<category><![CDATA[反向代理]]></category>
		<category><![CDATA[正向代理]]></category>
		<category><![CDATA[透明代理]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=968</guid>
		<description><![CDATA[squid透明代理已经向大家介绍过了，前两天在Libing大哥的博客逛的时候发现原来也可以用nginx来作透明代理（个人觉得叫正向代理更合理些），学习了下，又丰富了下，给大家分享一下]]></description>
			<content:encoded><![CDATA[<p><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://nginx.net/nginx.gif" alt="" /></p>
<p><a href="http://kangzj.net/squid-tranparent/" target="_blank">squid透明代理</a>已经向大家介绍过了，前两天在<a href="http://www.libing.name/" target="_blank">Libing</a>大哥的博客逛的时候发现原来也可以用<a href="http://www.libing.name/2009/09/10/nginx-transparent-forward-proxy.html" target="_blank">nginx来作透明代理</a>（个人觉得叫正向代理更合理些），学习了下，又丰富了下，给大家分享一下。</p>
<blockquote><p>server {</p>
<p>listen 81;</p>
<p>location / {</p>
<p>proxy_pass http://$http_host$request_uri;</p>
<p>}</p>
<p>}</p></blockquote>
<p><span id="more-968"></span></p>
<p>步骤非常简单，只要新建一个主机，随便监听一个端口就可以，但是不能加主机名，因为我们是正向http代理，如果加了主机名，那岂不是就只能访问那几个网站了吗，呵呵。</p>
<blockquote><p><span style="background-color: #ffffff;">$http_host &#8211; 主机名，即是访问该服务器的域名</span></p>
<p><span style="background-color: #ffffff;">$request_uri &#8211; 主机名后面跟的所有的东西</span></p>
<p><span style="background-color: #ffffff;"> </span></p>
<p><span style="background-color: #ffffff;">例如：<a href="http://www.kangzj.net/preminder/">http://<span style="color: #0000ff;">www.kangzj.net</span><span style="color: #ff0000;">/preminder/</span></a></span><span style="color: #ff0000;"> </span><span style="color: #400000;">蓝色部分就是$http_host 红色部分就是$request_uri</span></p></blockquote>
<p><span style="background-color: #ffffff;"> </span></p>
<p><span style="background-color: #ffffff;">然后怎样，不用我教了吧，打开IE选项设置代理即可利用代理上网啦！</span></p>
<p>当然，如果你想<strong>限制用户只能上某几个网站</strong>，那么就加上：</p>
<blockquote><p>server_name www.163.com g.cn;</p></blockquote>
<p>等等就可以啦，是不是很方便呢。</p>
<p>如果把代理端口设置成80就可以作为透明代理来使用了（严格来说并不是透明代理，反而更像反向代理）：</p>
<p><span style="background-color: #ffffff;">但是需要我们修改无敌的hosts文件了，为什么？——因为我们要访问的网站的域名并不是指向我们的nginx服务器啊~OK改好，这样子，所有的网站就好像工作在那台nginx服务器似的，可以上啦！</span></p>
<p>说到这里同学们可能会有点乱了，正向代理、反向代理、透明代理……最后再跟大家明确下：</p>
<ol>
<li>这三种方式的代理本质是相同的：都是代理服务器代理客户端到相应的互联网服务器取东西（浏览、下载等）。</li>
<li>代理使用的方式是不同的：正向代理是在IE或者其它浏览器设置代理选项，浏览器向代理服务器请求所有网页，由代理服务器代理取回网页；透明代理跟正向代理原理一样，只不过主机将代理服务器当做网关使用，并不需要设置代理选项；而反向代理是为一个（或几个）网站架设的代理，网站好像就在代理服务器端似的，多用来给网站加速用（跟我上面讲的所谓透明代理是一个意思）。</li>
</ol>
<p>不会越说越乱吧，呵呵，其实不用在定义上这么纠缠，在有用的时候想到有方法可以实现就可以了。</p>
<p>Nginx真的很好用、很强大，你不妨试一下:-)</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/setup-a-http-proxy-using-nginx/">http://kangzj.net/setup-a-http-proxy-using-nginx/</a> |
<a href="http://kangzj.net/setup-a-http-proxy-using-nginx/#comments">33 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/setup-a-http-proxy-using-nginx/&title=nginx架设http代理">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/hosts/" rel="tag">hosts</a>, <a href="http://kangzj.net/tag/linux/" rel="tag">linux</a>, <a href="http://kangzj.net/tag/nginx/" rel="tag">nginx</a>, <a href="http://kangzj.net/tag/%e4%bb%a3%e7%90%86/" rel="tag">代理</a>, <a href="http://kangzj.net/tag/%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86/" rel="tag">反向代理</a>, <a href="http://kangzj.net/tag/%e6%ad%a3%e5%90%91%e4%bb%a3%e7%90%86/" rel="tag">正向代理</a>, <a href="http://kangzj.net/tag/%e9%80%8f%e6%98%8e%e4%bb%a3%e7%90%86/" rel="tag">透明代理</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/setup-a-http-proxy-using-nginx/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>把自己的博客作了教育网反向代理</title>
		<link>http://kangzj.net/edu-net-can-access-my-blog-now/</link>
		<comments>http://kangzj.net/edu-net-can-access-my-blog-now/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 16:05:00 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[独立博客]]></category>
		<category><![CDATA[dnspod]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[反向代理]]></category>
		<category><![CDATA[教育网]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=808</guid>
		<description><![CDATA[原先一直以为自己的网站教育能上，前两天到“HOUKAI”博客跟他交换链接，houkai竟然上不了我的博客…鼓捣了半天，终于在教育网架了个反向代理，教育网内访问无阻啦~]]></description>
			<content:encoded><![CDATA[<p>原先一直以为自己的博客教育网能上，前两天到“<a href="http://houkai.com" target="_blank">HOUKAI</a>”博客跟他交换链接时，houkai竟然上不了我的博客…鼓捣了半天，终于在教育网架了个反向代理，教育网内直接访问无阻啦~</p>
<p><a href="http://kangzj.net/wp-content/uploads/images/200908/b6373bcd1f7b_1239B/20090829reverseproxyedu.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="20090829-reverse-proxy-edu" src="http://kangzj.net/wp-content/uploads/images/200908/b6373bcd1f7b_1239B/20090829reverseproxyedu_thumb.jpg" border="0" alt="20090829-reverse-proxy-edu" width="439" height="227" /></a><br />
<span id="more-808"></span></p>
<blockquote><p>其中，橙色的机器是我在小张那里买的服务器，教育网不能访问；</p>
<p>其中，服务器A为一台北京电信服务器，跟上海电信之间的连接速度很不错，与教育网不能直接连接，但是与校内教育网服务器B直接有路由；</p>
<p>其中，服务器B为校内一台教育网服务器。</p></blockquote>
<p>大家看到图可能就明白了，我作了两重的反向代理才完成这项功能的，哈哈。反向代理用的是nginx(最近对它很是着迷，<a href="http://kangzj.net/nginx-php-jsp-asp-aspx/" target="_blank">怎么设置反向代理？</a>)。</p>
<p>上面的设置完了，但是不能把域名指向服务器B，因为这台服务器只有教育网能访问，于是——智能DNS就派上了用场，我用的是<a href="http://www.dnspod.com" target="_blank">Dnspod</a>的智能DNS。把域名教育网线路的IP改成服务器B的IP即可！</p>
<p><a href="http://kangzj.net/wp-content/uploads/images/200908/b6373bcd1f7b_1239B/20090829dnspodkangzj.net.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="20090829-dnspod-kangzj.net" src="http://kangzj.net/wp-content/uploads/images/200908/b6373bcd1f7b_1239B/20090829dnspodkangzj.net_thumb.jpg" border="0" alt="20090829-dnspod-kangzj.net" width="600" height="180" /></a></p>
<p>打完收工，教育网的同学可以飞速访问我的博客了，我自己访问自己的博客连网关都不用过了，爽呀~~</p>
<p>常来本人小博的同学们，如果你们也是教育网，上国际不方便（而博客又在国际）或者想给教育网加速，告诉我，我也给你作个反向代理哈~</p>
<p>PS：两台服务器还都算稳定，至少90% Uptime.</p>
<p>好啦，到了提问时间了，要想正常访问我的博客，服务器B还应该有个什么设置呢？答对有奖:-)</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/edu-net-can-access-my-blog-now/">http://kangzj.net/edu-net-can-access-my-blog-now/</a> |
<a href="http://kangzj.net/edu-net-can-access-my-blog-now/#comments">40 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/edu-net-can-access-my-blog-now/&title=把自己的博客作了教育网反向代理">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/dnspod/" rel="tag">dnspod</a>, <a href="http://kangzj.net/tag/linux/" rel="tag">linux</a>, <a href="http://kangzj.net/tag/nginx/" rel="tag">nginx</a>, <a href="http://kangzj.net/tag/%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86/" rel="tag">反向代理</a>, <a href="http://kangzj.net/tag/%e6%95%99%e8%82%b2%e7%bd%91/" rel="tag">教育网</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/edu-net-can-access-my-blog-now/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>配置nginx支持php,jsp,asp,aspx…</title>
		<link>http://kangzj.net/nginx-php-jsp-asp-aspx/</link>
		<comments>http://kangzj.net/nginx-php-jsp-asp-aspx/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 00:36:45 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[反向代理]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=697</guid>
		<description><![CDATA[配置nginx作反向代理以支持php,asp,jsp等等的方法的介绍，还有nginx虚拟机文件的讲解。]]></description>
			<content:encoded><![CDATA[<p>说到Nginx，大家应该比较熟悉了吧，虽然出现地比较晚，但是他优良的性能让很多系统工程师折服，并被大量的采用。网上有好多文章介绍如何如何让nginx支持jsp啊、asp啊等等。我想说这个讲法是不太对的，因为nginx本身只是个静态的server和反向代理的利器，并不支持动态页面，所谓的支持asp,jsp,php等等都只是用nginx来做反向代理而已。</p>
<p><span id="more-697"></span></p>
<p><a href="http://kangzj.net/nginx_php_fastcgi_ubuntu/" target="_blank">让nginx通过fastcgi支持php</a>已经介绍过了，这里仅介绍让nginx反向代理tomcat等jsp容器来serve jsp页面的方法：</p>
<p>假设你已经配置了tomcat并跑在本机的8080端口，打开你的虚拟机配置文件，加下下列几行：</p>
<blockquote><p>location / {<br />
proxy_pass  http://127.0.0.1:8080;<br />
proxy_redirect off;<br />
proxy_set_header Host $host;<br />
proxy_set_header X-Real-IP $remote_addr;<br />
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br />
client_max_body_size 10m;<br />
client_body_buffer_size 128k;<br />
proxy_connect_timeout 30;<br />
proxy_send_timeout 30;<br />
proxy_read_timeout 30;<br />
proxy_buffer_size 4k;<br />
proxy_buffers 4 32k;<br />
proxy_busy_buffers_size 64k;<br />
proxy_temp_file_write_size 64k;       <br />
}</p></blockquote>
<p>OK啦，jsp可以跑了！想径向代理IIS?apache?——尽管去做吧！</p>
<p>PS：现在官方已经推出Windows版本的Nginx，所以支持Asp或者.net就完全是水到渠成了，可以直接在一台机器上做了，不用完全依赖mono了。</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/nginx-php-jsp-asp-aspx/">http://kangzj.net/nginx-php-jsp-asp-aspx/</a> |
<a href="http://kangzj.net/nginx-php-jsp-asp-aspx/#comments">5 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/nginx-php-jsp-asp-aspx/&title=配置nginx支持php,jsp,asp,aspx…">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/nginx/" rel="tag">nginx</a>, <a href="http://kangzj.net/tag/%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86/" rel="tag">反向代理</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/nginx-php-jsp-asp-aspx/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Squid 2.6反向代理加速</title>
		<link>http://kangzj.net/squid-reverse-proxy/</link>
		<comments>http://kangzj.net/squid-reverse-proxy/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 02:07:26 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[反向代理]]></category>

		<guid isPermaLink="false">/articles/47</guid>
		<description><![CDATA[Squid系一个Linux专有超级反向代理正向代理+Web缓存软件.好多大网站例如 163 shou 新浪....都会想全国各个服务器节点置立尼一个机制]]></description>
			<content:encoded><![CDATA[<p>Squid系一个Linux专有超级反向代理正向代理+Web缓存软件.<br />
好多大网站例如 163 shou 新浪&#8230;.都会想全国各个服务器节点置立尼一个机制。<br />
例如,北京用户访问163. 首先会通过DNS轮询找到最近既服务器.然后读取内容。<br />
而这一部服务器上的内容,会定时自动由广州既总服务器复制.就是这个系统会预先将网页内容<br />
缓存下来.<br />
<span id="more-47"></span></p>
<h3>第一步安装</h3>
<p>建议还是用 tar.gz 包装吧&#8230;RPM 的东西会烦死你.特别是找配置文件的时候.</p>
<p>#tar zxvf squid-2.6.STABLE4.tar.gz<br />
#cd squid-2.6.STABLE4<br />
#./configure &#8211;prefix=/usr/local/squid<br />
#make<br />
#make install</p>
<p>安装是很简单的.但接下类配就有点烦了.(跟我当年用tar装MySQl一样烦)</p>
<h3>第二步配置</h3>
<p>其实最关键就在配置上,要配置存放缓存的目录,PID文件的目录,log日志的目录<br />
还要设置缓存大小&#8230;</p>
<p>#vi /usr/local/squid/etc/squid.conf</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;squid.conf&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
http_port 192.168.1.30:80 vhost vport<br />
icp_port 0</p>
<p>#服务器IP 192.168.1.30<br />
#监听服务器的80端口，透明代理，支持域名和IP的虚拟主机<br />
#http_port 192.168.1.30:80 transparent vhost vport<br />
#最新2.6使用http_port 192.168.1.30:80 vhost vport</p>
<p>#防止天涯盗链，转嫁给百度<br />
#acl tianya referer_regex -i tianya<br />
#http_access deny tianya<br />
#deny_info http://www.baidu.com/logs.gif tianya</p>
<p>#防止被人利用为HTTP代理，设置允许访问的IP地址<br />
#acl myip dst 192.168.1.1<br />
#http_access deny !myip</p>
<p>#防止百度机器人爬死服务器<br />
#acl AntiBaidu req_header User-Agent Baiduspider<br />
#http_access deny AntiBaidu</p>
<p>#允许本地管理<br />
#acl Manager proto cache_object<br />
#acl Localhost src 127.0.0.1 192.168.1.1<br />
#http_access allow Manager Localhost<br />
#http_access deny Manager</p>
<p>#仅仅允许80端口的代理<br />
#acl Safe_ports port 80 # http<br />
#http_access deny !Safe_ports<br />
#http_access allow all</p>
<p>#Squid信息设置<br />
visible_hostname squid<br />
cache_mgr AAAA@admin.com</p>
<p>#限制同一IP客户端的最大连接数<br />
acl OverConnLimit maxconn 16<br />
http_access deny OverConnLimit</p>
<p>#基本设置<br />
cache_vary on<br />
cache_mem 256 MB<br />
#占用的物理内存大小<br />
cache_dir ufs /data/squid/cache 10000 16 256<br />
#硬盘上cache空间的路径(目录需要自己手动建)<br />
cache_effective_user squid<br />
cache_effective_group squid<br />
tcp_recv_bufsize 65535 bytes</p>
<p>#2.6的反向代理加速配置(虚拟服务器)<br />
#代理到本机的80端口的服务，仅仅做为原始内容服务器<br />
#配置虚拟服务器的指向是最我这次研究Squid花时间最长的地方.所以也是本文的重点</p>
<p>cache_peer www.gznow.cn parent 80 0 no-query originserver login=PASS<br />
cache_peer 59.42.255.86 parent 80 0 no-query originserver login=PASS</p>
<p>#上边这2行的意思,是概括地把所有请求指向另外一台服务器的IP。(域名跟IP都可以)<br />
#而详细哪个域名指向哪个IP呢.就要在下边这2行中补充了.这里尤为重要.上下2部分缺一不可。<br />
#如果启动时出现错误 No cache_peer &#8216;xx.xxx.xx.xxx&#8217; 就证明是你上边跟下边的服务器地址没有对应上了。</p>
<p>cache_peer_domain www.gznow.cn blog.gznow.cn<br />
cache_peer_domain 59.42.255.88 bbs.cdfeel.com</p>
<p># 1,意思是.把 blog.gznow.cn 这个域名的请求反向链接到 www.gznow.cn(他会解析成ip地址) 的服务器上.<br />
# 2,意思根上边一样.把 bbs.cdfeel.com 这个域名反向链接到 59.42.255.88 这台服务器上。<br />
#就是说服务器的地址.可以是域名也可以是IP.</p>
<p>#如果你的虚拟主机有用户名和密码保护起来的目录必须设置login=PASS，否则认证会失效<br />
#error_directory /data/squid/errors/Simplify_Chinese<br />
emulate_httpd_log on<br />
#打开emulate_httpd_log选项,将使Squid仿照Aapche的日志格式<br />
logformat combined %&gt;a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %#日志格式combined的设置(目录需要自己手动建)<br />
pid_filename /data/squid/pid/squid.pid<br />
cache_log /data/squid/log/cache.log<br />
access_log /data/squid/log/null combined<br />
#这里是设置pid和日志文件的位置，因人而异，同时日志格式是combined，awstats可以直接调用分析了<br />
acl all src 0.0.0.0/0.0.0.0</p>
<p>acl QUERY urlpath_regex cgi-bin .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe<br />
cache deny QUERY<br />
#设置不想缓存的目录或者文件类型</p>
<p>refresh_pattern -i . 1440 50% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private</p>
<p>acl picurl url_regex -i \.bmp$ \.png$ \.jpg$ \.gif$ \.jpeg$ \.js$ \.css$ \.htm$ \.html$ \.xml$</p>
<p>#acl mystie1 referer_regex -i aaa<br />
#http_access allow mystie1 picurl</p>
<p>#no_cache allow picurl<br />
#http_access allow picurl<br />
#设置防图片盗链的，其中aaa,和bbb分别是虚拟主机的域名，referer中必须包含有aaa或者bbb的域名才能访问图片<br />
#acl nullref referer_regex -i ^$<br />
#http_access allow nullref<br />
#acl hasref referer_regex -i .+<br />
#http_access deny hasref picurl<br />
#设置允许直接访问图片和拒绝referer中没有包含aaa或着bbb的访问图片</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-end&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>自己把上边这东西覆盖原来的conf也可以运行了.(就是http_port 的ip改改)</p>
<p>第三步,初始化+运行</p>
<p>首先就是要按照上边 conf 配置中的 cache 路径建 目录.并且赐予其777 权限 跟把用户属组调至 “squid”这简单的步骤我就不详写了.用mkdir 跟 chmod 777 chown squid</p>
<p>cache_dir ufs /data/squid/cache<br />
#硬盘上cache空间的路径</p>
<p>目录建好之后,使用 squid -z 命令初始化目录,建缓存.<br />
#/usr/local/squid/sbin/squid -z</p>
<p>然后就可以开始运行了.有好几个运行参数</p>
<p>#/usr/local/squid/sbin/squid &#8211;NCd1 (前台正式运行,用于调试非常好.)<br />
#/usr/local/squid/sbin/squid        (后台运行)<br />
# /usr/local/squid/sbin/squid -k reconfig (更新配置文件后更新)</p>
<p>然后,自己建立一个 squid 执行脚本放在 /etc/rc.d/init.d 里边(记得要赐予运行权限哦)</p>
<p>然后用Linux自带的工具检测一下Http头看Cache生效没<br />
#curl -I http://192.168.1.30/<br />
如信息中出现有以下这一行就代表缓存生效了。<br />
X-Cache: HIT from squid<br />
如果是<br />
X-Cache: MISS from squid<br />
就代表缓存还没储存,或者是没生效.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;squid&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>#!/bin/sh<br />
# if ! PREFIX=$(expr $0 : “\(/.*\)/etc/rc\.d/$(basename $0)\$”); then<br />
# ..echo “$0: Cannot determine the PREFIX” &gt;&amp;2</p>
<p># ..exit 1</p>
<p># fi</p>
<p>case “$1&#8243; in</p>
<p>start)<br />
if [ -x /usr/local/squid/sbin/squid -a -f /usr/local/squid/etc/squid.conf ]; then<br />
(cd /usr/local/squid/var/logs; /usr/local/squid/sbin/squid &gt;/dev/null 2&gt;&amp;1 &amp;) ; echo -n &#8216; squid&#8217;</p>
<p>fi</p>
<p>;;</p>
<p>stop)</p>
<p>/usr/local/squid/sbin/squid -k shutdown 2&gt;&amp;1</p>
<p># Uncomment this if you&#8217;d like the system to (attempt to</p>
<p># wait for) squid to shut down cleanly</p>
<p>#echo “Sleeping for 45 seconds to allow squid to shutdown..”</p>
<p>#sleep 45</p>
<p>;;</p>
<p>*)</p>
<p>echo “Usage: `basename $0` {start|stop}” &gt;&amp;2</p>
<p>;;</p>
<p>esac</p>
<p>exit 0</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-end&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>PS: 上个星期还试了一下最新的 squid 3.0 出了个怪问题.</p>
<p>配置文件在 2.6 上完全正确的,虽然移到 3.0 上有个别参数不兼容.但能启动.</p>
<p>不过就只能发挥 proxy 功能, cache 就死活不肯生效。<br />
用 curl -I 命令&#8230;测了N遍缓存都还是 MISS.</p>
<p>上网看了很多 Squid 的配置详解.http://www.visolve.com/squid/squid30/contents.php</p>
<p>改了好几次配置,都还是不行.</p>
<p>最后还是高手刘冬出马&#8230;<br />
原来是我建给 squid 用于做 cache 的目录权限有错.<br />
尽管我把自己建的目录 /data/squid/cache 权限设成了 777 但因为他属主还是 root<br />
而我在 squid 上设置的运行属主是 “squid” .所以导致了 squid 拿不到缓存了.<br />
怪啊怪&#8230;因为之前我在 2.6 上也同样是 777 的, 都没这个问题..3.0 恐怕是安全方面设严了.</p>
<p style='text-align:left'>&copy; 2008 &#8211; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2008. |
<a href="http://kangzj.net/squid-reverse-proxy/">http://kangzj.net/squid-reverse-proxy/</a> |
<a href="http://kangzj.net/squid-reverse-proxy/#comments">沙发还在</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/squid-reverse-proxy/&title=Squid 2.6反向代理加速">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/linux/" rel="tag">linux</a>, <a href="http://kangzj.net/tag/squid/" rel="tag">squid</a>, <a href="http://kangzj.net/tag/%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86/" rel="tag">反向代理</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/squid-reverse-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

