<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[优美的技术之旅]]></title> 
<description><![CDATA[技术其实是一个旅程，也可以是一件极其美好的事情]]></description>
<link>http://www.thislinux.com/</link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>
<item>
	<title>ngx_lua_waf，一个轻量级的WAF解决方案</title>
	<link>http://www.thislinux.com/?post=3</link>
	<description><![CDATA[ 
	<p>&nbsp;之前就听@agentzh说过他们公司使用的就是ngx_lua写的WAF，前两天微博上看到他推荐的github上的一个类似实现，如获至宝（地址：<a href="https://github.com/loveshell/ngx_lua_waf" target="_blank">https://github.com/loveshe...</a> ），有点踏破铁鞋无觅处得来全不费工夫的感脚，因为是基于lua的实现，所以根据自身需求定制化会非常方便。</p>
<p>基于这个原因，我想以后在选择7层负载均衡方案的时候，我会毫不犹豫的偏向Nginx+Lua这套方案，大概的结构可能是这样：</p>
<p>&nbsp;</p>
<p>Client &lt;------------&gt; OpenBSD(2 layer) &lt;------------&gt; Nginx+Lua &lt;---------------&gt; Web Service</p>
<p>（1）OpenBSD作为入口，做内外NAT，可以是2层设备，同时也是FireWall的角色，IP层的东西由它搞定；</p>
<p>（2）Nginx+Lua作为后端的7层交换，同时担负WAF的角色，负责应用层的控制和清洗；</p>
<p>（3）如果要增加Web Cache层，可以直接放在OpenBSD这个汇聚点上，我当然是最钟爱ATS的，但ATS在OB上的编译我至今没有搞定，看来有需要发一个request到OB的ports maillist了；</p>
<p>（4）如果不需要Web Cache层，Nginx+Lua可直接放在OpenBSD上，也可独立出来，可根据具体情况灵活更变。</p>
<p>&nbsp;</p>
]]></description>
	<pubDate>Sat, 30 Mar 2013 17:33:27 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=3</guid>

</item>
<item>
	<title>设置CPU亲缘性提升系统效率</title>
	<link>http://www.thislinux.com/?post=4</link>
	<description><![CDATA[ 
	<p>&nbsp;在长期的系统优化和观察中得知，就算LINUX kernel已经升级到2.6.32或者更新的版本，中断请求和IO需求对于CPU的争夺问题依旧没有很好的解决，之前还特意修文表示irqbalance能解决问题，但事实再一次让我们掉眼镜。</p>
<p>所以针对CPU的争夺问题，我大概总结了一下几条经验：</p>
<p>（1）irqbalance对于核心应用毫无作用，关掉！</p>
<p>（2）把网卡中断绑定在一个固定的core上，例如有8个core，最好绑定在4-6这几个之一。</p>
<p>（3）系统总是懒惰的把进程的亲缘性版定在core0-core2上，因为暂时没有通盘阅读内核代码的能力，所以原因不详。</p>
<p>（4）把最重要的应用绑定在某几个固定的core上，例如绑定在core5-core8上，但要保证这几个core在物理上是同一个CPU，以免造成L1/L2践踏。</p>
<p>&nbsp;</p>
<p>依照以上原则进行一番折腾后，能发现系统效率有相当程度的提升。结论就是：我们以为kernel能智能分布CPU需求，但其实它不能，所以通过手工设置更靠谱。</p>
]]></description>
	<pubDate>Sat, 12 Jan 2013 14:42:00 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=4</guid>

</item>
<item>
	<title>智能dnsproxy方案更新</title>
	<link>http://www.thislinux.com/?post=5</link>
	<description><![CDATA[ 
	<p>近三个月都在弄的智能dnsproxy方案，已在线测试证明了其稳定性和相当高的容错性，对于DNS依赖型应用如邮件系统、HTTP PROXY、CDN应用等等，能减少每个请求的时延并提升服务的可用性。方案借鉴了某些开源方案并根据现网曾出现过的情况增加了几个功能细节，开发语言使用了C、PERL，并专门针对WEB ADMIN接口优化重写了一个轻量级的支持CGI的HTTP SERVER，整个规划、研发、测试的过程对于我是一个很好的学习过程。方案细节见图：</p>
<p><img src="attachment.php?fid=22" alt="" /></p>
]]></description>
	<pubDate>Mon, 24 Dec 2012 09:05:14 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=5</guid>

