<?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>Seateng Blog</title>
	<atom:link href="http://blog.seateng.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.seateng.cn</link>
	<description>[spawn(fun()-&#62;Browser ! {self(), share(X)}end) &#124;&#124; X &#60;- [&#34;Web开发&#34;, &#34;网站构架&#34;, &#34;分布式开发&#34;]]</description>
	<lastBuildDate>Tue, 08 Jun 2010 10:21:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tomcat Cookie base64 truncated =</title>
		<link>http://blog.seateng.cn/archives/2010/06/tomcat-cookie-base64-truncated.html</link>
		<comments>http://blog.seateng.cn/archives/2010/06/tomcat-cookie-base64-truncated.html#comments</comments>
		<pubDate>Tue, 08 Jun 2010 10:21:36 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[网站构架]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=233</guid>
		<description><![CDATA[private String convertToValidBase64Encode(String cookieParam)
{
switch(cookieParam.length()%4)
{
case 3:
cookieParam=cookieParam+&#8221;=&#8221;;
break;
case 2:
cookieParam=cookieParam+&#8221;==&#8221;;
break;
case 1:
cookieParam=cookieParam+&#8221;===&#8221;;
break;
default:
System.out.println(&#8220;Default: the cookieParam value is&#8211;&#8221;+cookieParam);
}
return cookieParam;
}
]]></description>
			<content:encoded><![CDATA[<p>private String convertToValidBase64Encode(String cookieParam)<br />
{<br />
switch(cookieParam.length()%4)<br />
{<br />
case 3:<br />
cookieParam=cookieParam+&#8221;=&#8221;;<br />
break;<br />
case 2:<br />
cookieParam=cookieParam+&#8221;==&#8221;;<br />
break;<br />
case 1:<br />
cookieParam=cookieParam+&#8221;===&#8221;;<br />
break;<br />
default:<br />
System.out.println(&#8220;Default: the cookieParam value is&#8211;&#8221;+cookieParam);<br />
}<br />
return cookieParam;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2010/06/tomcat-cookie-base64-truncated.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP with cURL extension On Window</title>
		<link>http://blog.seateng.cn/archives/2010/05/php-with-curl-o-window.html</link>
		<comments>http://blog.seateng.cn/archives/2010/05/php-with-curl-o-window.html#comments</comments>
		<pubDate>Fri, 21 May 2010 08:21:34 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=230</guid>
		<description><![CDATA[cURL 需要 ssl 所以在window下需要把
libeay32.dll
ssleay32.dll
这两个DLL 复制到windows\system32 或者 Server\bin 目录下。
]]></description>
			<content:encoded><![CDATA[<p>cURL 需要 ssl 所以在window下需要把<br />
libeay32.dll<br />
ssleay32.dll<br />
这两个DLL 复制到windows\system32 或者 Server\bin 目录下。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2010/05/php-with-curl-o-window.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php-fpm init.d 启动脚本</title>
		<link>http://blog.seateng.cn/archives/2010/05/php-fpm-init-d-shel.html</link>
		<comments>http://blog.seateng.cn/archives/2010/05/php-fpm-init-d-shel.html#comments</comments>
		<pubDate>Tue, 04 May 2010 11:10:10 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=214</guid>
		<description><![CDATA[php-fpm在PHP 5.3.2以后的版本不支持以前的php-fpm (start&#124;restart&#124;stop&#124;reload) 了，自己动手丰衣足食。
/etc/init.d/php-fpm :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#! /bin/sh
&#160;
# Description: Startup script for php-fpm on Debian. Place in /etc/init.d and
# run 'update-rc.d php-fpm defaults'. 
# 
# Author:       Seateng &#60;seateng@sohu.com&#62;
# Blog:           blog.seateng.cn
&#160;
set -e
&#160;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC=&#34;php-fpm daemon&#34;
NAME=php-fpm
#php-fpm路径
DAEMON=/usr/local/php/bin/$NAME
#配置文件路径
CONFIGFILE=/usr/local/php/etc/php-fpm.conf
#PID文件路径(在php-fpm.conf设置)
PIDFILE=/usr/local/php/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
&#160;
# Gracefully exit if the package has been removed.
test -x [...]]]></description>
			<content:encoded><![CDATA[<p>php-fpm在PHP 5.3.2以后的版本不支持以前的php-fpm (start|restart|stop|reload) 了，自己动手丰衣足食。<br />
/etc/init.d/php-fpm :<br />
<span id="more-214"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /bin/sh</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Description: Startup script for php-fpm on Debian. Place in /etc/init.d and</span>
<span style="color: #666666; font-style: italic;"># run 'update-rc.d php-fpm defaults'. </span>
<span style="color: #666666; font-style: italic;"># </span>
<span style="color: #666666; font-style: italic;"># Author:       Seateng &lt;seateng@sohu.com&gt;</span>
<span style="color: #666666; font-style: italic;"># Blog:           blog.seateng.cn</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #660033;">-e</span>
&nbsp;
<span style="color: #007800;">PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>sbin:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>sbin:<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin
<span style="color: #007800;">DESC</span>=<span style="color: #ff0000;">&quot;php-fpm daemon&quot;</span>
<span style="color: #007800;">NAME</span>=php-fpm
<span style="color: #666666; font-style: italic;">#php-fpm路径</span>
<span style="color: #007800;">DAEMON</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>php<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NAME</span>
<span style="color: #666666; font-style: italic;">#配置文件路径</span>
<span style="color: #007800;">CONFIGFILE</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>php<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>php-fpm.conf
<span style="color: #666666; font-style: italic;">#PID文件路径(在php-fpm.conf设置)</span>
<span style="color: #007800;">PIDFILE</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>php<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NAME</span>.pid
<span style="color: #007800;">SCRIPTNAME</span>=<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NAME</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Gracefully exit if the package has been removed.</span>
<span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #660033;">-x</span> <span style="color: #007800;">$DAEMON</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
&nbsp;
d_start<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #007800;">$DAEMON</span> <span style="color: #660033;">-y</span> <span style="color: #007800;">$CONFIGFILE</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot; already running&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
d_stop<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #c20cb9; font-weight: bold;">kill</span> <span style="color: #660033;">-QUIT</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$PIDFILE</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot; not running&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
d_reload<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #c20cb9; font-weight: bold;">kill</span> <span style="color: #660033;">-HUP</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$PIDFILE</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot; can't reload&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
  start<span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Starting <span style="color: #007800;">$DESC</span>: <span style="color: #007800;">$NAME</span>&quot;</span>
        d_start
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;.&quot;</span>
        <span style="color: #000000; font-weight: bold;">;;</span>
  stop<span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Stopping <span style="color: #007800;">$DESC</span>: <span style="color: #007800;">$NAME</span>&quot;</span>
        d_stop
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;.&quot;</span>
        <span style="color: #000000; font-weight: bold;">;;</span>
  reload<span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Reloading <span style="color: #007800;">$DESC</span> configuration...&quot;</span>
        d_reload
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;reloaded.&quot;</span>
  <span style="color: #000000; font-weight: bold;">;;</span>
  restart<span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Restarting <span style="color: #007800;">$DESC</span>: <span style="color: #007800;">$NAME</span>&quot;</span>
        d_stop
        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">1</span>
        d_start
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;.&quot;</span>
        <span style="color: #000000; font-weight: bold;">;;</span>
  <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
         <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Usage: <span style="color: #007800;">$SCRIPTNAME</span> {start|stop|restart|force-reload}&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
         <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">3</span>
        <span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></td></tr></table></div>

<p>update-rc.d php-fpm defaults<br />
加入系统服务。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2010/05/php-fpm-init-d-shel.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>腾讯微博邀请码</title>
		<link>http://blog.seateng.cn/archives/2010/05/t-qq-com-invite.html</link>
		<comments>http://blog.seateng.cn/archives/2010/05/t-qq-com-invite.html#comments</comments>
		<pubDate>Sun, 02 May 2010 15:19:42 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[茶余饭后]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=206</guid>
		<description><![CDATA[发现还有好多人要腾讯微博邀请码
持续更新中：
5月12日 10点
http://t.qq.com/invite/77fed7ee7dbb0f9dd117
http://t.qq.com/invite/e03910485c6cab7971cb
http://t.qq.com/invite/ec88b853419e1a98a213
http://t.qq.com/invite/7f0203bc7b62542b11df
http://t.qq.com/invite/70b51aa86020c5061031
http://t.qq.com/invite/bf0cb225d98bffbfb101
http://t.qq.com/invite/b45d58bc09accac750b5
http://t.qq.com/invite/2b9ca57efeb55c55a48d
http://t.qq.com/invite/c2960a9fadb17ffc1beb
http://t.qq.com/invite/855648e8f8a54a2bbf93
5月9日 22点
http://t.qq.com/invite/d454a35cfede46e31701
http://t.qq.com/invite/2d1f31412de5b1e0c709
http://t.qq.com/invite/90915c497e4ced9d81f1
5月7日 9点更新
http://t.qq.com/invite/371623961e52f2256de1(已激活)
http://t.qq.com/invite/677d44687e73e1bf47cb(已激活)
http://t.qq.com/invite/73a7737c62d4a8e48b89(已激活)

5月2日 9点更新
http://t.qq.com/invite/4228b026a29670121113(已激活)
http://t.qq.com/invite/dea82d8a8029cb0fb1fd(已激活)
http://t.qq.com/invite/bef4c31c6e639fe9672f(已激活)
5月1日 23点更新
http://t.qq.com/invite/6716979d558a7c025615(已激活)
http://t.qq.com/invite/df584062656db8ec60ab(已激活)
http://t.qq.com/invite/75e81daf3a5ef1f9e33b(已激活)
]]></description>
			<content:encoded><![CDATA[<p>发现还有好多人要腾讯微博邀请码</p>
<p>持续更新中：<br />
5月12日 10点<br />
<a href="http://t.qq.com/invite/77fed7ee7dbb0f9dd117" target="_blank">http://t.qq.com/invite/77fed7ee7dbb0f9dd117</a><br />
<a href="http://t.qq.com/invite/e03910485c6cab7971cb" target="_blank">http://t.qq.com/invite/e03910485c6cab7971cb</a><br />
<a href="http://t.qq.com/invite/ec88b853419e1a98a213" target="_blank">http://t.qq.com/invite/ec88b853419e1a98a213</a><br />
<a href="http://t.qq.com/invite/7f0203bc7b62542b11df" target="_blank">http://t.qq.com/invite/7f0203bc7b62542b11df</a><br />
<a href="http://t.qq.com/invite/70b51aa86020c5061031" target="_blank">http://t.qq.com/invite/70b51aa86020c5061031</a><br />
<a href="http://t.qq.com/invite/bf0cb225d98bffbfb101" target="_blank">http://t.qq.com/invite/bf0cb225d98bffbfb101</a><br />
<a href="http://t.qq.com/invite/b45d58bc09accac750b5" target="_blank">http://t.qq.com/invite/b45d58bc09accac750b5</a><br />
<a href="http://t.qq.com/invite/2b9ca57efeb55c55a48d" target="_blank">http://t.qq.com/invite/2b9ca57efeb55c55a48d</a><br />
<a href="http://t.qq.com/invite/c2960a9fadb17ffc1beb" target="_blank">http://t.qq.com/invite/c2960a9fadb17ffc1beb</a><br />
<a href="http://t.qq.com/invite/855648e8f8a54a2bbf93" target="_blank">http://t.qq.com/invite/855648e8f8a54a2bbf93</a></p>
<p>5月9日 22点<br />
<a href="http://t.qq.com/invite/d454a35cfede46e31701" target="_blank">http://t.qq.com/invite/d454a35cfede46e31701</a><br />
<a href="http://t.qq.com/invite/2d1f31412de5b1e0c709" target="_blank">http://t.qq.com/invite/2d1f31412de5b1e0c709</a><br />
<a href="http://t.qq.com/invite/90915c497e4ced9d81f1" target="_blank">http://t.qq.com/invite/90915c497e4ced9d81f1</a></p>
<p>5月7日 9点更新<br />
<a href="http://t.qq.com/invite/371623961e52f2256de1" target="_blank">http://t.qq.com/invite/371623961e52f2256de1</a>(已激活)<br />
<a href="http://t.qq.com/invite/677d44687e73e1bf47cb" target="_blank">http://t.qq.com/invite/677d44687e73e1bf47cb</a>(已激活)<br />
<a href="http://t.qq.com/invite/73a7737c62d4a8e48b89" target="_blank">http://t.qq.com/invite/73a7737c62d4a8e48b89</a>(已激活)<br />
<span id="more-206"></span><br />
5月2日 9点更新<br />
<a href="http://t.qq.com/invite/4228b026a29670121113" target="_blank">http://t.qq.com/invite/4228b026a29670121113</a>(已激活)<br />
<a href="http://t.qq.com/invite/dea82d8a8029cb0fb1fd" target="_blank">http://t.qq.com/invite/dea82d8a8029cb0fb1fd</a>(已激活)<br />
<a href="http://t.qq.com/invite/bef4c31c6e639fe9672f" target="_blank">http://t.qq.com/invite/bef4c31c6e639fe9672f</a>(已激活)</p>
<p>5月1日 23点更新<br />
<a href="http://t.qq.com/invite/6716979d558a7c025615" target="_blank">http://t.qq.com/invite/6716979d558a7c025615</a>(已激活)<br />
<a href="http://t.qq.com/invite/df584062656db8ec60ab" target="_blank">http://t.qq.com/invite/df584062656db8ec60ab</a>(已激活)<br />
<a href="http://t.qq.com/invite/75e81daf3a5ef1f9e33b" target="_blank">http://t.qq.com/invite/75e81daf3a5ef1f9e33b</a>(已激活)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2010/05/t-qq-com-invite.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 5.3.2 FPM 分支 Bug</title>
		<link>http://blog.seateng.cn/archives/2010/05/php-5-3-2-with-fpm-bu.html</link>
		<comments>http://blog.seateng.cn/archives/2010/05/php-5-3-2-with-fpm-bu.html#comments</comments>
		<pubDate>Sat, 01 May 2010 19:52:27 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[网站构架]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=203</guid>
		<description><![CDATA[PHP 5.3.2 开始建了个集成FPM的分支了。
正常下载PHP源代码 解压 cd 解压目录
下载fpm
svn co http://svn.php.net/repository/php/php-src/trunk/sapi/fpm sapi/fpm
confiruge make make install 一路下来没什么问题。
启动php-fpm时提示 [pool www] start_servers(20) must not be less than min_spare_servers(35) and not greater than max_spare_servers(35)
min_spare_servers在php-fpm.conf里设置的是5这里变成了35，明显有问题。
在源代码sapi/fpm/fpm/里找了下发现提示在fpm_conf.c 在460行，细看发现else if判断有问题
将 459 行的
config->pm_start_servers < config->pm_max_spare_servers
改成
config->pm_start_servers < config->pm_min_spare_servers 
460行的
config->pm_max_spare_servers
改成
config->pm_min_spare_servers
重新 make &#038;&#038; make install
php-fpm 顺利启动！
顺带罗嗦下，原来的PHP版本打 path时php-fpm带的 start stop restart reload 在这个分支里已经不能用了。
以后这里要自己写脚本了。
]]></description>
			<content:encoded><![CDATA[<p>PHP 5.3.2 开始建了个集成FPM的分支了。<br />
正常下载PHP源代码 解压 cd 解压目录</p>
<p>下载fpm<br />
svn co http://svn.php.net/repository/php/php-src/trunk/sapi/fpm sapi/fpm</p>
<p>confiruge make make install 一路下来没什么问题。<br />
启动php-fpm时提示 [pool www] start_servers(20) must not be less than min_spare_servers(35) and not greater than max_spare_servers(35)<br />
min_spare_servers在php-fpm.conf里设置的是5这里变成了35，明显有问题。</p>
<p>在源代码sapi/fpm/fpm/里找了下发现提示在fpm_conf.c 在460行，细看发现else if判断有问题<br />
将 459 行的<br />
config->pm_start_servers < config->pm_max_spare_servers<br />
改成<br />
config->pm_start_servers < config->pm_min_spare_servers </p>
<p>460行的<br />
config->pm_max_spare_servers<br />
改成<br />
config->pm_min_spare_servers</p>
<p>重新 make &#038;&#038; make install<br />
php-fpm 顺利启动！</p>
<p>顺带罗嗦下，原来的PHP版本打 path时php-fpm带的 start stop restart reload 在这个分支里已经不能用了。<br />
以后这里要自己写脚本了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2010/05/php-5-3-2-with-fpm-bu.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bash 的 dirs popd pushd</title>
		<link>http://blog.seateng.cn/archives/2010/04/bash-dirs-popd-pushd.html</link>
		<comments>http://blog.seateng.cn/archives/2010/04/bash-dirs-popd-pushd.html#comments</comments>
		<pubDate>Fri, 02 Apr 2010 03:41:04 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[茶余饭后]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=200</guid>
		<description><![CDATA[1. dirs: 列出目录堆栈
2. pushd: 向目录堆栈保存目录
3. popd: 从目录堆栈中获得目录，然后cd进去
覆盖原有的cd命令每次cd都把目标目录入堆栈

1
2
3
4
5
6
function cd &#123;
    if &#91; -n &#34;$1&#34; &#93;; then pushd $1 &#62; /dev/null
     else pushd $HOME &#62; /dev/null
    fi
&#125;
alias pd='popd &#62; /dev/null'

“unset -f cd”来取消自定义的cd函数
]]></description>
			<content:encoded><![CDATA[<p>1. dirs: 列出目录堆栈<br />
2. pushd: 向目录堆栈保存目录<br />
3. popd: 从目录堆栈中获得目录，然后cd进去</p>
<p>覆盖原有的cd命令每次cd都把目标目录入堆栈</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">pushd</span> $<span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
     <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">pushd</span> <span style="color: #007800;">$HOME</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
    <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">pd</span>=<span style="color: #ff0000;">'popd &gt; /dev/null'</span></pre></td></tr></table></div>

<p>“unset -f cd”来取消自定义的cd函数</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2010/04/bash-dirs-popd-pushd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xmanager GDM IPV6</title>
		<link>http://blog.seateng.cn/archives/2009/12/xmanager-gdm-ipv6.html</link>
		<comments>http://blog.seateng.cn/archives/2009/12/xmanager-gdm-ipv6.html#comments</comments>
		<pubDate>Sat, 26 Dec 2009 10:35:44 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[网站构架]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=198</guid>
		<description><![CDATA[有太旧机器安的是Debian 5.0.3(升级到unstable)，内核2.6.32-trunk-686。在xp下通过xmanager过去一直XDMCP连接失败。
/etc/gdm/gdm.conf
[xdmcp]
Enable=1
Port=177
已经xdmcp支持已经开启。
nestat -nalp
看到177端口也已经开了。就是连不上。。。
netstat -nalp &#124; grep gdm
udp6       0      0 :::177                  :::*                 [...]]]></description>
			<content:encoded><![CDATA[<p>有太旧机器安的是Debian 5.0.3(升级到unstable)，内核2.6.32-trunk-686。在xp下通过xmanager过去一直XDMCP连接失败。<br />
/etc/gdm/gdm.conf<br />
[xdmcp]<br />
Enable=1<br />
Port=177<br />
已经xdmcp支持已经开启。<br />
nestat -nalp<br />
看到177端口也已经开了。就是连不上。。。</p>
<p>netstat -nalp | grep gdm<br />
udp6       0      0 :::177                  :::*                                1500/gdm<br />
发现gdm监听的居然是udp6 也就是IPV6的177口，没监听udp的177。<br />
将 /etc/sysctl.d/bindv6only.conf 文件<br />
net.ipv6.bindv6only = 1<br />
改成<br />
net.ipv6.bindv6only = 0<br />
重启搞定。</p>
<p>备注:Debian最新的unstable很奇怪，试了几种方法想把IPV6关掉都关不掉。<br />
lsmod | grep ipv6又没有显示。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2009/12/xmanager-gdm-ipv6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google chrome 主题制作</title>
		<link>http://blog.seateng.cn/archives/2009/11/make-google-chrome-theme.html</link>
		<comments>http://blog.seateng.cn/archives/2009/11/make-google-chrome-theme.html#comments</comments>
		<pubDate>Wed, 25 Nov 2009 18:29:58 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[茶余饭后]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=191</guid>
		<description><![CDATA[自从有了合适的鼠标动作插件 nkGestures ，就把把常用浏览器换成了chrome。顺便研究了下chrome的插件及主题机制。今天突然想给chrome换个灰黑色的theme，google官方站点上的主题看的上的实在是少，又不想主题过大。所以自己动手做了一个简洁的主题。
随手记下笔记
制作
&#8220;C:\Documents and Settings\GGSDDU\Local Settings\Application Data\Google\Chrome\Application\chrome.exe&#8221; &#8211;pack-extension=&#8221;C:\blog.seateng.cn&#8221;
试用
chrome.exe –load-extension=”c:\blog.seateng.cn”
修改后重新打包
chrome.exe –pack-extension=”c:\blog.seateng.cn” –pack-extension-key=&#8221;blog.seateng.pem&#8221;
可以下载官方的crx包改后缀为zip，解压缩到目录看下json内容基本就OK了。只要知道制作流程剩下的就是无尽的折腾了。
相关资料:
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/theme/theme_resources.grd
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_theme_pro
主题:
blog.seateng.cn
]]></description>
			<content:encoded><![CDATA[<p>自从有了合适的鼠标动作插件 nkGestures ，就把把常用浏览器换成了chrome。顺便研究了下chrome的插件及主题机制。今天突然想给chrome换个灰黑色的theme，google官方站点上的主题看的上的实在是少，又不想主题过大。所以自己动手做了一个简洁的主题。<br />
随手记下笔记</p>
<p>制作<br />
&#8220;C:\Documents and Settings\GGSDDU\Local Settings\Application Data\Google\Chrome\Application\chrome.exe&#8221; &#8211;pack-extension=&#8221;C:\blog.seateng.cn&#8221;</p>
<p>试用<br />
chrome.exe –load-extension=”c:\blog.seateng.cn”</p>
<p>修改后重新打包<br />
chrome.exe –pack-extension=”c:\blog.seateng.cn” –pack-extension-key=&#8221;blog.seateng.pem&#8221;</p>
<p>可以下载官方的crx包改后缀为zip，解压缩到目录看下json内容基本就OK了。只要知道制作流程剩下的就是无尽的折腾了。</p>
<p>相关资料:<br />
<a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/theme/theme_resources.grd">http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/theme/theme_resources.grd</a><br />
<a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_theme_pro">http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_theme_pro</a></p>
<p>主题:<br />
<a href='http://blog.seateng.cn/wp-content/uploads/2009/11/blog.seateng.cn_1.zip'>blog.seateng.cn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2009/11/make-google-chrome-theme.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>script 标签的onload事件</title>
		<link>http://blog.seateng.cn/archives/2009/11/script-tag-onload-even.html</link>
		<comments>http://blog.seateng.cn/archives/2009/11/script-tag-onload-even.html#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:13:31 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[onload]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=188</guid>
		<description><![CDATA[下午解决个页面异步加载触发的问题记录如下。
需求：页面需要从js文件加载完数据后触发显示数据的函数。
Google之得解。
贴码如下:
[code lang="js"]
var url      = &#34;http://host_name/example.js&#34;;
var script  = document.createElement(&#34;script&#34;);
script.type= &#34;text/javascript&#34;;
script.language=&#34;javascript&#34;;
script.src=url;
if(script.addEventListener){
	script.addEventListener(&#34;load&#34;, callback, false);
}else if(script.attachEvent){
	script.attachEvent(&#34;onreadystatechange&#34;, function(){var target = window.event.srcElement; if(target.readyState == &#34;loaded&#34;) callback.call(target);});
}
document.getElementsByTagName(&#34;head&#34;)[0].appendChild(script);
function callback()
{
//TODO Show Data
}
[/code]
备注: onreadystatechange 事件有两次触发一次是loading事件一次是loaded事件，loading事件应用无关，加判断区分之。
再Google之已经有老外做了个loadScript库解决类似问题地址如下：
http://design-noir.de/webdev/JS/loadScript/
]]></description>
			<content:encoded><![CDATA[<p>下午解决个页面异步加载触发的问题记录如下。</p>
<p>需求：页面需要从js文件加载完数据后触发显示数据的函数。<br />
Google之得解。</p>
<p>贴码如下:</p>
<p>[code lang="js"]<br />
var url      = &quot;http://host_name/example.js&quot;;<br />
var script  = document.createElement(&quot;script&quot;);<br />
script.type= &quot;text/javascript&quot;;<br />
script.language=&quot;javascript&quot;;<br />
script.src=url;<br />
if(script.addEventListener){<br />
	script.addEventListener(&quot;load&quot;, callback, false);<br />
}else if(script.attachEvent){<br />
	script.attachEvent(&quot;onreadystatechange&quot;, function(){var target = window.event.srcElement; if(target.readyState == &quot;loaded&quot;) callback.call(target);});<br />
}<br />
document.getElementsByTagName(&quot;head&quot;)[0].appendChild(script);</p>
<p>function callback()<br />
{<br />
//TODO Show Data<br />
}<br />
[/code]</p>
<p><strong>备注</strong>: onreadystatechange 事件有两次触发一次是loading事件一次是loaded事件，loading事件应用无关，加判断区分之。</p>
<p>再Google之已经有老外做了个loadScript库解决类似问题地址如下：<br />
<a href="http://design-noir.de/webdev/JS/loadScript/">http://design-noir.de/webdev/JS/loadScript/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2009/11/script-tag-onload-even.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stay Hungry. Stay foolish!</title>
		<link>http://blog.seateng.cn/archives/2009/09/steve-jobs-stanford.html</link>
		<comments>http://blog.seateng.cn/archives/2009/09/steve-jobs-stanford.html#comments</comments>
		<pubDate>Tue, 01 Sep 2009 02:17:40 +0000</pubDate>
		<dc:creator>Seateng</dc:creator>
				<category><![CDATA[网站构架]]></category>

		<guid isPermaLink="false">http://blog.seateng.cn/?p=185</guid>
		<description><![CDATA[乔布斯2005年斯坦福毕业典礼的演讲。荐！

把每一天当作生命里最后的一天去活。求知若饥，虚心若愚！
]]></description>
			<content:encoded><![CDATA[<p>乔布斯2005年斯坦福毕业典礼的演讲。荐！</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="align" value="middle" /><param name="src" value="http://player.youku.com/player.php/sid/XODgxOTMzNTI=/v.swf" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="480" height="400" src="http://player.youku.com/player.php/sid/XODgxOTMzNTI=/v.swf" quality="high" align="middle"></embed></object></p>
<p><strong>把每一天当作生命里最后的一天去活。求知若饥，虚心若愚！</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.seateng.cn/archives/2009/09/steve-jobs-stanford.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
