<?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>&#22823;&#34430;&#30340;&#23398;&#20064;&#31354;&#38388;</title>
	<atom:link href="http://blog.fabrichina.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.fabrichina.net</link>
	<description>PHP SEO &#30005;&#23376;&#21830;&#21153;&#26550;&#26500;</description>
	<lastBuildDate>Mon, 16 Jan 2012 09:32:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>safari网站全屏</title>
		<link>http://blog.fabrichina.net/archives/673</link>
		<comments>http://blog.fabrichina.net/archives/673#comments</comments>
		<pubDate>Mon, 16 Jan 2012 09:16:19 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=673</guid>
		<description><![CDATA[用户需要在Safari手动将网站添加到主屏幕后才能够实现网站全屏。具体方式是在里面添加如下内容： 您可能已经知道这-但你可以摆脱地址栏 with:document.body.onload = function(){setTimeout(&#8220;window.scrollTo(0,1);&#8221;,100) ；} ； 要创建一个本机应用程序更的假象，你可以禁用滚动：document.body.ontouchmove =功能（E）{e.preventDefault ();};]]></description>
			<content:encoded><![CDATA[<p>用户需要在Safari手动将网站添加到主屏幕后才能够实现网站全屏。具体方式是在<head>里面添加如下内容：</p>
<p><meta name="apple-mobile-web-app-capable" content="yes" /></p>
<p>您可能已经知道这-但你可以摆脱地址栏 with:document.body.onload = function(){setTimeout(&#8220;window.scrollTo(0,1);&#8221;,100) ；} ；</p>
<p>要创建一个本机应用程序更的假象，你可以禁用滚动：document.body.ontouchmove =功能（E）{e.preventDefault ();};</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/673/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx的一个安装脚本</title>
		<link>http://blog.fabrichina.net/archives/670</link>
		<comments>http://blog.fabrichina.net/archives/670#comments</comments>
		<pubDate>Fri, 13 Jan 2012 06:15:55 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=670</guid>
		<description><![CDATA[yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers ldconfig /usr/sbin/groupadd web /usr/sbin/useradd -g web web mkdir soft cd soft wget http://www.nginx.org/download/nginx-1.1.7.tar.gz tar -zxvf nginx-1.1.7.tar.gz [...]]]></description>
			<content:encoded><![CDATA[<p>yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers<br />
ldconfig<br />
/usr/sbin/groupadd web<br />
/usr/sbin/useradd -g web web<br />
mkdir soft<br />
cd soft<br />
wget http://www.nginx.org/download/nginx-1.1.7.tar.gz<br />
tar -zxvf nginx-1.1.7.tar.gz<br />
wget http://wiki.nginx.org/images/7/78/Ngx_http_log_request_speed.tar.gz<br />
wget https://nodeload.github.com/giom/nginx_accept_language_module/tarball/master &#8211;no-check-certificate -O nginx_accept_language_module.tar.gz<br />
cd nginx-1.1.7<br />
cd contrib<br />
wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip<br />
perl geo2nginx.pl < GeoIPCountryCSV.zip >geo.conf<br />
cd ..<br />
tar -zxvf ../Ngx_http_log_request_speed.tar.gz<br />
tar -zxvf ../nginx_accept_language_module.tar.gz<br />
sed -i -e &#8216;s/&#8221;nginx/&#8221;mws/g&#8217; -e &#8216;s/1\./2\./g&#8217; -e &#8216;s/&#8221;NGINX/&#8221;MWS/g&#8217; src/core/nginx.h<br />
./configure &#8211;prefix=/usr/local/nginx/ &#8211;with-http_stub_status_module &#8211;with-http_ssl_module &#8211;with-http_realip_module &#8211;add-module=ngx_http_log_request_speed  &#8211;add-module=ngx_http_set_lang<br />
make &#038;&#038; make install</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/670/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascript解析lyric文件</title>
		<link>http://blog.fabrichina.net/archives/668</link>
		<comments>http://blog.fabrichina.net/archives/668#comments</comments>
		<pubDate>Mon, 19 Dec 2011 07:26:32 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=668</guid>
		<description><![CDATA[http://directguo.com/code/lrc/]]></description>
			<content:encoded><![CDATA[<p>http://directguo.com/code/lrc/</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/668/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>solr tomcat utf8搜索乱码</title>
		<link>http://blog.fabrichina.net/archives/664</link>
		<comments>http://blog.fabrichina.net/archives/664#comments</comments>
		<pubDate>Sat, 17 Dec 2011 05:07:31 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=664</guid>
		<description><![CDATA[加了URIEncoding=&#8221;UTF-8&#8243; 就好了。。]]></description>
			<content:encoded><![CDATA[<p> <Connector port="8080" protocol="HTTP/1.1"<br />
               connectionTimeout="20000"<br />
               redirectPort="8443" URIEncoding="UTF-8" /></p>
<p>加了URIEncoding=&#8221;UTF-8&#8243;  就好了。。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/664/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Segmentation fault php debug</title>
		<link>http://blog.fabrichina.net/archives/660</link>
		<comments>http://blog.fabrichina.net/archives/660#comments</comments>
		<pubDate>Fri, 09 Dec 2011 05:49:59 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=660</guid>
		<description><![CDATA[调试个脚本程序，总是报这个，烦死我了 echo core > /proc/sys/kernel/core_pattern ulimit -c unlimited 继续执行脚本 Segmentation fault (core dumped) 找到core文件 gdb /usr/local/php/bin/php core.1725 Program terminated with signal 11, Segmentation fault. #0 0x000000000070bcd2 in gc_zval_possible_root (zv=0xfb0cec0) at /root/install/php-5.3.8/Zend/zend_gc.c:143 143 GC_ZOBJ_CHECK_POSSIBLE_ROOT(zv); 大体知道怎么回事。。]]></description>
			<content:encoded><![CDATA[<p>调试个脚本程序，总是报这个，烦死我了<br />
echo core > /proc/sys/kernel/core_pattern<br />
ulimit -c unlimited</p>
<p>继续执行脚本<br />
Segmentation fault (core dumped)</p>
<p>找到core文件<br />
gdb /usr/local/php/bin/php core.1725 </p>
<p>Program terminated with signal 11, Segmentation fault.<br />
#0  0x000000000070bcd2 in gc_zval_possible_root (zv=0xfb0cec0) at /root/install/php-5.3.8/Zend/zend_gc.c:143<br />
143                     GC_ZOBJ_CHECK_POSSIBLE_ROOT(zv);</p>
<p>大体知道怎么回事。。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/660/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>org.apache.solr.common.SolrException: Error loading class &#8216;solr.VelocityResponseWriter&#8217; at org.apache.solr.core.SolrResourceLoader.findClass</title>
		<link>http://blog.fabrichina.net/archives/655</link>
		<comments>http://blog.fabrichina.net/archives/655#comments</comments>
		<pubDate>Tue, 06 Dec 2011 09:29:40 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=655</guid>
		<description><![CDATA[solr 3.1 安装 多个core的时候由于在example里面加了一级目录，所以全部报错！ org.apache.solr.common.SolrException: Error loading class &#8216;solr.VelocityResponseWriter&#8217; at org.apache.solr.core.SolrResourceLoader.findClass 在core0/conf/solrconfig.xml里面 前面要多加一层../ 加完了还是不好用，我干脆给他disable吧。。 关了这个，最后好了。。nnd..]]></description>
			<content:encoded><![CDATA[<p>solr 3.1 安装 多个core的时候由于在example里面加了一级目录，所以全部报错！<br />
org.apache.solr.common.SolrException: Error loading class &#8216;solr.VelocityResponseWriter&#8217; at org.apache.solr.core.SolrResourceLoader.findClass</p>
<p>在core0/conf/solrconfig.xml里面</p>
<lib dir="../../../contrib/extraction/lib" />
<lib dir="../../../contrib/clustering/lib/" />
<lib dir="../../../contrib/velocity/lib" />
<p>  <!-- When a regex is specified in addition to a directory, only the<br />
       files in that directory which completely match the regex<br />
       (anchored on both ends) will be included.<br />
    --></p>
<lib dir="../../../dist/" regex="apache-solr-cell-\d.*\.jar" />
<lib dir="../../../dist/" regex="apache-solr-clustering-\d.*\.jar" />
<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
<lib dir="../../../dist/" regex="apache-solr-langid-\d.*\.jar" />
<lib dir="../../../dist/" regex="apache-solr-velocity-\d.*\.jar" />
<p>前面要多加一层../<br />
加完了还是不好用，我干脆给他disable吧。。<br />
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="${solr.velocity.enabled:false}"/><br />
关了这个，最后好了。。nnd..</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/655/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mmseg4j solr 3.1安装</title>
		<link>http://blog.fabrichina.net/archives/649</link>
		<comments>http://blog.fabrichina.net/archives/649#comments</comments>
		<pubDate>Tue, 06 Dec 2011 05:34:42 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=649</guid>
		<description><![CDATA[http://code.google.com/p/mmseg4j/ 下载最新版本 unzip 到mm目录 cp data /usr/local/solr/example/solr/data cp dist /usr/local/solr/example/dist cp mmseg4j-all-1.8.5.jar /usr/local/tomcat/webapp/solr/lib/ 可能需要mkdir lib这个目录 SEVERE: org.apache.solr.common.SolrException: Error loading class &#8216;com.chenlb.mmseg4j.solr.MMSegTokenizerFactory&#8217; 应该是lib放错了位置 放到solr_home中就好了 放到/usr/local/solr/example/solr/lib(lib要建立） 然后重启，就好了]]></description>
			<content:encoded><![CDATA[<p>http://code.google.com/p/mmseg4j/</p>
<p>下载最新版本<br />
unzip 到mm目录<br />
cp data /usr/local/solr/example/solr/data<br />
cp dist /usr/local/solr/example/dist<br />
cp mmseg4j-all-1.8.5.jar /usr/local/tomcat/webapp/solr/lib/<br />
可能需要mkdir lib这个目录<br />
SEVERE: org.apache.solr.common.SolrException: Error loading class &#8216;com.chenlb.mmseg4j.solr.MMSegTokenizerFactory&#8217;</p>
<p>应该是lib放错了位置<br />
放到solr_home中就好了<br />
放到/usr/local/solr/example/solr/lib(lib要建立）<br />
然后重启，就好了<br />
<img src="http://blog.fabrichina.net/wp-content/uploads/2011/12/vv.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/649/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rz sz 安装</title>
		<link>http://blog.fabrichina.net/archives/647</link>
		<comments>http://blog.fabrichina.net/archives/647#comments</comments>
		<pubDate>Wed, 30 Nov 2011 05:42:42 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=647</guid>
		<description><![CDATA[http://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz http://ohse.de/uwe/software/lrzsz.html 这东西装完以后指令是lrz lsz&#8230;.]]></description>
			<content:encoded><![CDATA[<p>http://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz</p>
<p>http://ohse.de/uwe/software/lrzsz.html</p>
<p>这东西装完以后指令是lrz lsz&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/647/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>给入array(数组)搜寻键值，将其unset</title>
		<link>http://blog.fabrichina.net/archives/643</link>
		<comments>http://blog.fabrichina.net/archives/643#comments</comments>
		<pubDate>Tue, 29 Nov 2011 10:25:16 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=643</guid>
		<description><![CDATA[//给入DATA搜寻键值，将其unset //数据 , 查找的键值 , 最大搜索深度 function clearByKey(&#038;$data,$keyName,$maxSearch) { $maxSearch--; if ($maxSearch < 0) return; foreach ( $data as $key => &#038;$val ) { if ( $key == $keyName ) { unset ($data[$key]); } elseif ( is_array ($val) ) { clearByKey($val,$keyName,$maxSearch); } } }]]></description>
			<content:encoded><![CDATA[<pre>
//给入DATA搜寻键值，将其unset
//数据 , 查找的键值 , 最大搜索深度</code>
function clearByKey(&#038;$data,$keyName,$maxSearch) {
        $maxSearch--;
        if ($maxSearch < 0) return;
        foreach ( $data as $key => &#038;$val ) {
                        if ( $key == $keyName ) {
                                unset ($data[$key]);
                        }
                        elseif ( is_array ($val) ) {
                                clearByKey($val,$keyName,$maxSearch);
                        }
        }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/643/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php redis的一个client</title>
		<link>http://blog.fabrichina.net/archives/641</link>
		<comments>http://blog.fabrichina.net/archives/641#comments</comments>
		<pubDate>Thu, 24 Nov 2011 09:01:28 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=641</guid>
		<description><![CDATA[https://github.com/nicolasff/phpredis]]></description>
			<content:encoded><![CDATA[<p>https://github.com/nicolasff/phpredis</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/641/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php.ini不能被识别</title>
		<link>http://blog.fabrichina.net/archives/635</link>
		<comments>http://blog.fabrichina.net/archives/635#comments</comments>
		<pubDate>Thu, 24 Nov 2011 02:53:53 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=635</guid>
		<description><![CDATA[phpinfo()里面打出的php.ini路径下有php.ini但是load里面是空 查看php-fpm的用户，chown php.ini用户 chmod php.ini 重启php-fpm 搞定。。 这个问题很奇怪，改完了以后，还是有的时候好有的时候坏了，头疼 php指令行上，可以使用php -c /usr/local/etc/php.ini 来代替之前的php指令 我还修改了/usr/bin/php-fpm (或者你的启动脚本在service里面） php_opts=&#8221;&#8211;fpm-config $php_fpm_CONF -c /usr/local/etc/php.ini&#8221;]]></description>
			<content:encoded><![CDATA[<p>phpinfo()里面打出的php.ini路径下有php.ini但是load里面是空<br />
查看php-fpm的用户，chown php.ini用户 chmod php.ini 重启php-fpm 搞定。。</p>
<p>这个问题很奇怪，改完了以后，还是有的时候好有的时候坏了，头疼</p>
<p>php指令行上，可以使用php -c /usr/local/etc/php.ini 来代替之前的php指令<br />
我还修改了/usr/bin/php-fpm (或者你的启动脚本在service里面） </p>
<p>php_opts=&#8221;&#8211;fpm-config $php_fpm_CONF -c /usr/local/etc/php.ini&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/635/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vps主机</title>
		<link>http://blog.fabrichina.net/archives/633</link>
		<comments>http://blog.fabrichina.net/archives/633#comments</comments>
		<pubDate>Mon, 21 Nov 2011 08:54:21 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=633</guid>
		<description><![CDATA[Linode.com]]></description>
			<content:encoded><![CDATA[<p>Linode.com </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/633/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>仿ga的一个php开源代码</title>
		<link>http://blog.fabrichina.net/archives/630</link>
		<comments>http://blog.fabrichina.net/archives/630#comments</comments>
		<pubDate>Mon, 21 Nov 2011 08:17:42 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=630</guid>
		<description><![CDATA[http://piwik.org/download-guide/ 很基础的一个功能。]]></description>
			<content:encoded><![CDATA[<p>http://piwik.org/download-guide/</p>
<p>很基础的一个功能。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/630/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx 复杂逻辑配置思路</title>
		<link>http://blog.fabrichina.net/archives/627</link>
		<comments>http://blog.fabrichina.net/archives/627#comments</comments>
		<pubDate>Thu, 17 Nov 2011 07:48:19 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=627</guid>
		<description><![CDATA[map $remote_addr $whiteList { default 1; 182.151.205.165 0; 119.6.97.141 0; } set_from_accept_language $lang en ja ru it fr de es zh; set $accLang 0$whiteList; if ( $lang = &#8216;zh&#8217; ) { set $accLang 1$whiteList; } if ( $country != &#8216;CN&#8217;) { set $accLang 0$accLang; } if ( $country = &#8216;CN&#8217;) { set $accLang 1$accLang; } [...]]]></description>
			<content:encoded><![CDATA[<p>map $remote_addr $whiteList {<br />
            default 1;<br />
            182.151.205.165     0;<br />
            119.6.97.141        0;<br />
         }<br />
set_from_accept_language $lang en ja ru it fr de es zh;<br />
         set $accLang 0$whiteList;<br />
         if ( $lang = &#8216;zh&#8217; ) {<br />
           set $accLang 1$whiteList;<br />
         }<br />
         if ( $country != &#8216;CN&#8217;) {<br />
                set $accLang 0$accLang;<br />
         }<br />
         if ( $country = &#8216;CN&#8217;) {<br />
            set $accLang 1$accLang;<br />
         }<br />
         set $allowNow 0;<br />
         if ( $accLang ~ &#8220;^(.+)0$&#8221;) {<br />
                set $allowNow 1;<br />
         }<br />
         if ( $accLang = &#8220;001&#8243;) {<br />
                set $allowNow 1;<br />
         }<br />
总的来说就是将多个条件结果拼接成010的串，然后通过正则来匹配符合条件，最终得出0或者1，这么写代码很傻，不过哦好歹我实现了：）</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/627/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx的一个简单配置</title>
		<link>http://blog.fabrichina.net/archives/623</link>
		<comments>http://blog.fabrichina.net/archives/623#comments</comments>
		<pubDate>Wed, 16 Nov 2011 06:41:44 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=623</guid>
		<description><![CDATA[wget http://www.nginx.org/download/nginx-1.1.7.tar.gz tar -zxvf nginx-1.1.7.tar.gz wget http://wiki.nginx.org/images/7/78/Ngx_http_log_request_speed.tar.gz wget https://nodeload.github.com/giom/nginx_accept_language_module/tarball/master &#8211;no-check-certificate -O nginx_accept_language_module.tar.gz cd nginx-1.1.7 cd contrib wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip perl geo2nginx.pl < GeoIPCountryCSV.zip >geo.conf cd .. tar -zxvf ../Ngx_http_log_request_speed.tar.gz tar -zxvf ../nginx_accept_language_module.tar.gz sed -i -e &#8216;s/&#8221;nginx/&#8221;mws/g&#8217; -e &#8216;s/1\./2\./g&#8217; -e &#8216;s/&#8221;NGINX/&#8221;MWS/g&#8217; src/core/nginx.h ./configure &#8211;prefix=/usr/local/nginx/ &#8211;with-http_stub_status_module &#8211;with-http_ssl_module &#8211;with-http_realip_module &#8211;add-module=ngx_http_log_request_speed &#8211;add-module=ngx_http_set_lang make &#038;&#038; make install userid on; userid_name uid; [...]]]></description>
			<content:encoded><![CDATA[<p>wget http://www.nginx.org/download/nginx-1.1.7.tar.gz<br />
tar -zxvf nginx-1.1.7.tar.gz<br />
wget http://wiki.nginx.org/images/7/78/Ngx_http_log_request_speed.tar.gz<br />
wget https://nodeload.github.com/giom/nginx_accept_language_module/tarball/master &#8211;no-check-certificate -O nginx_accept_language_module.tar.gz<br />
cd nginx-1.1.7<br />
cd contrib<br />
wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip<br />
perl geo2nginx.pl < GeoIPCountryCSV.zip >geo.conf<br />
cd ..<br />
tar -zxvf ../Ngx_http_log_request_speed.tar.gz<br />
tar -zxvf ../nginx_accept_language_module.tar.gz<br />
sed -i -e &#8216;s/&#8221;nginx/&#8221;mws/g&#8217; -e &#8216;s/1\./2\./g&#8217; -e &#8216;s/&#8221;NGINX/&#8221;MWS/g&#8217; src/core/nginx.h<br />
./configure &#8211;prefix=/usr/local/nginx/ &#8211;with-http_stub_status_module &#8211;with-http_ssl_module &#8211;with-http_realip_module &#8211;add-module=ngx_http_log_request_speed  &#8211;add-module=ngx_http_set_lang<br />
make &#038;&#038; make install</p>
<p>userid          on;<br />
userid_name     uid;<br />
userid_domain   xxx.com;<br />
userid_path     /;<br />
userid_expires  365d;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/623/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>做个gif以便分析log</title>
		<link>http://blog.fabrichina.net/archives/620</link>
		<comments>http://blog.fabrichina.net/archives/620#comments</comments>
		<pubDate>Tue, 15 Nov 2011 09:11:06 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=620</guid>
		<description><![CDATA[location = /_.gif { empty_gif; expires -1; userid on; userid_name _x; userid_domain milanoo.com; userid_path /; userid_expires 365d; if ( $uid_set ~ &#8220;^_x=(.+)$&#8221; ) { set $uid $1; } if ( $uid_got ~ &#8220;^_x=(.+)$&#8221; ) { set $uid $1; } log_format albertLog &#8216;$remote_addr &#8211; $uid &#8211; $time_local ^-^ &#8220;$http_referer&#8221; ^-^ &#8220;$args&#8221; ^-^ $http_Accept_Language &#8211; $http_user_agent&#8217;; if [...]]]></description>
			<content:encoded><![CDATA[<p>location = /_.gif {<br />
                empty_gif;<br />
                expires -1;<br />
                userid          on;<br />
                userid_name     _x;<br />
                userid_domain   milanoo.com;<br />
                userid_path     /;<br />
                userid_expires  365d;<br />
                if ( $uid_set ~ &#8220;^_x=(.+)$&#8221; ) {<br />
                        set $uid $1;<br />
                }<br />
                if ( $uid_got ~ &#8220;^_x=(.+)$&#8221; ) {<br />
                        set $uid $1;<br />
                }<br />
                log_format albertLog &#8216;$remote_addr &#8211; $uid &#8211; $time_local ^-^ &#8220;$http_referer&#8221; ^-^ &#8220;$args&#8221; ^-^ $http_Accept_Language &#8211; $http_user_agent&#8217;;<br />
                if ( $http_referer ) {<br />
                        access_log logs/fx.log albertLog;<br />
                }<br />
        }</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/620/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php X-Powered-By 去除</title>
		<link>http://blog.fabrichina.net/archives/613</link>
		<comments>http://blog.fabrichina.net/archives/613#comments</comments>
		<pubDate>Sun, 13 Nov 2011 11:18:45 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=613</guid>
		<description><![CDATA[修改php.ini expose_php = Off 或者nginx header_hidden]]></description>
			<content:encoded><![CDATA[<p>修改php.ini<br />
expose_php = Off</p>
<p>或者nginx header_hidden</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/613/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用nginx user 模块进行A/B test</title>
		<link>http://blog.fabrichina.net/archives/610</link>
		<comments>http://blog.fabrichina.net/archives/610#comments</comments>
		<pubDate>Sun, 13 Nov 2011 11:15:24 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=610</guid>
		<description><![CDATA[userid on; userid_name uid; userid_domain milanoo.com; userid_path /; userid_expires 365d; if ( $uid_set ~ &#8220;^uid=(.{9})(.)(.+)$&#8221; ) { set $serp $2; set $uid $1$2$3; } if ( $uid_got ~ &#8220;^uid=(.{9})(.)(.+)$&#8221; ) { set $serp $2; set $uid $1$2$3; } set $fa A; if ( $serp ~ &#8220;(A&#124;B&#124;C&#124;D)&#8221; ) { set $fa B; } ##这个也可以出C方案D方案，就和 $serp分吧，但是必须是1/16的。。 log_format [...]]]></description>
			<content:encoded><![CDATA[<p>userid          on;<br />
userid_name     uid;<br />
userid_domain   milanoo.com;<br />
userid_path     /;<br />
userid_expires  365d;<br />
if ( $uid_set ~ &#8220;^uid=(.{9})(.)(.+)$&#8221; ) {<br />
    set $serp $2;<br />
    set $uid $1$2$3;<br />
}<br />
if ( $uid_got ~ &#8220;^uid=(.{9})(.)(.+)$&#8221; ) {<br />
    set $serp $2;<br />
    set $uid $1$2$3;<br />
}<br />
 set $fa A;<br />
           if ( $serp ~ &#8220;(A|B|C|D)&#8221; ) {<br />
                set $fa B;<br />
           }<br />
##这个也可以出C方案D方案，就和 $serp分吧，但是必须是1/16的。。<br />
log_format  main  &#8216;$uid_got &#8211; $serp &#8211; $uid_set&#8217;;  //debug Log<br />
access_log logs/php.log main;  //debug//<br />
#####要想做a/b test对$serp进行正则即可。。###<br />
fastcgi_pass   127.0.0.1:9000;<br />
fastcgi_param  FA  $fa   #将方案号传递给php $_SERVER['FA']<br />
fastcgi_param  UID $uid; #传递给php $_SERVER['UID']</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/610/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>处理nginx user模块的sid 获得时间戳</title>
		<link>http://blog.fabrichina.net/archives/608</link>
		<comments>http://blog.fabrichina.net/archives/608#comments</comments>
		<pubDate>Sun, 13 Nov 2011 09:29:32 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=608</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><?php<br />
$str = “D616AD4D”;<br />
$splited = str_split($str, 2);<br />
$splited = array_reverse($splited);<br />
$str = implode(”, $splited);<br />
print hexdec($str);<br />
?></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/608/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx 安全策略学习</title>
		<link>http://blog.fabrichina.net/archives/606</link>
		<comments>http://blog.fabrichina.net/archives/606#comments</comments>
		<pubDate>Sat, 12 Nov 2011 18:15:07 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[PHP语言学习]]></category>

		<guid isPermaLink="false">http://blog.fabrichina.net/?p=606</guid>
		<description><![CDATA[http://yp.oss.org.cn/software/show_resource.php?resource_id=1030]]></description>
			<content:encoded><![CDATA[<p>http://yp.oss.org.cn/software/show_resource.php?resource_id=1030</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabrichina.net/archives/606/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

