<?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>美优博客</title>
	<atom:link href="http://blog.meiu.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.meiu.cn</link>
	<description>简单生活</description>
	<lastBuildDate>Sun, 29 Jan 2012 07:14:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>MeiuPic 2.1.0 发布！</title>
		<link>http://blog.meiu.cn/meiupic-2-1-0.html</link>
		<comments>http://blog.meiu.cn/meiupic-2-1-0.html#comments</comments>
		<pubDate>Mon, 05 Dec 2011 01:23:04 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=514</guid>
		<description><![CDATA[<p>2.1.0版本功能看点：</p> <p>MeiuPic 是一个使用php开发的在线图床、图片管理的系统，使用起来非常方便。2.1.0版本又新加入了多项功能。</p> <p>1. 无限级分类</p> <p>相册加入了无限级分类的概念，可以把相册归类到某个分类里面。便于更好地归类图片。在这里没有加入无限级相册功能，可以说两种功能各有优缺点吧。<br /> </p> <p>2. 颜色取色器</p> <p>在风格编辑和其他需要选择颜色的地方加入了可视化的颜色选择器，方便用户取色。下面看到的是编辑风格的界面。</p> <p></p> <p>3. 图片旋转功能</p> <p>有些时候拍出来的图片传到电脑上的时候，可能并不是我们要的方向，需要旋转个90度什么的。现在可以直接在MeiuPic里操作了。</p> <p></p> <p>4. 不改变地址重新上传图片功能</p> <p>有时候你会发布一些图片，然后贴到个大论坛、网站或者淘宝网店里面去。突然你发现图片内容有问题，你需要改一下图片内容，而不需要去个大论坛、网站重新发帖。这时候你可以直接用图片重新上传功能。重新上传的图片还是原来的图片地址，更加方便的管理图片。</p> <p></p> <p>5. 自定义导航菜单功能</p> <p>一个很实用的功能。之前很多人问我如果加入超链接到菜单里去，当告诉他们需要改模板的时候，纷纷表示比较难，不会。现在你可以直接在系统设置里面添加了，无需学习html什么的。</p> <p> </p> <p> 6. 系统自动更新</p> <p>从2.1.0开始，您将体验到自动更新给您带来的快捷。您可以一键自动升级到最新版本。不过在升级之前，最好备份下数据，以免带来不必要的损失。</p> <p></p> <p>更多其他功能：</p> <p>面包屑、加入英文语言支持、Jiathis分享按钮。</p> <p style="text-align: center;"> <a href="http://www.meiu.cn/files/meiupic_2.1.0.zip"></a></p>]]></description>
			<content:encoded><![CDATA[<p>2.1.0版本功能看点：</p>
<p>MeiuPic 是一个使用php开发的在线图床、图片管理的系统，使用起来非常方便。2.1.0版本又新加入了多项功能。</p>
<p><strong>1. 无限级分类</strong></p>
<p>相册加入了无限级分类的概念，可以把相册归类到某个分类里面。便于更好地归类图片。在这里没有加入无限级相册功能，可以说两种功能各有优缺点吧。<br />
<img class="alignnone" src="http://meiupic.meiu.cn/demo2/data/0000/09/132301217035.png" alt="" /></p>
<p><strong>2. 颜色取色器</strong></p>
<p>在风格编辑和其他需要选择颜色的地方加入了可视化的颜色选择器，方便用户取色。下面看到的是编辑风格的界面。</p>
<p><img class="alignnone" title="颜色取色器" src="http://meiupic.meiu.cn/demo2/data/0000/09/132301216935.png" alt="" width="607" height="493" /></p>
<p><strong>3. 图片旋转功能</strong></p>
<p>有些时候拍出来的图片传到电脑上的时候，可能并不是我们要的方向，需要旋转个90度什么的。现在可以直接在MeiuPic里操作了。</p>
<p><img class="alignnone" title="图片旋转" src="http://meiupic.meiu.cn/demo2/data/0000/09/132301218279.png" alt="" width="602" height="414" /></p>
<p><strong>4. 不改变地址重新上传图片功能</strong></p>
<p>有时候你会发布一些图片，然后贴到个大论坛、网站或者淘宝网店里面去。突然你发现图片内容有问题，你需要改一下图片内容，而不需要去个大论坛、网站重新发帖。这时候你可以直接用图片重新上传功能。重新上传的图片还是原来的图片地址，更加方便的管理图片。</p>
<p><img class="alignnone" title="不改变地址重新上传" src="http://meiupic.meiu.cn/demo2/data/0000/09/132301219066.png" alt="" width="633" height="516" /></p>
<p><strong>5. 自定义导航菜单功能</strong></p>
<p>一个很实用的功能。之前很多人问我如果加入超链接到菜单里去，当告诉他们需要改模板的时候，纷纷表示比较难，不会。现在你可以直接在系统设置里面添加了，无需学习html什么的。</p>
<p><img class="alignnone" title="自定义导航菜单" src="http://meiupic.meiu.cn/demo2/data/0000/09/132301218609.png" alt="" width="632" height="391" /> </p>
<p><strong> 6. 系统自动更新</strong></p>
<p>从2.1.0开始，您将体验到自动更新给您带来的快捷。您可以一键自动升级到最新版本。不过在升级之前，最好备份下数据，以免带来不必要的损失。</p>
<p><img class="alignnone" title="自动更新" src="http://meiupic.meiu.cn/demo2/data/0000/09/132301219131.png" alt="" width="598" height="366" /></p>
<p>更多其他功能：</p>
<p>面包屑、加入英文语言支持、Jiathis分享按钮。</p>
<p style="text-align: center;"> <a href="http://www.meiu.cn/files/meiupic_2.1.0.zip"><img class="aligncenter" title="立刻获取" src="http://www.meiu.cn/statics/img/get_now.png" alt="" width="194" height="50" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-2-1-0.html/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>MeiuPic 改变版本命名规则</title>
		<link>http://blog.meiu.cn/meiupic-versionname.html</link>
		<comments>http://blog.meiu.cn/meiupic-versionname.html#comments</comments>
		<pubDate>Sun, 04 Dec 2011 15:00:11 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=510</guid>
		<description><![CDATA[<p>MeiuPic 从2.1版本后改变了版本规则了，使用了最常用的x.y.z的命名方式，去除了开发版本号r216这样的命名，同时加入了自动升级功能，方便用户升级。</p> <p><a href="http://blog.meiu.cn/wp-content/uploads/2011/12/%E7%89%88%E6%9C%AC%E5%8F%B7.gif"></a></p>]]></description>
			<content:encoded><![CDATA[<p>MeiuPic 从2.1版本后改变了版本规则了，使用了最常用的x.y.z的命名方式，去除了开发版本号r216这样的命名，同时加入了自动升级功能，方便用户升级。</p>
<p><a href="http://blog.meiu.cn/wp-content/uploads/2011/12/%E7%89%88%E6%9C%AC%E5%8F%B7.gif"><img class="aligncenter size-full wp-image-511" title="版本号" src="http://blog.meiu.cn/wp-content/uploads/2011/12/%E7%89%88%E6%9C%AC%E5%8F%B7.gif" alt="" width="550" height="227" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-versionname.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx配置缓存，按域名存放</title>
		<link>http://blog.meiu.cn/nginx-proxy_cache.html</link>
		<comments>http://blog.meiu.cn/nginx-proxy_cache.html#comments</comments>
		<pubDate>Thu, 04 Aug 2011 03:08:20 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[技术笔记]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[缓存配置]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=494</guid>
		<description><![CDATA[<p>相信很多人有已经从apache之类的web服务器转到Nginx了，然而Nginx除了单纯的web服务器用途外，可以当做反向代理服务器使用，配合proxy_cache功能基本可以代替squid了。</p> <p>1. 编译安装Nginx</p> 1<br />2<br />./configure --user=www --group=www --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module<br /> make &#38;&#38; make install <p>2. nginx.conf配置文件如下：</p> 1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br [...]]]></description>
			<content:encoded><![CDATA[<p>相信很多人有已经从apache之类的web服务器转到Nginx了，然而Nginx除了单纯的web服务器用途外，可以当做反向代理服务器使用，配合proxy_cache功能基本可以代替squid了。</p>
<p><strong>1. 编译安装Nginx</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--user</span>=www <span style="color: #660033;">--group</span>=www <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>nginx --with-http_stub_status_module --with-http_ssl_module<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></div></td></tr></tbody></table></div>
<p><strong>2. nginx.conf配置文件如下：</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">user  www www;<br />
worker_processes <span style="color: #000000;">8</span>;<br />
error_log  <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/</span>nginx_error.log  crit;<br />
pid        <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>nginx.pid;<br />
<br />
<span style="color: #666666; font-style: italic;">#Specifies the value for maximum file descriptors that can be opened by this process.</span><br />
worker_rlimit_nofile <span style="color: #000000;">65535</span>;<br />
<br />
events<br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
use epoll;<br />
worker_connections <span style="color: #000000;">65535</span>;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
http<br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
include       mime.types;<br />
default_type  application<span style="color: #000000; font-weight: bold;">/</span>octet-stream;<br />
<br />
charset  utf-<span style="color: #000000;">8</span>;<br />
<br />
server_names_hash_bucket_size <span style="color: #000000;">128</span>;<br />
client_header_buffer_size 32k;<br />
large_client_header_buffers <span style="color: #000000;">4</span> 32k;<br />
client_max_body_size 300m;<br />
<br />
sendfile on;<br />
tcp_nopush     on;<br />
<br />
keepalive_timeout <span style="color: #000000;">60</span>;<br />
<br />
tcp_nodelay on;<br />
<br />
client_body_buffer_size  512k;<br />
proxy_connect_timeout    <span style="color: #000000;">5</span>;<br />
proxy_read_timeout       <span style="color: #000000;">60</span>;<br />
proxy_send_timeout       <span style="color: #000000;">5</span>;<br />
proxy_buffer_size        16k;<br />
proxy_buffers            <span style="color: #000000;">4</span> 64k;<br />
proxy_busy_buffers_size 128k;<br />
proxy_temp_file_write_size 128k;<br />
<br />
<span style="color: #c20cb9; font-weight: bold;">gzip</span> on;<br />
gzip_min_length  1k;<br />
gzip_buffers     <span style="color: #000000;">4</span> 16k;<br />
gzip_http_version <span style="color: #000000;">1.1</span>;<br />
gzip_comp_level <span style="color: #000000;">2</span>;<br />
gzip_types       text<span style="color: #000000; font-weight: bold;">/</span>plain application<span style="color: #000000; font-weight: bold;">/</span>x-javascript text<span style="color: #000000; font-weight: bold;">/</span>css application<span style="color: #000000; font-weight: bold;">/</span>xml;<br />
gzip_vary on;<br />
<br />
<span style="color: #666666; font-style: italic;">#注：proxy_temp_path和proxy_cache_path指定的路径必须在同一分区</span><br />
proxy_temp_path   <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>proxy_temp_dir;<br />
<span style="color: #666666; font-style: italic;">#设置Web缓存区名称为cache_one，内存缓存空间大小为200MB，1天没有被访问的内容自动清除，硬盘缓存空间大小为30GB。</span><br />
proxy_cache_path  <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>proxy_cache_dir  <span style="color: #007800;">levels</span>=<span style="color: #000000;">1</span>:<span style="color: #000000;">2</span>   <span style="color: #007800;">keys_zone</span>=cache_one:200m <span style="color: #007800;">inactive</span>=1d <span style="color: #007800;">max_size</span>=30g;<br />
<br />
upstream backend_server <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
server   192.168.8.43:<span style="color: #000000;">80</span> <span style="color: #007800;">weight</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">max_fails</span>=<span style="color: #000000;">2</span> <span style="color: #007800;">fail_timeout</span>=30s;<br />
server   192.168.8.44:<span style="color: #000000;">80</span> <span style="color: #007800;">weight</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">max_fails</span>=<span style="color: #000000;">2</span> <span style="color: #007800;">fail_timeout</span>=30s;<br />
server   192.168.8.45:<span style="color: #000000;">80</span> <span style="color: #007800;">weight</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">max_fails</span>=<span style="color: #000000;">2</span> <span style="color: #007800;">fail_timeout</span>=30s;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
server<br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
listen       <span style="color: #000000;">80</span>;<br />
server_name  <span style="color: #000000; font-weight: bold;">*</span>.yourdomain.com;<br />
index index.html index.htm;<br />
root  <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #000000; font-weight: bold;">/</span>www;<br />
<br />
location <span style="color: #000000; font-weight: bold;">/</span><br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">#如果后端的服务器返回502、504、执行超时等错误，自动将请求转发到upstream负载均衡池中的另一台服务器，实现故障转移。</span><br />
proxy_next_upstream http_502 http_504 error timeout invalid_header;<br />
proxy_cache cache_one;<br />
<span style="color: #666666; font-style: italic;">#对不同的HTTP状态码设置不同的缓存时间</span><br />
proxy_cache_valid  <span style="color: #000000;">200</span> <span style="color: #000000;">304</span> 12h;<br />
<span style="color: #666666; font-style: italic;">#以域名、URI、参数组合成Web缓存的Key值，Nginx根据Key值哈希，存储缓存内容到二级缓存目录内</span><br />
proxy_cache_key <span style="color: #007800;">$host</span><span style="color: #007800;">$uri</span><span style="color: #007800;">$is_args</span><span style="color: #007800;">$args</span>;<br />
proxy_set_header Host  <span style="color: #007800;">$host</span>;<br />
proxy_set_header X-Forwarded-For  <span style="color: #007800;">$remote_addr</span>;<br />
proxy_pass http:<span style="color: #000000; font-weight: bold;">//</span>backend_server;<br />
expires      1d;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
<span style="color: #666666; font-style: italic;">#扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。</span><br />
location ~ .<span style="color: #000000; font-weight: bold;">*</span>\.<span style="color: #7a0874; font-weight: bold;">&#40;</span>php<span style="color: #000000; font-weight: bold;">|</span>jsp<span style="color: #000000; font-weight: bold;">|</span>cgi<span style="color: #7a0874; font-weight: bold;">&#41;</span>?$<br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
proxy_set_header Host  <span style="color: #007800;">$host</span>;<br />
proxy_set_header X-Forwarded-For  <span style="color: #007800;">$remote_addr</span>;<br />
proxy_pass http:<span style="color: #000000; font-weight: bold;">//</span>backend_server;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
access_log  off;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>3. 接下来启动nginx吧</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>nginx</div></td></tr></tbody></table></div>
<p><strong>4. 能否将缓存按照域名分文件夹存放？</strong><br />
由于我们的运营的是一个网站集群，所以子站是通过域名泛解析解析到本机的，所以希望能否按照域名存放，便于整站清理缓存。比如：a.youdomain.com/a/b3/&#8230;. ,b.youdomain.com/b/ae/&#8230;.,这样的目录结构。但是研究了很久nginx配置方式，并没有发现相关的设置。于是想到自己来改写nginx源代码，涉及到的文件是src/http/ngx_http_file_cache.c文件。<br />
以下函数的改写是基于 nginx0.8.55的。<br />
ngx_http_file_cache_name函数改写如下：</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333;">static</span> ngx_int_t<br />
ngx_http_file_cache_name<span style="color: #009900;">&#40;</span>ngx_http_request_t <span style="color: #339933;">*</span>r<span style="color: #339933;">,</span> ngx_path_t <span style="color: #339933;">*</span>path<span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; u_char &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #339933;">*</span>p<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; ngx_http_cache_t &nbsp;<span style="color: #339933;">*</span>c<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #993333;">size_t</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pathlen<span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; c <span style="color: #339933;">=</span> r<span style="color: #339933;">-&gt;</span>cache<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//added by Lingter</span><br />
&nbsp; &nbsp; pathlen <span style="color: #339933;">=</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; ngx_http_file_cache_domain<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>path<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">len</span> <span style="color: #339933;">=</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #339933;">+</span> path<span style="color: #339933;">-&gt;</span>len<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #339933;">+</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">*</span> NGX_HTTP_CACHE_KEY_LEN<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">data</span> <span style="color: #339933;">=</span> ngx_pnalloc<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">-&gt;</span>pool<span style="color: #339933;">,</span> c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">len</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">data</span> <span style="color: #339933;">==</span> NULL<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> NGX_ERROR<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; ngx_memcpy<span style="color: #009900;">&#40;</span>c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">data</span><span style="color: #339933;">,</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">data</span><span style="color: #339933;">,</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; p <span style="color: #339933;">=</span> c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">data</span> <span style="color: #339933;">+</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #339933;">+</span> path<span style="color: #339933;">-&gt;</span>len<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; p <span style="color: #339933;">=</span> ngx_hex_dump<span style="color: #009900;">&#40;</span>p<span style="color: #339933;">,</span> c<span style="color: #339933;">-&gt;</span>key<span style="color: #339933;">,</span> NGX_HTTP_CACHE_KEY_LEN<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #339933;">*</span>p <span style="color: #339933;">=</span> <span style="color: #ff0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; ngx_create_hashed_filename<span style="color: #009900;">&#40;</span>path<span style="color: #339933;">,</span> c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">data</span><span style="color: #339933;">,</span> c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">len</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; ngx_log_debug1<span style="color: #009900;">&#40;</span>NGX_LOG_DEBUG_HTTP<span style="color: #339933;">,</span> r<span style="color: #339933;">-&gt;</span>connection<span style="color: #339933;">-&gt;</span><a href="http://www.opengroup.org/onlinepubs/009695399/functions/log.html"><span style="color: #000066;">log</span></a><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #ff0000;">&quot;cache file: <span style="color: #000099; font-weight: bold;">\&quot;</span>%s<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">,</span> c<span style="color: #339933;">-&gt;</span>file.<span style="color: #202020;">name</span>.<span style="color: #202020;">data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span> <span style="color: #339933;">=</span> pathlen<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> NGX_OK<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>上一段代码中加入了一个新的函数ngx_http_file_cache_domain的调用。<br />
先申明一下函数定义：</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333;">static</span> ngx_int_t ngx_http_file_cache_domain<span style="color: #009900;">&#40;</span>ngx_http_request_t <span style="color: #339933;">*</span>r<span style="color: #339933;">,</span><br />
ngx_path_t <span style="color: #339933;">*</span>path<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>具体函数内容：</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//added by Lingter</span><br />
<span style="color: #993333;">static</span> ngx_int_t ngx_http_file_cache_domain<span style="color: #009900;">&#40;</span>ngx_http_request_t <span style="color: #339933;">*</span>r<span style="color: #339933;">,</span>ngx_path_t <span style="color: #339933;">*</span>path<span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; ngx_http_cache_t &nbsp; &nbsp;<span style="color: #339933;">*</span>c<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; u_char &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #339933;">*</span>pathname<span style="color: #339933;">,*</span>pos<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #993333;">size_t</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; ngx_str_t &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">*</span>key<span style="color: #339933;">,</span>domain<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; c <span style="color: #339933;">=</span> r<span style="color: #339933;">-&gt;</span>cache<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; key <span style="color: #339933;">=</span> c<span style="color: #339933;">-&gt;</span>keys.<span style="color: #202020;">elts</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; domain.<span style="color: #202020;">len</span> &nbsp;<span style="color: #339933;">=</span> key<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #202020;">len</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; domain.<span style="color: #202020;">data</span> <span style="color: #339933;">=</span> ngx_pstrdup<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">-&gt;</span>pool<span style="color: #339933;">,&amp;</span> key<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; pos <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>u_char <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> ngx_strchr<span style="color: #009900;">&#40;</span>domain.<span style="color: #202020;">data</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>pos<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">*</span>pos <span style="color: #339933;">=</span> <span style="color: #ff0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; domain.<span style="color: #202020;">len</span> <span style="color: #339933;">=</span> ngx_strlen<span style="color: #009900;">&#40;</span>domain.<span style="color: #202020;">data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; pathname <span style="color: #339933;">=</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">data</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; i <span style="color: #339933;">=</span> path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span><span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pathname<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'/'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ngx_memcpy<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>pathname<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>domain.<span style="color: #202020;">data</span><span style="color: #339933;">,</span>domain.<span style="color: #202020;">len</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; path<span style="color: #339933;">-&gt;</span>name.<span style="color: #202020;">len</span> <span style="color: #339933;">=</span> i <span style="color: #339933;">+</span> domain.<span style="color: #202020;">len</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> NGX_OK<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>实际上上面的代码仅仅是找出key中的第一个出现字符&#8217;/'的地方，并且将/前的字符串作为域名拼接到缓存路径里去。<br />
由于本人不会C语言，所以写得比较粗糙，但是基本实现了这一需求。</p>
<p>看看最终的成果吧：</p>
<p><a href="http://blog.meiu.cn/wp-content/uploads/2011/08/mulu.jpg"><img class="aligncenter size-full wp-image-495" title="mulu" src="http://blog.meiu.cn/wp-content/uploads/2011/08/mulu.jpg" alt="" width="575" height="137" /></a></p>
<p>附上完整的 ngx_http_file_cache.c文件吧：<a href="http://blog.meiu.cn/wp-content/uploads/2011/08/ngx_http_file_cache.c">ngx_http_file_cache.c</a></p>
<p><span style="color: #ff6600;">原创文章，转载请注明出处！！！</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/nginx-proxy_cache.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>吉卜力《虞美人盛开的山坡》主题曲</title>
		<link>http://blog.meiu.cn/ghibli-ymrskdsp.html</link>
		<comments>http://blog.meiu.cn/ghibli-ymrskdsp.html#comments</comments>
		<pubDate>Thu, 07 Jul 2011 03:55:54 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[生活日记]]></category>
		<category><![CDATA[动漫]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=488</guid>
		<description><![CDATA[<p>继去年吉卜力推出《借东西的小人阿莉埃蒂》后，今年又一力作《虞美人盛开的山坡》。<br /> 由日本动漫大师宫崎骏的儿子宫崎吾朗执导、宫崎骏本人担当企划和剧本的吉卜力最新力作《虞美人盛开的山坡》，将于近日在日本公映。很期待这部作品啊，希望这次宫崎吾朗不会让我们失望。</p> <p><a href="http://blog.meiu.cn/wp-content/uploads/2011/07/2011511155224.jpg"></a>附上主题曲：<br /> 主题曲同样由演唱《地海传奇－特露之歌》的手嶌葵演唱。</p> <p>[音频片段: 在完整模式下方可收听]</p> <p>歌词：</p> <p>「さよならの夏 ～コクリコ坂から～」</p> <p>光る海に　かすむ船は〖闪光的海面 模糊的船影〗<br /> さよならの汽笛　のこします〖残留下再见的汽笛声〗<br /> ゆるい坂を　おりてゆけば〖倘若走下空旷的坡道〗<br /> 夏色の风に　あえるかしら〖是否能在夏色的风中相见〗<br /> わたしの爱　それはメロディー〖我的爱 是旋律〗<br /> たかく　ひくく　歌うの〖高亢低沉的歌唱着〗<br /> わたしの爱　それはカモメ〖我的爱 是海鸥〗<br /> たかく　ひくく　飞ぶの〖高旋低盘的飞翔着〗<br /> 夕阳のなか　呼んでみたら〖倘若在夕阳中试着呼唤〗<br /> やさしいあなたに　逢えるかしら〖能否邂逅温柔的你〗<br /> だれかが弾く　ピアノの音〖谁在弹奏 钢琴的声音〗<br /> 海鸣りみたいに　きこえます〖听见了仿似海浪的声音〗<br /> おそい午后を　往き交うひと〖交往中的人在来迟的午后〗<br /> 夏色の梦を　はこぶかしら〖夏色的梦能否进展顺利〗<br /> わたしの爱　それはダイアリー〖我的爱 是日记〗<br /> 日々のページ　つづるの〖逐渐填满每日的空页〗<br /> わたしの爱　それは小舟〖我的爱 是小船〗<br /> 空の海をゆくの〖前行在天空之海〗<br /> 夕阳のなか　降り返れば〖倘若回归于夕阳之中〗<br [...]]]></description>
			<content:encoded><![CDATA[<p>继去年吉卜力推出《借东西的小人阿莉埃蒂》后，今年又一力作《虞美人盛开的山坡》。<br />
由日本动漫大师宫崎骏的儿子宫崎吾朗执导、宫崎骏本人担当企划和剧本的吉卜力最新力作《虞美人盛开的山坡》，将于近日在日本公映。很期待这部作品啊，希望这次宫崎吾朗不会让我们失望。</p>
<p><a href="http://blog.meiu.cn/wp-content/uploads/2011/07/2011511155224.jpg"><img class="aligncenter size-full wp-image-489" title="虞美人盛开的山坡" src="http://blog.meiu.cn/wp-content/uploads/2011/07/2011511155224.jpg" alt="虞美人盛开的山坡剧照" width="250" height="350" /></a>附上主题曲：<br />
主题曲同样由演唱《地海传奇－特露之歌》的手嶌葵演唱。</p>
<p>[音频片段: 在完整模式下方可收听]</p>
<p><span id="more-488"></span>歌词：</p>
<p>「さよならの夏 ～コクリコ坂から～」</p>
<p>光る海に　かすむ船は〖闪光的海面 模糊的船影〗<br />
さよならの汽笛　のこします〖残留下再见的汽笛声〗<br />
ゆるい坂を　おりてゆけば〖倘若走下空旷的坡道〗<br />
夏色の风に　あえるかしら〖是否能在夏色的风中相见〗<br />
わたしの爱　それはメロディー〖我的爱 是旋律〗<br />
たかく　ひくく　歌うの〖高亢低沉的歌唱着〗<br />
わたしの爱　それはカモメ〖我的爱 是海鸥〗<br />
たかく　ひくく　飞ぶの〖高旋低盘的飞翔着〗<br />
夕阳のなか　呼んでみたら〖倘若在夕阳中试着呼唤〗<br />
やさしいあなたに　逢えるかしら〖能否邂逅温柔的你〗<br />
だれかが弾く　ピアノの音〖谁在弹奏 钢琴的声音〗<br />
海鸣りみたいに　きこえます〖听见了仿似海浪的声音〗<br />
おそい午后を　往き交うひと〖交往中的人在来迟的午后〗<br />
夏色の梦を　はこぶかしら〖夏色的梦能否进展顺利〗<br />
わたしの爱　それはダイアリー〖我的爱 是日记〗<br />
日々のページ　つづるの〖逐渐填满每日的空页〗<br />
わたしの爱　それは小舟〖我的爱 是小船〗<br />
空の海をゆくの〖前行在天空之海〗<br />
夕阳のなか　降り返れば〖倘若回归于夕阳之中〗<br />
あなたはわたしを　探すかしら〖你是否会找寻着我〗<br />
散歩道に　ゆれる木々は〖摇曳在散步路的枝叶〗<br />
さよならの影を　おとします〖丢下了再见的树影〗<br />
古いチャペル　风见の鶏(とり)〖古旧的教堂 转着的风标鸡〗<br />
夏色の街は　みえるかしら〖能否看见夏色的街〗<br />
きのうの爱　それは涙〖昨日的爱 是眼泪〗<br />
やがて　かわき　消えるの〖终于干涸消失〗<br />
あしたの爱　それはルフラン〖你的爱 是refrain〗<br />
おわりのない言叶〖还没结束的话语〗<br />
夕阳のなか　めぐり逢えば〖若在夕阳中辗转回响〗<br />
あなたはわたしを　抱くかしら〖你能否将我抱紧〗<br />
-エンド-</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/ghibli-ymrskdsp.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://blog.meiu.cn/wp-content/uploads/2011/07/ymrskdsp.mp3" length="5196298" type="audio/mpeg" />
		</item>
		<item>
		<title>MeiuPic 2.0 r216 发布</title>
		<link>http://blog.meiu.cn/meiupic-2-0-r216.html</link>
		<comments>http://blog.meiu.cn/meiupic-2-0-r216.html#comments</comments>
		<pubDate>Tue, 21 Jun 2011 08:03:12 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>
		<category><![CDATA[补丁包]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=483</guid>
		<description><![CDATA[<p>适用版本：所有2.0版本</p> <p>该补丁包解决了以下问题：</p> UI界面的几处bug 自定义Logo功能 <p>补丁包下载：http://www.meiu.cn/files/meiupic_2.0_to_r216.zip</p> <p>你也可以下载r216完整版本：http://www.meiu.cn/files/meiupic_2.0_r216.zip</p>]]></description>
			<content:encoded><![CDATA[<p>适用版本：所有2.0版本</p>
<p>该补丁包解决了以下问题：</p>
<ul>
<li>UI界面的几处bug</li>
<li>自定义Logo功能</li>
</ul>
<p>补丁包下载：http://www.meiu.cn/files/meiupic_2.0_to_r216.zip</p>
<p>你也可以下载r216完整版本：http://www.meiu.cn/files/meiupic_2.0_r216.zip</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-2-0-r216.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>MeiuPic 2.0 第三个补丁包发布 r214</title>
		<link>http://blog.meiu.cn/meiupic-2-0-r214.html</link>
		<comments>http://blog.meiu.cn/meiupic-2-0-r214.html#comments</comments>
		<pubDate>Thu, 16 Jun 2011 10:54:10 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>
		<category><![CDATA[补丁包]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=471</guid>
		<description><![CDATA[<p>适用版本：所有2.0版本</p> <p>该补丁包解决了以下问题：</p> 加入评论管理 优化管理员评论 修复chrome下详情页的bug 加入重计统计功能 加入检查更新功能 保存水印设置的bug Feed中的一个bug：默认取了所有图片，现在改为50张。 <p>补丁包下载：<a href="http://www.meiu.cn/files/meiupic_2.0_to_r214.zip">http://www.meiu.cn/files/meiupic_2.0_to_r214.zip</a></p> <p>你也可以下载r214完整版本：<a href="http://www.meiu.cn/files/meiupic_2.0_r214.zip">http://www.meiu.cn/files/meiupic_2.0_r214.zip</a></p>]]></description>
			<content:encoded><![CDATA[<p>适用版本：所有2.0版本</p>
<p>该补丁包解决了以下问题：</p>
<ul>
<li> 加入评论管理</li>
<li>优化管理员评论</li>
<li>修复chrome下详情页的bug</li>
<li>加入重计统计功能</li>
<li>加入检查更新功能</li>
<li>保存水印设置的bug</li>
<li>Feed中的一个bug：默认取了所有图片，现在改为50张。</li>
</ul>
<p>补丁包下载：<a href="http://www.meiu.cn/files/meiupic_2.0_to_r214.zip">http://www.meiu.cn/files/meiupic_2.0_to_r214.zip</a></p>
<p>你也可以下载r214完整版本：<a href="http://www.meiu.cn/files/meiupic_2.0_r214.zip">http://www.meiu.cn/files/meiupic_2.0_r214.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-2-0-r214.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MeiuPic 2.0 第二个补丁包发布 r194-r202</title>
		<link>http://blog.meiu.cn/meiupic-2-0-r194-r202.html</link>
		<comments>http://blog.meiu.cn/meiupic-2-0-r194-r202.html#comments</comments>
		<pubDate>Mon, 06 Jun 2011 17:29:51 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>
		<category><![CDATA[补丁包]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=465</guid>
		<description><![CDATA[<p>该补丁包解决了以下问题：</p> 水印图片上传的bug 修复一个插件的bug 照片浏览页，加入loading提示 上传的照片名取消后缀部分 完善对php4的支持 <p>补丁包下载：<a href="http://www.meiu.cn/files/patch194-202.zip">http://www.meiu.cn/files/patch194-202.zip</a></p> <p>你也可以下载r202完整版本：<a href="http://www.meiu.cn/files/meiupic_2.0_r202.zip">http://www.meiu.cn/files/meiupic_2.0_r202.zip</a></p>]]></description>
			<content:encoded><![CDATA[<p>该补丁包解决了以下问题：</p>
<ul>
<li> 水印图片上传的bug</li>
<li> 修复一个插件的bug</li>
<li> 照片浏览页，加入loading提示</li>
<li> 上传的照片名取消后缀部分</li>
<li> 完善对php4的支持</li>
</ul>
<p>补丁包下载：<a href="http://www.meiu.cn/files/patch194-202.zip">http://www.meiu.cn/files/patch194-202.zip</a></p>
<p>你也可以下载r202完整版本：<a href="http://www.meiu.cn/files/meiupic_2.0_r202.zip">http://www.meiu.cn/files/meiupic_2.0_r202.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-2-0-r194-r202.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MeiuPic 1.1 至 2.0 的升级包提供下载</title>
		<link>http://blog.meiu.cn/meiupic-1-1-to-2-0-updat.html</link>
		<comments>http://blog.meiu.cn/meiupic-1-1-to-2-0-updat.html#comments</comments>
		<pubDate>Sat, 04 Jun 2011 07:32:13 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>
		<category><![CDATA[升级包]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=461</guid>
		<description><![CDATA[<p>各位使用MeiuPic 1.1的朋友们！现在可以从MeiuPic 1.1升级到2.0了，支持1.0版直接升级。</p> <p>升级方法：</p> <p><a href="http://forum.meiu.cn/thread-45-1-1.html">http://forum.meiu.cn/thread-45-1-1.html</a></p>]]></description>
			<content:encoded><![CDATA[<p>各位使用MeiuPic 1.1的朋友们！现在可以从MeiuPic 1.1升级到2.0了，支持1.0版直接升级。</p>
<p>升级方法：</p>
<p><a href="http://forum.meiu.cn/thread-45-1-1.html">http://forum.meiu.cn/thread-45-1-1.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-1-1-to-2-0-updat.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MeiuPic 补丁包r194-r196发布</title>
		<link>http://blog.meiu.cn/meiupic-r194-r196.html</link>
		<comments>http://blog.meiu.cn/meiupic-r194-r196.html#comments</comments>
		<pubDate>Mon, 30 May 2011 08:33:50 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>
		<category><![CDATA[补丁包]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=457</guid>
		<description><![CDATA[解决部分用户无法应用中文语言包的问题。 解决由于未安装Json扩展，导致无法正常使用的问题。 尝试性解决，无法保存设置的问题。 <p>补丁包下载：<a href="http://www.meiu.cn/files/patch194-196.zip">http://www.meiu.cn/files/patch194-196.zip</a></p> <p>你也可以下载r196完整版本：<a href="http://www.meiu.cn/files/meiupic_2.0_r196.zip">http://www.meiu.cn/files/meiupic_2.0_r196.zip</a></p>]]></description>
			<content:encoded><![CDATA[<ul>
<li>解决部分用户无法应用中文语言包的问题。</li>
<li>解决由于未安装Json扩展，导致无法正常使用的问题。</li>
<li>尝试性解决，无法保存设置的问题。</li>
</ul>
<p>补丁包下载：<a href="http://www.meiu.cn/files/patch194-196.zip">http://www.meiu.cn/files/patch194-196.zip</a></p>
<p>你也可以下载r196完整版本：<a href="http://www.meiu.cn/files/meiupic_2.0_r196.zip">http://www.meiu.cn/files/meiupic_2.0_r196.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-r194-r196.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MeiuPic 2.0的bug反馈请看这里</title>
		<link>http://blog.meiu.cn/meiupic-2-0-bug.html</link>
		<comments>http://blog.meiu.cn/meiupic-2-0-bug.html#comments</comments>
		<pubDate>Sun, 29 May 2011 17:09:20 +0000</pubDate>
		<dc:creator>baoling</dc:creator>
				<category><![CDATA[MeiuPic]]></category>

		<guid isPermaLink="false">http://blog.meiu.cn/?p=451</guid>
		<description><![CDATA[<p>由于这次发布并未测试所有环境，如果遇到安装问题，或无法登陆，或无法安装的情况。</p> <p>请反馈到论坛中&#8230;..</p> <p>安装问题请反馈到此处：<a href="http://forum.meiu.cn/forum-2-1.html">http://forum.meiu.cn/forum-2-1.html</a></p> <p>其他bug：<a href="http://forum.meiu.cn/forum-5-1.html">http://forum.meiu.cn/forum-5-1.html</a></p> <p>谢谢合作！</p>]]></description>
			<content:encoded><![CDATA[<p>由于这次发布并未测试所有环境，如果遇到安装问题，或无法登陆，或无法安装的情况。</p>
<p>请反馈到论坛中&#8230;..</p>
<p>安装问题请反馈到此处：<a href="http://forum.meiu.cn/forum-2-1.html">http://forum.meiu.cn/forum-2-1.html</a></p>
<p>其他bug：<a href="http://forum.meiu.cn/forum-5-1.html">http://forum.meiu.cn/forum-5-1.html</a></p>
<p>谢谢合作！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meiu.cn/meiupic-2-0-bug.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

