<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/</link>
<title><![CDATA[Small APP迁移之nginx配置+程序修改]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[默认分类]]></category>
<pubDate>Fri, 29 Oct 2010 06:17:07 +0000</pubDate> 
<guid>http://www.snooda.com/read/</guid> 
<description>
<![CDATA[ 
	    由于想保持博客主题和app的独立性，所以在编写supermail的时候使用了另一套ci框架，有心给app开一个二级域名，但是想了一下为了不由于公用ip导致降低博客在搜索引擎中的权重，决定先监听在一个别的端口，日后再迁移到博客/smapp/**下。<br />
<br />
    今天下午图书馆不开，加之买的书还没到，决定完成迁移工作。<br />
<br />
    首先需要优化程序，在所有的url链接处都用echo base_url()来组成完整url，这样迁移的时候通过修改config里面的base_url可以保证不会因使用绝对路径导致的问题。<br />
<br />
    其次是需要修改nginx。有如下三个方案：<br />
    1，对于location /smapp/，设置不同的root，这个方法是效率最高的，也最容易配置，不过我感觉这么设置总是别扭，不大想用。<br />
    2，使用curl，在博客的controller中建立一个smapp.php，对不同的url分别用curl抓取内容，然后返回。相当于做了个网页代理。但是搞了一会后发现实现困难，并且效率低，兼容性差。<br />
    3，反向代理，之前supermail监听的端口不变，不过由监听0.0.0.0改为监听127.0.0.1，这样此端口在外界看起来是封闭了。然后在nginx中对location /smapp/做反向代理。<br />
<br />
    从nginx文档上看到的是说，在对url做proxy_pass(反向代理)之前不能rewrite，于是我一开始先是把location /smapp/放在了rewrite规则的前面，结果发现还是被rewrite了，说明nginx在处理的时候是先把rewrite规则都匹配完毕后才处理location。不以位置改变这两者的顺序。于是只能加了一条rewrite规则，对/smapp/段的直接break。<br />
<br />
    然后配置反向代理，设置：<br />
    location /smapp/ &#123;<br />
        proxy_pass http://127.0.0.1:****/;<br />
        break;<br />
    &#125;<br />
    注意，proxy_pass后面的url的末尾是否带&#039;/&#039;是有区别的，假如不带，那么反向代理的uri中带有/smapp/这一段，假如带，uri中直接以/smapp/后面的部分开始。我刚开始加&#039;/&#039;的时候总是报错，也许是由于前面rewrite没有break掉的缘故。后来加上后成功了。<br />
<br />
现在已经完成了迁移，不过美中不足之处是rewrite规则多了一步，稍稍有些影响效率，不过可以通过配置反响代理缓存来弥补这一性能缺失。
]]>
</description>
</item><item>
<link>http://www.snooda.com/read/#blogcomment</link>
<title><![CDATA[[评论] Small APP迁移之nginx配置+程序修改]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.snooda.com/read/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>