<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.2" -->
<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/"
	>

<channel>
	<title>Symfony Askeet24翻译校对完成-lightphp轻型开发框架发布</title>
	<link>http://symfony.net.cn</link>
	<description>He Luan's Blog</description>
	<pubDate>Tue, 13 Dec 2011 01:23:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>
	<language>en</language>
			<item>
		<title>Rsync、Inotify实现服务器间文件实时同步</title>
		<link>http://symfony.net.cn/archives/195</link>
		<comments>http://symfony.net.cn/archives/195#comments</comments>
		<pubDate>Thu, 07 Jul 2011 04:24:22 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/195</guid>
		<description><![CDATA[写在前面
rsync对做系统运维的人来说，是个熟悉的名词，服务器间数据同步就靠它。但是rsync也有缺点，如果待同步文件数量巨大，那么光遍历目录的耗时就非常多，可实际上被改动待传输的文件可能只是很小的一部分。
系统运维中，用rsync实现备份服务器功能是经常遇到的。集群中程序的备份好说，一般程序文件不到升级版本，是不会改动的，所以我们每次上传后，在集群中建立信任关系，然后rsync同步下就完事了。但是用户上传图片备份呢？一般是选择定时传输文件到备份机，但是如果出现问题切换备份服务器，总会有部分数据丢失，无法做到实时备份。再举个例子，网站要跨机房进行迁移，一般的做法是在新机房放好机器后，传输程序和部分图片附件过去，然后切换DNS，数据库先用replication读写分离，远程写入撑着。老机房定时用rsync往新机房传，新机房的404页面做点手脚，如果访问的图片附件找不到，那么去旧IP地址下载新图片。这些事情说起来是几句话，做起来可很费劲，费劲之余，我们想想，如果新旧机房的附件能实现实时同步，那么是不是就等于节省了一半的力气呢？答案是肯定的。那么如何实现实时同步呢？哈哈！我们可以使用rsync和inotify来配套实现。
实验思路
假设机房里有一个web集群，我们上传程序的步骤是先上传文件到集群中某台服务器，此服务器作为集群的rsync inotify服务端，当服务端觉察到（由inotify实现）程序文件发生改变后，开始同步新文件到集群中其他服务器上（由rsync实现传输，各服务器之间先建立好信任关系）。
同理，当我们跨机房迁移网站时，由于DNS缓存导致各地访问的机房位置不同，附件图片也会上传到不同的机房里。这个时候，两个机房可以互相进行实时同步，rsync去掉&#8211;delete参数就好了。哈哈！举一反三，能学到很多东西。
测试环境
两台服务器均安装CentOS 5.5 x86_64，安装开发工具和开发库。
两台服务器IP地址、HOSTNAME和待同步目录分别为：
10.0.0.6 server1 /data/web （服务端）10.0.0.7 server2 /data/web （客户端）10.0.0.8 server3 /data/web （客户端）10.0.0.9 server4 /data/web （客户端）
服务端服务器配置
安装inotify工具
yum -y groupinstall 'Development Tools' 'Development Libraries'cd /usr/local/srcwget -c ftp://10.0.0.3/Linux/inotify-tools-3.14.tar.gztar zxf inotify-tools-3.14.tar.gzcd inotify-tools-3.14./configure --prefix=/usr/local/inotify314makemake install
建立从服务端到客户端的信任关系。
ssh-keygen -t rsa
[root@server1 web]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/195/feed</wfw:commentRss>
		</item>
		<item>
		<title>网卡故障解决随笔记录</title>
		<link>http://symfony.net.cn/archives/194</link>
		<comments>http://symfony.net.cn/archives/194#comments</comments>
		<pubDate>Sat, 11 Jun 2011 03:00:26 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/194</guid>
		<description><![CDATA[    本地一台安装CentOS的开发服务器连续出现了几次网络连接不成功问题，连上显示器和键盘登录后，发现实际上系统还在运转，只不过网络不通畅了。第一次发现时，重新启动了网络，问题就解决了，当时由于匆忙也没太注意。可是过了两天，同样的问题又发生在这台服务器上，决定深究下了。
    首先重启网络，使之可用，毕竟不能耽误开发任务，然后回到办公室远程连接寻找蛛丝马迹。毕竟机房的噪音也是一种折磨，谁也不想在那里呆很久。
    首先查看错误日志：
kernel: NETDEV WATCHDOG: eth0: transmit timed out
在网上铺天盖地都查，发现果然有同样的问题出现过，试验下解决方法：
ethtool -K eth0 tso off
记得把这个添加到/etc/rc.local里。
继续观察两天，问题解决。
]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/194/feed</wfw:commentRss>
		</item>
		<item>
		<title>各64位操作系统安装skype方法汇总</title>
		<link>http://symfony.net.cn/archives/193</link>
		<comments>http://symfony.net.cn/archives/193#comments</comments>
		<pubDate>Thu, 14 Apr 2011 07:36:40 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/193</guid>
		<description><![CDATA[CentOS 5.6、RedHat 6、Scientific Linux 6，甚至包含Fedora 14，凡是64位的系统，安装skype基本都会出现这样那样的问题，安装次数多了，把解决方法都记录下来，方便以后参考。
CentOS 5.6 x86_64安装skype方法
从skype官方网站下载最新skype静态包 skype_static-2.2.0.25.tar.bz2 ，解压缩运行后，出现错误如下。
[hluan@desktop skype22025]$ ./skype ./skype: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./skype)
下载 libstdc++.so.6.0.10 并解压缩到/usr/lib下，在 http://down.51cto.com/data/184394 可以下载。
cd /usr/librm -f libstdc++.so.6ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6
启动skype，搞定！
Scientific Linux 6 x86_64安装skype方法
下载使用官方针对fedora 10的rpm包，也可以使用官方静态包。
wget http://skype.tom.com/download/linux/skype-2.1.0.81-fc10.i586.rpmsudo rpm -ivh linux/skype-2.1.0.81-fc10.i586.rpm
使用如下命令检查skype依赖关系，然后yum search对应的包安装i686包即可。
[hluan@thinkpad skype21081]$ ldd skype	linux-gate.so.1 =&#62;&#160; (0xf778c000)	libasound.so.2 =&#62; /lib/libasound.so.2 (0xf7681000)	libXv.so.1 =&#62; /usr/lib/libXv.so.1 (0xf767c000)	libXss.so.1 =&#62; /usr/lib/libXss.so.1 (0xf7679000)	libSM.so.6 =&#62; [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/193/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS编译安装lighttpd配置静态资源服务器</title>
		<link>http://symfony.net.cn/archives/192</link>
		<comments>http://symfony.net.cn/archives/192#comments</comments>
		<pubDate>Wed, 08 Dec 2010 02:23:57 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/192</guid>
		<description><![CDATA[简介
Lighttpd是一个德国人领导的开源软件，其根本的目的是提供一个专门针对高性能网站，安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销，cpu占用率低，效能好，以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。就目前国内的应用来看，好像lighttpd都是和亲爱的python搭伙，参考网上的文章，我们拿lighttpd作为静态资源服务器，这样也好，毕竟nginx + php fast-cgi已经很强大了，我们就让lighttpd担负起静态资源服务器的重任吧。
测试环境
CentOS 5.5 x86_64，安装开发工具和开发库。
安装并启动
安装pcre开发库
yum -y install pcre-devel
安装lighttpd
tar zxf lighttpd-1.4.26.tar.gzcd lighttpd-1.4.26./configure --prefix=/usr/local/lighttpd --with-pcremake &#38;&#38; make install
添加管理脚本
cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd1426ln -s /usr/local/lighttpd/sbin/lighttpd /usr/sbin/lighttpd
创建配置文件
mkdir /etc/lighttpdcp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
使用cronolog来分割服务器访问日志
tar zxf cronolog-1.6.2.tar.gzcd cronolog-1.6.2./configuremake &#38;&#38; make install
创建日志和默认站点目录
mkdir /www /www/logs /www/htdocs
修改lighttpd配置文件
sed -i 's#server.document-root&#160; &#160; &#160; &#160; = &#34;/srv/www/htdocs/&#34;#server.document-root = &#34;/www/htdocs&#34;#' /etc/lighttpd/lighttpd.confsed -i 's#server.errorlog&#160; &#160; [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/192/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS + LVS 安装配置Web负载均衡服务器（NAT方式）</title>
		<link>http://symfony.net.cn/archives/190</link>
		<comments>http://symfony.net.cn/archives/190#comments</comments>
		<pubDate>Wed, 27 Oct 2010 09:21:51 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/190</guid>
		<description><![CDATA[准备设备
3台安装好CentOS 5.3 x86_64的普通PC电脑，均安装好开发工具和开发库，关闭selinux；
一台计算机做负载均衡调度服务器，代号：loadbalance；
两台计算机做网页服务器，代号：web1和web2；
TP-link交换机一个；
TP-link网卡一块。
配置网络环境
网络拓扑图

配置loadbalance服务器
关闭iptables，防止其阻止lvs启动。
配置网络，安装两块网卡：
[root@loadbalance ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0BOOTPROTO=staticHWADDR=00:25:22:07:3c:c7ONBOOT=yesIPADDR=10.0.0.107NETMASK=255.255.255.0GATEWAY=10.0.0.254TYPE=Ethernet[root@loadbalance ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneONBOOT=yesHWADDR=00:0a:eb:63:0c:67TYPE=EthernetIPADDR=10.10.0.10NETMASK=255.255.255.0[root@loadbalance ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1:1TYPE=EthernetDEVICE=eth1:1BOOTPROTO=staticNETMASK=255.255.255.0IPADDR=10.10.0.1ONPARENT=yes
开启linux路由转寄，编辑/etc/sysctrl.conf：
net.ipv4.ip_forward = 1
运行 sysctrl -p 使之生效。
修改网卡启动脚本，防止net.ipv4.ip_forward再次被设置成0，编辑/etc/init.d/network注释掉相关代码：

配置完毕，重新启动网络。
配置web1和web2服务器
[root@web1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0BOOTPROTO=staticHWADDR=00:e0:4c:78:57:daONBOOT=yesIPADDR=10.10.0.30NETMASK=255.255.255.0GATEWAY=10.10.0.1TYPE=Ethernet
[root@web2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticONBOOT=yesHWADDR=00:00:6c:95:aa:42NETMASK=255.255.255.0IPADDR=10.10.0.40GATEWAY=10.10.0.1TYPE=Ethernet
配置好后重启网络，别忘记检查一下三台服务器是否可以互通。
安装配置LVS
yum install -y ipvsadm piranha
启动piranha-gui
/etc/init.d/piranha-gui start
执行 piranha-passwd 设置登录密码，打开浏览器访问：http://10.0.0.107:3636即可看到登录界面。点击“login”登录。登录用户名：
piranha，密码使用刚才设置的。登录后，选择选项卡“Global Setting”进行设置并点击“accept”，如图：

选择选项卡“VIRTUAL SERVERS”，点击“ADD”后会添加一个空白服务器，然后点击“EDIT”，输入以下数据：

点击“accept”保存后，点击“(DE)ACTIVATE”激活。
继续选择刚才保存好的“VIRTUAL SERVERS”，点击“EDIT”后选择“REAL SERVER”，点击“ADD”后再点击“EDIT”输入web1和web2的IP地址，保存后激活，如图：

都配置好后，我们在loadbalance服务器上启动服务：
/etc/init.d/pulse start
测试负载均衡调度
web1和web2提供http服务，安装网页服务器步骤省略，我们先在loadbalance服务器上查看一下：
[root@loadbalance ~]# ipvsadm -lIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags&#160; -&#62; RemoteAddress:Port&#160; &#160; &#160; &#160; &#160; &#160;Forward [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/190/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS + Nagios 监控Web服务器</title>
		<link>http://symfony.net.cn/archives/184</link>
		<comments>http://symfony.net.cn/archives/184#comments</comments>
		<pubDate>Sat, 23 Oct 2010 07:23:36 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/184</guid>
		<description><![CDATA[测试环境
CentOS 5.5 x86_64，安装开发工具和开发库；关闭selinux；服务端IP地址：192.168.90.187，hostname:vps1；客户端IP地址：192.168.90.237，hostname:vps2，由apache提供web服务。
vi /usr/local/nagios/etc/lan_objects/hosts.cfg
# http 服务define host{&#160; use&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;generic-host&#160; host_name&#160; &#160; &#160; &#160; &#160; &#160; &#160;vps2_apache&#160; alias&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Apache Web Server&#160; address&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;192.168.90.237&#160; check_command&#160; &#160; &#160; &#160; &#160;check-host-alive&#160; max_check_attempts&#160; &#160; 10&#160; check_period&#160; &#160; &#160; &#160; [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/184/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS + Nagios 监控服务器SSHD</title>
		<link>http://symfony.net.cn/archives/183</link>
		<comments>http://symfony.net.cn/archives/183#comments</comments>
		<pubDate>Sat, 23 Oct 2010 03:19:57 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/183</guid>
		<description><![CDATA[测试环境：
CentOS 5.5 x86_64，安装开发工具和开发库；关闭selinux；服务端IP地址：192.168.90.187，hostname:vps1；客户端IP地址：192.168.90.237，hostname:vps2。
接上篇安装配置Nagios监控服务器基本功能，这次我们使用nagios监控sshd。修改配置文件：
vi /usr/local/nagios/etc/lan_objects/commands.cfg
# 检查SSH配置define command{&#160; command_name&#160; check_ssh&#160; command_line&#160; $USER1$/check_ssh -H $HOSTADDRESS$}
vi /usr/local/nagios/etc/lan_objects/hosts.cfg
# ssh 服务器define host{&#160; use&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; generic-host&#160; host_name&#160; &#160; &#160; &#160; &#160; &#160; &#160; vps2&#160; alias&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; vps2&#160; address&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 192.168.90.237&#160; check_command&#160; [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/183/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS + Nagios 监控服务器基本功能</title>
		<link>http://symfony.net.cn/archives/181</link>
		<comments>http://symfony.net.cn/archives/181#comments</comments>
		<pubDate>Fri, 22 Oct 2010 03:39:20 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/181</guid>
		<description><![CDATA[测试环境
CentOS 5.5 x86_64，安装开发工具和开发库。关闭selinux服务端IP地址：192.168.90.187
安装nagios
groupadd nagiosuseradd -g nagios -md /usr/local/nagios nagiosgroupadd nagioscmdusermod -G nagioscmd apacheusermod -G nagioscmd nagioswget ftp://192.168.1.242/Linux/nagios/nagios-2.9.tar.gzwget ftp://192.168.1.242/Linux/nagios/nagios-plugins-1.4.8.tar.gztar zxf nagios-2.9.tar.gztar zxf nagios-plugins-1.4.8.tar.gzcd nagios-2.9./configure --with-cgiurl=/nagios/cgi-bin --with-htmlurl=/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagioscmdmake allmake installmake install-initmake install-commandmodemake install-configcd ..cd nagios-plugins-1.4.8./configuremake &#38;&#38; make installcd ..
创建身份验证秘钥
cd /usr/local/nagios/etchtpasswd -c htpasswd.users nagioschown apache:nagioscmd htpasswd.userschmod 600 htpasswd.users
配置apache
安装apache步骤省略，确保httpd.conf里有Include conf.d/*.conf，然后在conf.d目录里创建nagios.conf，输入以下内容：
# conf.d/nagios.confAlias /nagios/cgi-bin /usr/local/nagios/sbin&#60;Directory &#34;/usr/local/nagios/sbin&#34;&#62;&#160; AddHandler cgi-script cgi [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/181/feed</wfw:commentRss>
		</item>
		<item>
		<title>给OpenOffice添加代码加亮插件</title>
		<link>http://symfony.net.cn/archives/179</link>
		<comments>http://symfony.net.cn/archives/179#comments</comments>
		<pubDate>Sat, 16 Oct 2010 07:38:17 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[My Diary]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/179</guid>
		<description><![CDATA[    有的时候需要在办公文档里写一些程序代码，如果文档比较正式，代码不加亮似乎显得不正规呢，也不方便阅读。过去的办法是截图，哎呀，太麻烦了！今天在linuxtoy上看到一篇文章，说可以在openoffice文档里实现代码加亮。就按图索骥，亲自实验了一下。
    从 http://extensions.services.openoffice.org/en/project/coooder 下载好扩展，启动openoffice进行扩展添加，提示必须2.4版本以上的openoffice才可以使用，汗！centos默认的openoffice版本是2.3，看来openoffice是需要升级一下了。好在咱本地有更新源，不然更新时那166MB数据包要下载到猴年马月啊！
升级openoffice为3.1.1，本地更新源速度飞快～！
yum groupinstall &#34;Office/Productivity&#34;
然后启动openoffice，敲上一段程序并选中，选择“工具”->Add-Ones->COOoder 即可实现代码加亮。
]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/179/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS 编译安装 MongoDB 数据库</title>
		<link>http://symfony.net.cn/archives/178</link>
		<comments>http://symfony.net.cn/archives/178#comments</comments>
		<pubDate>Sat, 16 Oct 2010 07:15:22 +0000</pubDate>
		<dc:creator>He Luan</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://symfony.net.cn/archives/178</guid>
		<description><![CDATA[测试环境
CentOS 5.3 x86_64 安装开发工具和开发库
安装Scons
yum install -y python-develtar zxf scons-1.2.0.tar.gzcd scons-1.2.0python setup.py installcd ..
安装spidermonkey库
yum install -y boost boost-develtar zxf js-1.7.0.tar.gzcd js/src/export CFLAGS=&#34;-DJS_C_STRINGS_ARE_UTF8&#34;make -f Makefile.refJS_DIST=/usr gmake -f Makefile.ref exportcd ../..
安装pcre
tar zxf pcre-6.6.tar.gzcd pcre-6.6./configure --enable-utf8 --enable-unicode-propertiesmake &#38;&#38; make installcd ..
安装MongoDB
tar zxf mongodb-src-r1.6.3.tar.gzcd mongodb-src-r1.6.3scons allmkdir /dbscons --prefix=/db/mongo163 install
如果需要安装lib和head，使用如下方式安装：
scons --prefix=/db/mongo163 --full install
创建配置文件
mkdir -p /db/mongo163/etc /db/mongo163/data /db/mongo163/log/ /db/mongo163/repairtouch /db/mongo163/etc/mongo.confecho &#34;dbpath = [...]]]></description>
		<wfw:commentRss>http://symfony.net.cn/archives/178/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