</item>
<item>
	<title>把OpenBSD安装到sparc64主机上</title>
	<link>http://www.thislinux.com/?post=6</link>
	<description><![CDATA[ 
	<p>&nbsp;怎么说呢，sparc64架构的老机器装上OpenBSD之后，焕发了屌丝遇到女神般的青春激情，实在按捺不住我这小心脏的喜悦之情。</p>
<p>OpenBSD是我所见最精简的OS了，安装到sparc64机器上只用5分钟不到的时间，系统boot的速度基本能在60秒内完成，而这sparc64原带的solaris系统尼玛可是需要5分钟才能重启一次呀。:)</p>
<p>大概试了一下WEB/DNS/MAIL等应用在sparc64 OpenBSD的表现，基本能符合期望，大家的sparc64从此无需丢弃到机房里面吸灰尘了。</p>
]]></description>
	<pubDate>Sat, 10 Nov 2012 13:06:45 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=6</guid>

</item>
<item>
	<title>玩玩精简的OpenBSD（2）</title>
	<link>http://www.thislinux.com/?post=7</link>
	<description><![CDATA[ 
	<p>这一次说说如何用OpenBSD构建一个ONMP服务器（OpenBSD+Nginx+Mysql+PHP）</p>
<hr />
<p>（1）安装Mysql</p>
<p><span style="font-size: 10.5pt; ">设置环境变量：</span></p>
<blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>export PKG_PATH=http:</span><span class="comment">//ftp.jaist.ac.jp/pub/OpenBSD/5.2/packages/i386/</span></span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
export PKG_PATH=http://ftp.jaist.ac.jp/pub/OpenBSD/5.2/packages/i386/</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>&nbsp;</p>
</blockquote>
<p class="a0"><span lang="EN-US" style="font-size:10.5pt"><o:p></o:p></span></p>
<p>&nbsp;</p>
<p>安装mysql包：</p>
<blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>pkg_add mysql-server</span></span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
pkg_add mysql-server</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>&nbsp;</p>
</blockquote>
<p>pkg_add会解决依赖关系把需要的包都装上，缺省会把mysql的数据文件放在/var/mysql中，如果没有这个目录请手工创建，并执行：</p>
<blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="func">chown</span><span> _mysql:_mysql /</span><span class="keyword">var</span><span>/mysql</span></span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
chown _mysql:_mysql /var/mysql</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>&nbsp;</p>
</blockquote>
<p>初始化mysql数据库：</p>
<blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>/usr/local/bin/mysql_install_db</span></span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
/usr/local/bin/mysql_install_db</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>&nbsp;</p>
</blockquote>
<p>然后可尝试手工启动mysql数据库：</p>
<blockquote>
<p>&nbsp;</p>
</blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>cd /etc/rc.d</span></span></li>
    <li>&nbsp;</li>
    <li class="alt"><span>./mysqld start</span></li>
    <li>&nbsp;</li>
    <li class="alt"><span>ps -ax &#124; grep mysql</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
cd /etc/rc.d

./mysqld start

ps -ax &#124; grep mysql</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<blockquote>
<p>&nbsp;</p>
</blockquote>
<p>如顺利已经可以看到mysql进程，如异常可查看/var/mysql/$HOSTNAME.err文件判断并解决问题。</p>
<hr />
<p>（2）安装PHP</p>
<p>安装php-fpm包和相关数据库支持包：</p>
<blockquote>
<p>&nbsp;</p>
</blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>pkg_add php-fpm</span></span></li>
    <li>&nbsp;</li>
    <li class="alt"><span>pkg_add php-mysql php-mysqli php-zip</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
pkg_add php-fpm

pkg_add php-mysql php-mysqli php-zip</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<blockquote>
<p>&nbsp;</p>
</blockquote>
<p>如出现菜单让你选择版本，一般选择最新版本即可。我安装的是php-fpm5.3.14p0版本。</p>
<p>配置php-fpm所支持的功能库文件：</p>
<blockquote>
<p>&nbsp;</p>
</blockquote>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>cd /etc/php-5.3</span></span></li>
    <li>&nbsp;</li>
    <li class="alt"><span>ln -s /etc/php-5.3.sample/* .</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
cd /etc/php-5.3

ln -s /etc/php-5.3.sample/* .</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<blockquote>
<p>&nbsp;</p>
</blockquote>
<p>以上操作是做一个软连接，等于把已经安装的所有功能库都启用，如以后安装了新的PHP支持库，可重新执行这一步。</p>
<p>尝试手工启动php-fpm进程：</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>cd /etc/rc.d</span></span></li>
    <li>&nbsp;</li>
    <li class="alt"><span>./php_fpm start</span></li>
    <li>&nbsp;</li>
    <li class="alt"><span>ps -ax &#124; grep php</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
cd /etc/rc.d

./php_fpm start

ps -ax &#124; grep php</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>如顺利可看到php-fpm进程已经正常启动，并可看到php-fpm把服务端口绑定在127.0.0.1:9000上了。</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>bash-4.2# netstat -na &#124; grep LISTEN &#124; grep 9000</span></span></li>
    <li><span>tcp          0      0  127.0.0.1.9000         *.*                    LISTEN</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
bash-4.2# netstat -na &#124; grep LISTEN &#124; grep 9000
tcp          0      0  127.0.0.1.9000         *.*                    LISTEN</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<hr />
<p>（3）安装Nginx</p>
<p>可使用系统缺省安装的Nginx，但我个人推崇章大神@agentzh的openresty，请访问<a href="http://openresty.org" target="_blank">http://openresty.org</a>获取最新的安装包，例如：</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>wget http:</span><span class="comment">//agentzh.org/misc/nginx/ngx_openresty-1.2.4.5.tar.gz</span></span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
wget <a href="http://agentzh.org/misc/nginx/ngx_openresty-1.2.4.5.tar.gz" target="_blank">http://agentzh.org/misc/ng...</a></pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>Nginx依赖于很多系统基础包，如pcre等等，在编译安装之前请先把基础库给装上，例如：（不一一列举了）</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>pkg_add pcre automake gmake</span></span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
pkg_add pcre automake gmake</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>剩下的工作就是编译了，按缺省步骤完成即可：</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>gzip -d ngx_openresty-1.2.4.5.tar.gz</span></span></li>
    <li><span>tar -xf ngx_openresty-1.2.4.5.tar</span></li>
    <li class="alt"><span>cd ngx_openresty-1.2.4.5</span></li>
    <li><span>./configure --prefix=/home/www</span></li>
    <li class="alt"><span>gmake</span></li>
    <li><span>gmake install</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
gzip -d ngx_openresty-1.2.4.5.tar.gz
tar -xf ngx_openresty-1.2.4.5.tar
cd ngx_openresty-1.2.4.5
./configure --prefix=/home/www
gmake
gmake install</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>顺利的话编译成功，可开始配置Nginx加上PHP支持，可编辑/home/www/nginx/conf/nginx.conf，增加如下内容：</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>location ~ .php$ {</span></span></li>
    <li><span>    root           html;</span></li>
    <li class="alt"><span>    fastcgi_pass   127.0.0.1:9000;</span></li>
    <li><span>    fastcgi_index  index.php;</span></li>
    <li class="alt"><span>    fastcgi_param  SCRIPT_FILENAME  /home/www/nginx/html<span class="vars">$fastcgi_script_name</span><span>;</span></span></li>
    <li><span>    <span class="keyword">include</span><span>        fastcgi_params;</span></span></li>
    <li class="alt"><span>}</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
        location ~ .php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/www/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>可尝试启动Nginx：</p>
<div class="HighLighter" contenteditable="false">
<div contenteditable="false" class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>cd /home/www/nginx/sbin</span></span></li>
    <li><span>/home/www/nginx/sbin/nginx</span></li>
    <li class="alt"><span><span class="func">chown</span><span> _www:_www /home/www/nginx/html</span></span></li>
    <li><span>ps -ax &#124; grep nginx</span></li>
</ol>
</div>
<div contenteditable="false" class="php" style="display:none">
<pre>
cd /home/www/nginx/sbin
/home/www/nginx/sbin/nginx
chown _www:_www /home/www/nginx/html
ps -ax &#124; grep nginx</pre>
</div>
<div contenteditable="false">
<link href="http://blog.thislinux.com/editor/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" /></div>
</div>
<p>如正常可顺利看到nginx进程，至此ONMP已经成功安装完毕，去下载一个wordpress之类的PHP软件包安装一下，验证一下整套软件流是否能正常工作吧，祝好运。</p>
<p><span style="font-size: 14px; "><span style="color: rgb(255, 0, 0); ">题外话：现在主流的WEB前端都用Linux或者FreeBSD，我暂时没听到真有公司在生产机上使用OpenBSD作为前端的，可能大多使用OpenBSD的公司一般都比较低调，如果确实有这样的案例，烦请告知我一下，谢谢。</span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></description>
	<pubDate>Wed, 07 Nov 2012 02:11:44 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=7</guid>

</item>
<item>
	<title>玩玩精简的OpenBSD（1）</title>
	<link>http://www.thislinux.com/?post=8</link>
	<description><![CDATA[ 
	<p>OpenBSD适合作为大学学院教学UNIX系统的最佳范例，因为OpenBSD是纯正的BSD血统，而且架构精简安全，所有的一切都适合让其成为学习的典范。精简、安全、高效是OpenBSD的核心竞争力。</p>
<p><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">可能是为了更加亲民一些，</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Arial, sans-serif; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">OpenBSD5.2</span><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">的安装已经变成傻瓜式的安装，除了在配置网络参数的时候需要输入一下，其他基本按回车键就能完成一个标准系统的安装了。和</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Arial, sans-serif; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">LINUX</span><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">和</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Arial, sans-serif; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">FreeBSD</span><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">相比起来，现在的</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Arial, sans-serif; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">OpenBSD</span><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">仍然属于小众，但醉心于这个号称</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Arial, sans-serif; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">&ldquo;</span><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">最安全</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Arial, sans-serif; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">&rdquo;</span><span style="font-size: 10.5pt; font-family: 宋体; color: rgb(62, 30, 30); background-color: rgb(250, 250, 250); background-position: initial initial; background-repeat: initial initial; ">操作系统的爱好者则很享受这种小众的状态。</span></p>
<p>安装后就正常使用了，缺省安装已经带上了常用的工具，可设定软件仓库（我测试过国内访问最快的是日本的mirror），方法如下：</p>
<p><span style="font-size: 10.5pt; ">export PKG_PATH=http://ftp.jaist.ac.jp/pub/OpenBSD/5.2/packages/i386/</span></p>
<p>设定环境变量PKG_PATH后，可以用pkg_add方便的安装你所需要的软件包，pkg_add会自动处理软件包之间的依赖关系，例如：</p>
<p>pkg_add lsof</p>
<p>&nbsp;</p>
<p>OpenBSD的使用基本上和FreeBSD非常接近，欢迎你进入OpenBSD的精简世界。后期我会另外写文章介绍如何让OpenBSD成为一个标准的Nginx+PHP+Mysql服务器，或者让OpenBSD成为一个高效的防火墙。</p>
<p>&nbsp;</p>
<p><img src="attachment.php?fid=21" alt="" /></p>
<p class="a0"><span lang="EN-US" style="font-size:10.5pt"><o:p></o:p></span></p>
<p>&nbsp;</p>
<p class="a0"><span lang="EN-US" style="font-size:10.5pt"><o:p></o:p></span></p>
<p>&nbsp;</p>
]]></description>
	<pubDate>Tue, 06 Nov 2012 16:13:01 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=8</guid>

</item>
<item>
	<title>知道自己想做什么而且真真正正去做</title>
	<link>http://www.thislinux.com/?post=9</link>
	<description><![CDATA[ 
	<p>试着归纳了一下这几年一直偏重的领域，或者说是想做更多知识储备的领域，知识不嫌多，但获取知识唯有依靠孜孜不倦的学习和努力。</p>
<p>每个人的知识领域都是在工作学习过程中慢慢形成的，哪些是自己喜欢或者不喜欢，哪些是自己的强项或者想强化的领域，如能做到清晰自然，成足在胸，自然就能充满信心的去应对任何的挑战。</p>
<p>目前本人比较在意的知识领域，见图：</p>
<p><img src="attachment.php?fid=20" alt="" /></p>
]]></description>
	<pubDate>Mon, 29 Oct 2012 11:23:47 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=9</guid>

</item>
<item>
	<title>做golang的义务推动者</title>
	<link>http://www.thislinux.com/?post=10</link>
	<description><![CDATA[ 
	<p>这段时间对golang的学习让我感受最深的是：实在太智能太带感了。与C比较，我觉得golang更加符合人对这个领域认知的自然过程，在golang这里，任何概念都不再晦涩难懂，每一个知识点都如同流水行舟般顺滑。</p>
<p>好吧，我决意要成为golang的义务推动者，虽然我现在才是个入门者。</p>
<p>先实现第一步：买几本golang的书送给还在大学学习的几个朋友和表弟，嘻嘻。</p>
]]></description>
	<pubDate>Wed, 10 Oct 2012 18:46:45 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=10</guid>

</item>
<item>
	<title>如何成为一个优秀的项目管理者</title>
	<link>http://www.thislinux.com/?post=11</link>
	<description><![CDATA[ 
	<p>形形色色的项目中，每个项目都有其特点和过程，使一个项目达成目标，作为项目经理角色的人，我觉得需要三个方面素质：</p>
<p>（1）专业知识：可能是项目管理的知识，也可能是项目经理本身对产品和流程的熟悉程度。我见过对产品本身一窍不通的项目经理，在遇到客户任何一个问题的时候，都要去咨询技术人员，这给客户的造成的一个印象就是：你不专业。客户不认为你对项目本身有太多的权威，这对项目的有效推进实在是一场灾难。</p>
<p>（2）实践能力：就是所谓的经验了，经验这东西每个人不同，就算同一个项目，拿给不同的项目经理去做，最后他们得出的结论和裨益都有所不同。不犯同一个错误的最好的方法是：记下来。再者就是沟通和掌控能力了，这些东西很难从书本或者某人的嘴上学习到，一切修为都要靠自己真真正正去做才能感悟。</p>
<p>（3）个人素质：每个项目经理体现出的精神状态，对项目的专注程度可以有很大的分别。书本上曾经教我们要发挥个人魅力，没有实打实的经验和能力哪里来的个人魅力和话语权，所以（3）必须依赖于（1）和（2）来发挥作用，否则则是扯蛋。</p>
<p>&nbsp;</p>
<p>先总结到这里，以后继续添加。</p>
<p>&nbsp;</p>
<p><input type="image" src="/attachment/image/62062d82jw1du14rnthwqj.jpg" width="424" height="600" /></p>
]]></description>
	<pubDate>Wed, 10 Oct 2012 18:35:22 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=11</guid>

</item>
<item>
	<title>CPU负载不均衡</title>
	<link>http://www.thislinux.com/?post=12</link>
	<description><![CDATA[ 
	<p>&nbsp;使用mpstat -P ALL观察负载在各CPU的分布，结果发现99.9%的中断都被分配到CPU1上，中断数值大得吓人，这相当不科学。</p>
<p>查了一轮的资料，都未说明为何中断只会被分配到单一CPU上，难道是为了提升效率？</p>
<p>不能放弃，继续跟踪内核版本，内核版本是2.6.32-300.32.2el5 ，可以说是相当新的版本了，查阅了该内核版本对于中断的处理更变，changlog描述2.6.30版本的内核已经支持中断的自动分配，BUT现在尼玛就是只会把中断放在一个CPU上啊，内核也坑爹啊！！！</p>
<p>既然中断不能均衡分布，那有什么方法可以让系统自动完成自动分配中断的功能呢，没错，我脑子里浮起了一个名字：irqbalance ，主站在这里：<a href="https://irqbalance.org/"><a href="https://irqbalance.org/" target="_blank">https://irqbalance.org/</a></a></p>
<p>死马当活马医了，使用yum安装上irqbalance，并手工启动service irqbalance start，再用mpstat观察中断分布情况，哎哟，中断在各CPU之间跳动了，好事，但idle有一定程度的降低，可能是中断的切换相对耗费了一定的CPU时间。</p>
<p>留有的疑问是：为何新版本的内核不能自动分配中断，非要安装上irqbalance才行呢？</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></description>
	<pubDate>Sat, 29 Sep 2012 04:36:45 +0000</pubDate>
	<author>龙伟进</author>
	<guid>http://www.thislinux.com/?post=12</guid>

</item></channel>
</rss>