<?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>Y-Space &#187; CentOS</title>
	<atom:link href="http://www.1990y.com/tag/centos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.1990y.com</link>
	<description>A bad beginning makes a bad ending.</description>
	<lastBuildDate>Wed, 18 May 2011 07:44:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>设置Nginx进程分配至多核CPU提升性能</title>
		<link>http://www.1990y.com/nginx-worker-process-affinity/</link>
		<comments>http://www.1990y.com/nginx-worker-process-affinity/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 01:24:25 +0000</pubDate>
		<dc:creator>yeasiz</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Nginx]]></category>

		<guid isPermaLink="false">http://www.1990y.com/?p=1090</guid>
		<description><![CDATA[Nginx 配置文件 nginx.conf 首先需要找到 Nginx 的配置文件 nginx.conf 才能进行下面的操作，在LNMP一键安装包默认配置下，nginx.conf 存放在 /usr/local/nginx/conf/nginx.conf 至于其他环境下安装 Nginx 可以用 find / -name nginx.conf 来查找配置文件的存放路径。 Nginx worker_processes进程数设置 Nginx 的配置文档 nginx.conf 中可以设置 worker_processes 来更改 Nginx 的进程数量，根据这篇问答number of nginx worker processes显示，建议 Nginx worker_processes进程数设置为1，因为： Nginx unlike Apache and other process &#8230; <a href="http://www.1990y.com/nginx-worker-process-affinity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Nginx 配置文件 nginx.conf</h2>
<p>首先需要找到 Nginx 的配置文件 nginx.conf 才能进行下面的操作，在<a href="http://lnmp.org/">LNMP一键安装包</a>默认配置下，nginx.conf 存放在<br />
<code>/usr/local/nginx/conf/nginx.conf</code><br />
至于其他环境下安装 Nginx 可以用<br />
<code>find / -name nginx.conf</code><br />
来查找配置文件的存放路径。</p>
<h2>Nginx worker_processes进程数设置</h2>
<p>Nginx 的配置文档 nginx.conf 中可以设置 worker_processes 来更改 Nginx 的进程数量，根据这篇问答<a href="http://serverfault.com/questions/6288/number-of-nginx-worker-processes">number of nginx worker processes</a>显示，建议 Nginx worker_processes进程数设置为1，因为：</p>
<blockquote><p>Nginx unlike Apache and other process per connection webservers. It uses  one master process to start and monitor a small number of worker  processes that actually handle the connections. My recommendation is to  start with the default number of workers, which is 1.</p></blockquote>
<p>但我们的目的是要把不同的 worker_processes 进程分配至不同核上的 CPU 上运行，所以以我目前的VPS提供商Linode的512配置为例，服务器母鸡拥有8个逻辑CPU，但是作为用户我只得到4个逻辑CPU，所以在这里我设置为运行3个worker_processes进程，原因是在默认情况下，其他的程序会在第1个逻辑CPU（CPU0）上运行，为了不影响其他程序，我将会把这3个进程分配至另外3个逻辑CPU（CPU1、CPU2、CPU3）上运行：</p>
<p><code>worker_processes     3;</code></p>
<p><span id="more-1090"></span></p>
<p>一般来说，拥有几个逻辑CPU，就设置为几个worker_processes 为宜，但是 worker_processes 超过8个就没有多大意义了，原因再上面那段英文里已经提到了。</p>
<p>你可以使用这条命令来查看当前的CPU情况：<br />
<code>cat /proc/cpuinfo</code><br />
或者直接显示逻辑CPU的个数：<br />
<code>cat /proc/cpuinfo |grep "processor"|wc -l</code></p>
<h2>Nginx worker_cpu_affinity 设置</h2>
<p>根据 <a href="http://wiki.nginx.org/NginxHttpMainModule#worker_cpu_affinity">Nginx Wiki</a> 上的资料显示：</p>
<blockquote>
<h2>worker_cpu_affinity</h2>
<p><strong>Syntax:</strong> <em>worker_cpu_affinity cpumask [cpumask...] </em></p>
<p><strong>Default:</strong> <em>none</em></p>
<p>Linux only.</p>
<p>With this option you can bind the worker process to a CPU, it calls sched_setaffinity().</p>
<p>For example,</p>
<div dir="ltr">
<div>
<pre>worker_processes     4;
worker_cpu_affinity 0001 0010 0100 1000;</pre>
</div>
</div>
<p>Bind each worker process to one CPU only.</p>
<div dir="ltr">
<div>
<pre>worker_processes     2;
worker_cpu_affinity 0101 1010;</pre>
</div>
</div>
<p>Bind the first worker to CPU0/CPU2, bind the second worker to CPU1/CPU3. This is suitable for HTT.</p></blockquote>
<p>worker_cpu_affinity 默认是没有开启的，根据例子我们可以看得出，0001 0010 0100 1000 分别代表第1、2、3、4个逻辑CPU，所以我们可以设置0010 0100 1000来将3个进程分别绑定到第2、3、4个逻辑CPU上：<br />
<code>worker_processes     3;<br />
worker_cpu_affinity 0010 0100 1000;</code></p>
<p>同时根据例子我们也可以看出，worker_cpu_affinity 可以将同1个进程绑定在2个逻辑CPU上：<br />
<code>worker_processes     2;<br />
worker_cpu_affinity 0101 1010;</code><br />
0101也就是第1、3个逻辑CPU上，1010就是第2、4个逻辑CPU上。</p>
<h2>Nginx 进程分配至多核CPU设置的启用和测试</h2>
<p>保存 <code>nginx.conf 文件，并重新加载 Nginx 配置文件：<br />
</code>/usr/local/nginx/sbin/nginx -s  reload</p>
<p>在另一台安装了 Apache 的主机下运行 <a href="http://httpd.apache.org/docs/1.3/programs/ab.html">ab</a> 来测试：<br />
<code>ab -n 20000 -k http://www.1990y.com/p.php</code><br />
你可以测试一个需要MySQL查询的PHP页面，也可以测试一个静态图片或者页面。</p>
<p>在被测试服务器上可以使用 top 查看当前服务器情况，然后按 1 来显示各个逻辑CPU的使用情况。</p>
<p>至于为什么我要设置Nginx进程分配至多核CPU呢？这不是生命在于折腾么。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1990y.com/nginx-worker-process-affinity/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CentOS 系统架设 SeedBox 软件 Transmission</title>
		<link>http://www.1990y.com/centos-set-up-seedbox-transmission/</link>
		<comments>http://www.1990y.com/centos-set-up-seedbox-transmission/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 09:52:41 +0000</pubDate>
		<dc:creator>yeasiz</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Transmission]]></category>

		<guid isPermaLink="false">http://www.1990y.com/?p=921</guid>
		<description><![CDATA[为什么我需要一台 SeedBox ？ 我现在的网络（TPG）最快下载速度为 1.6MB/S ，但是上传速度只有 100KB/S 。 看论坛里别人的 Ratio （分享率）好多都是 2+ 的，上传都是几TB，羡慕。 牛B啊，晾骚啊，咱可是用自己的独立 SeedBox ，下载上传速度唰唰的。 安装前的准备： 基本的计算机操作水平，小白退散。 一台 CentOS (64bit) 系统的服务器或者 VPS ，并且拥有 Root 权限。（当然Debian / Ubuntu 都是可以安装D） 会使用 Linux 基本的操作命令，会使用 SSH 连接控制服务器。（Windows 平台推荐 PuTTY ，MAC 下直接在 Terminal 终端里 &#8230; <a href="http://www.1990y.com/centos-set-up-seedbox-transmission/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>为什么我需要一台 SeedBox ？</h2>
<ol>
<li>我现在的网络（TPG）最快下载速度为 1.6MB/S ，但是上传速度只有 100KB/S 。</li>
<li>看论坛里别人的 Ratio （分享率）好多都是 2+ 的，上传都是几TB，羡慕。</li>
<li>牛B啊，晾骚啊，咱可是用自己的独立 SeedBox ，下载上传速度唰唰的。</li>
</ol>
<h2>安装前的准备：</h2>
<ol>
<li>基本的计算机操作水平，小白退散。</li>
<li>一台 CentOS (64bit) 系统的服务器或者 VPS ，并且拥有 Root 权限。（当然Debian / Ubuntu 都是可以安装D）</li>
<li>会使用 Linux 基本的操作命令，会使用 SSH 连接控制服务器。（Windows 平台推荐 <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank">PuTTY</a> ，MAC 下直接在 Terminal 终端里 SSH 连接即可）</li>
</ol>
<h2>安装</h2>
<p>首先通过 SSH 连接软件，用你的 Root 帐户登录你的服务器或者 VPS。</p>
<h3>安装更新软件Packages</h3>
<p>安装 Transmission 软件需要运行的各类软件包，复制粘贴以下命令：</p>
<blockquote><p><span style="font-style: normal;">yum -y install gcc gcc-c++ m4 make automake libtool gettext openssl-devel pkgconfig perl-libwww-perl perl-XML-Parser curl curl-devel libevent-devel libevent libidn-devel zlib-devel</span></p></blockquote>
<p>以及将系统内的软件升级为最新版本：</p>
<blockquote><p><span style="font-style: normal;">yum -y upgrade</span></p></blockquote>
<p>这可能要花上几分钟至几十分钟的时间，取决于你使用的服务器的网络以及性能。</p>
<h3>安装 <code>intltool </code>（国际化工具？这中文翻译真囧 -w-）</h3>
<p>CentOS 系统自带的 intltool 早已经老化鸟，并且 yum 源里的 intltool 也很长时间没更新鸟，所以我们需要自行下载编译最新版本的 intltool ，复制粘贴以下命令：</p>
<p><code>cd /usr/local/src<br />
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz<br />
tar zxf intltool-*.tar.gz<br />
cd intltool-*<br />
./configure --prefix=/usr<br />
make -s<br />
make -s install</code></p>
<h3>安装 Transmission</h3>
<p>选 Transmission 为 SeedBox 的软件是因为它的界面很 Mac 很骚，并且对 iPhone / iTouch 甚至我现在用的 BlackBerry 9700 手持设备进行了页面优化，复制粘贴以下命令：</p>
<p><code>cd /usr/local/src<br />
wget <span style="color: #ff0000;">http://download.m0k.org/transmission/files/transmission-2.13.tar.bz2</span><br />
tar xjf transmission-*.tar.bz2<br />
cd transmission-*<br />
./configure --prefix=/usr<br />
make -s<br />
make -s install</code><br />
2010-1-10日更新：代码中的红色部分为Transmission 2.13版本更新，如果以后Transmission升级鸟，你可以到<a href="http://www.transmissionbt.com/download/">这里</a>查看最新版本的下载地址。</p>
<p>新建一个为运行 Transmission 的专有用户，更安全，更骚：</p>
<blockquote><p><span style="font-style: normal;">useradd -m transmission<br />
passwd transmission<br />
（输入你要设定的密码，按回车后再输一遍）</span></p></blockquote>
<p>建立 init 文件，使 Transmission 可以在关机、重启后随系统开机运行：</p>
<blockquote><p><span style="font-style: normal;">wget -O /etc/init.d/transmissiond http://yeasiz.googlecode.com/files/transmission.sh<br />
chmod 755 /etc/init.d/transmissiond<br />
chkconfig &#8211;add transmissiond<br />
chkconfig &#8211;level 345 transmissiond on</span></p></blockquote>
<p>开始和停止 Transmission 守护进程，你应该可以看到2个绿色的<strong>[<span style="color: #008000;">OK</span>] </strong>：</p>
<p><a href="http://www.1990y.com/wp-content/uploads/2010/10/Transmission.png"></a><a href="http://www.1990y.com/wp-content/uploads/2010/10/Transmission.png"><img class="aligncenter size-full wp-image-948" title="Transmission" src="http://www.1990y.com/wp-content/uploads/2010/10/Transmission.png" alt="" width="587" height="414" /></a></p>
<blockquote><p><span style="font-style: normal;">service transmissiond start<br />
service transmissiond stop</span></p></blockquote>
<p>接着我们需要更改下 Transmission 的默认配置，关闭白名单和开启用户认证，请自行修改文中<strong>粗体</strong>的用户名（<strong>yeasiz</strong>）和密码（<strong>1990y.com</strong>）：</p>
<blockquote><p><span style="font-style: normal;">cd /home/transmission/.config/transmission/<br />
sed -i &#8216;s/^.*rpc-whitelist-enabled.*/”rpc-whitelist-enabled”: false,/&#8217; settings.json<br />
sed -i &#8216;s/^.*rpc-authentication-required.*/”rpc-authentication-required”: true,/&#8217; settings.json<br />
sed -i &#8216;s/^.*rpc-username.*/”rpc-username”: “yeasiz”,/&#8217; settings.json<br />
sed -i &#8216;s/^.*rpc-password.*/”rpc-password”: “1990y.com”,/&#8217; settings.json</span></p></blockquote>
<p>创建下载文件存放目录，给与其相应的写入读取权限：</p>
<blockquote><p><span style="font-style: normal;">mkdir -p /home/transmission/Downloads/<br />
chown -R transmission.transmission /home/transmission/Downloads/<br />
chmod g+w /home/transmission/Downloads/</span></p></blockquote>
<p>至此，所有的安装项目都结束鸟，让我们开启 Transmission 的守护进程吧～</p>
<blockquote><p><span style="font-style: normal;">service transmissiond start</span></p></blockquote>
<h2>安装后的测试</h2>
<p>在浏览器中打开下面的地址：</p>
<blockquote><p><span style="font-style: normal;">http://你服务器的ip地址:9091/transmission/web/</span></p></blockquote>
<p>如图所示：</p>
<p><a href="http://www.1990y.com/wp-content/uploads/2010/10/Screen-shot-2010-10-02-at-11.52.57-AM.png"><img class="aligncenter size-large wp-image-949" title="Screen shot 2010-10-02 at 11.52.57 AM" src="http://www.1990y.com/wp-content/uploads/2010/10/Screen-shot-2010-10-02-at-11.52.57-AM-1024x640.png" alt="" width="640" height="400" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.1990y.com/centos-set-up-seedbox-transmission/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>CentOS SSH常用命令</title>
		<link>http://www.1990y.com/centos-command/</link>
		<comments>http://www.1990y.com/centos-command/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 10:49:46 +0000</pubDate>
		<dc:creator>yeasiz</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Command]]></category>

		<guid isPermaLink="false">http://www.1990y.com/?p=612</guid>
		<description><![CDATA[这是我平时使用PuTTY记录下的命令，以前经常去google搜索这些基本的命令，现在记录下来就不用再东跑西跑浪费时间了。 命令包括top、yum、getconf、more、rpm、hostname、rm、cd、mv、ln、cp、find、df、wget、unzip、tar Latest update:091023 top /*性能分析工具，就是windows下的任务管理器*/ yum check-update /*检查可更新的rpm包*/ yum update /*更新所有的rpm包*/ yum update 包名 /*更新指定的rpm包*/ getconf LONG_BIT /*查看CPU位数(32 or 64)*/ more /etc/redhat-release cat /etc/redhat-release /*查看当前linux的版本*/ rpm -qa rpm -qa &#124; wc -l yum list installed &#124; wc -l /*查看现在已经安装了那些软件包*/ &#8230; <a href="http://www.1990y.com/centos-command/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>这是我平时使用PuTTY记录下的命令，以前经常去google搜索这些基本的命令，现在记录下来就不用再东跑西跑浪费时间了。<br />
命令包括top、yum、getconf、more、rpm、hostname、rm、cd、mv、ln、cp、find、df、wget、unzip、tar<br />
Latest update:<span style="color: #ff0000;">091023</span></p>
<p><span id="more-612"></span><br />
top<br />
/*性能分析工具，就是windows下的任务管理器*/</p>
<p>yum check-update<br />
/*检查可更新的rpm包*/<br />
yum update<br />
/*更新所有的rpm包*/<br />
yum update 包名<br />
/*更新指定的rpm包*/</p>
<p>getconf LONG_BIT<br />
/*查看CPU位数(32 or 64)*/</p>
<p>more /etc/redhat-release<br />
cat /etc/redhat-release<br />
/*查看当前linux的版本*/</p>
<p>rpm -qa<br />
rpm -qa | wc -l<br />
yum list installed | wc -l<br />
/*查看现在已经安装了那些软件包*/</p>
<p>hostname<br />
/*查看主机名*/</p>
<p>rm -rf mydir<br />
/*删除mydir目录*/<br />
rm go.tar<br />
/*删除go.tar文件*/<br />
cd mydir<br />
/*进入mydir目录*/<br />
cd -<br />
/*回上一级目录*/<br />
cd ~<br />
/*回根目录*/</p>
<p>mv tools tool<br />
/*把tools目录改名为tool */</p>
<p>ln -s tool bac<br />
/*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/</p>
<p>cp -a tool /home/leavex/www<br />
/*把tool目录下所有文件复制到www目录下 */</p>
<p>find mt.cgi<br />
/*查找文件名为mt.cgi的文件*/</p>
<p>df -h<br />
/*查看磁盘剩余空间,好像没这个必要，除非你太那个了*/</p>
<p>wget <a href="http://lib.1990y.com/wordpress-2.8.2.tar.gz">http://lib.1990y.com/wordpress-2.8.2.tar.gz</a><br />
/*下载远程服务器上的文件到自己的服务器，连上传都省了，服务器不是100M就是1000M的带宽，下载一个2-3兆的MT还不是几十秒的事*/</p>
<p>wget -c <a href="http://lib.1990y.com/wordpress-2.8.2.tar.gz">http://lib.1990y.com/wordpress-2.8.2.tar.gz</a><br />
/*继续下载上次未下载完的文件*/</p>
<p>unzip phpbb.zip<br />
/*解压zip文件，windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的*/</p>
<p>tar cf toole.tar tool<br />
/*把tool目录打包为toole.tar文件*/<br />
tar cfz geek.tar.gz tool<br />
/*把tool目录打包且压缩为geek.tar.gz文件，因为.tar文件几乎是没有压缩过的，MT的.tar.gz文件解压成.tar文件后差不多是10MB*/</p>
<p>tar xvf wordpress.tar<br />
/*解压tar格式的文件*/<br />
tar -tvf myfile.tar<br />
/*查看tar文件中包含的文件*/<br />
gzip -d ge.tar.gz<br />
/*解压.tar.gz文件为.tar文件*/</p>
<p>/etc/init.d/httpd restart<br />
/*重启Apache进程*/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1990y.com/centos-command/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

