Nginx+keepalived负载均衡
[ 2009/10/12 11:22 | by selboo ]
From:http://hi.baidu.com/yuhongchun027/blog/item/25eca12c3442e9e68a13998c.html
由于nginx的url hash功能可以很好的提升squid的性能,所以我把squid前端的负载均衡器更换为nginx,但是一台nginx就形成了单点,现在使用keepalived来解决这个问题,keepalived的故障转移时间很短(<1s),而且配置简单,这也是选择keepalived的一个主要原因,建议日PV值小的中小型企业web均可采用如下方案实行,下面直接上安装步骤:
一、环境:
centos5.3、nginx-0.7.51、keepalived-1.1.19
主nginx负载均衡器:192.168.0.154
辅nginx负载均衡器:192.168.9.155
vip:192.168.0.188
二、安装keepalived
#tar zxvf keepalived-1.1.19.tar.gz
#cd keepalived-1.1.19
#./configure --prefix=/usr/local/keepalived
#make
#make install
#cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
#cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
#mkdir /etc/keepalived
#cd /etc/keepalived/
vim keepalived.conf
#service keepalived start
我们来看一下日志:
[root@ltos ~]# tail /var/log/messages
Oct 6 03:25:03 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.188 on eth0.
Oct 6 03:25:03 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.154 on eth0.
Oct 6 03:25:03 ltos avahi-daemon[2306]: Registering HINFO record with values 'I686'/'LINUX'.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Withdrawing address record for fe80::20c:29ff:feb9:eeab on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Withdrawing address record for 192.168.0.154 on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Host name conflict, retrying with
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering new address record for fe80::20c:29ff:feb9:eeab on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.188 on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.154 on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering HINFO record with values 'I686'/'LINUX'.
很显然vrrp已经启动,我们还可以通过命令:#ip a 来检查
[root@ltos html]# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:ba:9b:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.154/24 brd 192.168.0.255 scope global eth0
inet 192.168.0.188/32 scope global eth0
inet6 fe80::20c:29ff:feba:9be7/64 scope link
valid_lft forever preferred_lft forever
3: sit0: mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
说明vip已经启动,这样主服务器就配置好了,辅机的配置大致一样,除了配置文件有少部分的变化,下
面贴出辅机的配置文件:
检查其配置
[root@ltos html]# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:ba:9b:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.155/24 brd 192.168.0.255 scope global eth0
inet 192.168.0.188/32 scope global eth0
inet6 fe80::20c:29ff:feba:9be7/64 scope link
valid_lft forever preferred_lft forever
3: sit0: mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
测试其效果方法很简单,分别在主辅机上建立不同的主页,index.html分别为192.168.0.154,192.168.0.155,然后用客户机上elinks http://192.168.0.188,主机down掉后辅机会马上接替提供服务,间隔时间几乎无法感觉出来,这个环境准备再进行下压力测试,用于我杭州网跃朋友的web服务器,如有疑问请联系yuhongchun027@163.com(抚琴煮酒)
由于nginx的url hash功能可以很好的提升squid的性能,所以我把squid前端的负载均衡器更换为nginx,但是一台nginx就形成了单点,现在使用keepalived来解决这个问题,keepalived的故障转移时间很短(<1s),而且配置简单,这也是选择keepalived的一个主要原因,建议日PV值小的中小型企业web均可采用如下方案实行,下面直接上安装步骤:
一、环境:
centos5.3、nginx-0.7.51、keepalived-1.1.19
主nginx负载均衡器:192.168.0.154
辅nginx负载均衡器:192.168.9.155
vip:192.168.0.188
二、安装keepalived
#tar zxvf keepalived-1.1.19.tar.gz
#cd keepalived-1.1.19
#./configure --prefix=/usr/local/keepalived
#make
#make install
#cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
#cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
#mkdir /etc/keepalived
#cd /etc/keepalived/
vim keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
yuhongchun027@163.com
}
notification_email_from keepalived@chtopnet.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
mcast_src_ip 192.168.0.155 <==辅nginx的IP地址
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass chtopnet
}
virtual_ipaddress {
192.168.0.188 <==vip地址
}
}
global_defs {
notification_email {
yuhongchun027@163.com
}
notification_email_from keepalived@chtopnet.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
mcast_src_ip 192.168.0.155 <==辅nginx的IP地址
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass chtopnet
}
virtual_ipaddress {
192.168.0.188 <==vip地址
}
}
#service keepalived start
我们来看一下日志:
[root@ltos ~]# tail /var/log/messages
Oct 6 03:25:03 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.188 on eth0.
Oct 6 03:25:03 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.154 on eth0.
Oct 6 03:25:03 ltos avahi-daemon[2306]: Registering HINFO record with values 'I686'/'LINUX'.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Withdrawing address record for fe80::20c:29ff:feb9:eeab on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Withdrawing address record for 192.168.0.154 on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Host name conflict, retrying with
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering new address record for fe80::20c:29ff:feb9:eeab on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.188 on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering new address record for 192.168.0.154 on eth0.
Oct 6 03:25:23 ltos avahi-daemon[2306]: Registering HINFO record with values 'I686'/'LINUX'.
很显然vrrp已经启动,我们还可以通过命令:#ip a 来检查
[root@ltos html]# ip a
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:
link/ether 00:0c:29:ba:9b:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.154/24 brd 192.168.0.255 scope global eth0
inet 192.168.0.188/32 scope global eth0
inet6 fe80::20c:29ff:feba:9be7/64 scope link
valid_lft forever preferred_lft forever
3: sit0:
link/sit 0.0.0.0 brd 0.0.0.0
说明vip已经启动,这样主服务器就配置好了,辅机的配置大致一样,除了配置文件有少部分的变化,下
面贴出辅机的配置文件:
! Configuration File for keepalived
global_defs {
notification_email {
yuhongchun027@163.com
}
notification_email_from keepalived@chtopnet.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
mcast_src_ip 192.168.0.154 <==主nginx的IP的地址
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass chtopnet
}
virtual_ipaddress {
192.168.0.188
}
}
global_defs {
notification_email {
yuhongchun027@163.com
}
notification_email_from keepalived@chtopnet.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
mcast_src_ip 192.168.0.154 <==主nginx的IP的地址
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass chtopnet
}
virtual_ipaddress {
192.168.0.188
}
}
检查其配置
[root@ltos html]# ip a
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:
link/ether 00:0c:29:ba:9b:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.155/24 brd 192.168.0.255 scope global eth0
inet 192.168.0.188/32 scope global eth0
inet6 fe80::20c:29ff:feba:9be7/64 scope link
valid_lft forever preferred_lft forever
3: sit0:
link/sit 0.0.0.0 brd 0.0.0.0
测试其效果方法很简单,分别在主辅机上建立不同的主页,index.html分别为192.168.0.154,192.168.0.155,然后用客户机上elinks http://192.168.0.188,主机down掉后辅机会马上接替提供服务,间隔时间几乎无法感觉出来,这个环境准备再进行下压力测试,用于我杭州网跃朋友的web服务器,如有疑问请联系yuhongchun027@163.com(抚琴煮酒)
php通过sudo执行root指令
[ 2009/10/09 17:15 | by selboo ]
例如
apache使用nobody用户运行,现在需要通过php来重启apache
首先编辑 /etc/sudoers 使用 visudo来编辑
#visudo
在最下面添加一行
nobody ALL=NOPASSWD:/usr/local/apache/bin/apachectl restart
然后注释掉文件中的Defaults requiretty这行
否则会出现sudo: sorry, you must have a tty to run sudo的错误
保存退出即可
测试
写一个php文件,内容如下
引用
apache使用nobody用户运行,现在需要通过php来重启apache
首先编辑 /etc/sudoers 使用 visudo来编辑
#visudo
在最下面添加一行
nobody ALL=NOPASSWD:/usr/local/apache/bin/apachectl restart
然后注释掉文件中的Defaults requiretty这行
否则会出现sudo: sorry, you must have a tty to run sudo的错误
保存退出即可
测试
写一个php文件,内容如下
引用
<?php
$output = shell_exec("/usr/bin/sudo /usr/local/apache/bin/apachectl restart");
echo $output;
?>
$output = shell_exec("/usr/bin/sudo /usr/local/apache/bin/apachectl restart");
echo $output;
?>
php页面显示squid服务信息
[ 2009/10/09 17:05 | by selboo ]
<?php
echo '<pre>';
$squidinfo= system('/usr/local/squid/bin/squidclient -p 8080 mgr:info', $retval);
// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $squidinfo. '
<hr />Return value: ' . $retval;
?>
echo '<pre>';
$squidinfo= system('/usr/local/squid/bin/squidclient -p 8080 mgr:info', $retval);
// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $squidinfo. '
<hr />Return value: ' . $retval;
?>
远程桌面连接隐藏客户端计算机名
[ 2009/10/09 16:32 | by selboo ]
登陆远程桌面服务器的时候,mstsc.exe会将客户端的一些信息发给服务端,最讨厌的就是将本机的计算机名、网卡ip发送过去, 不管你跳了几次代理,在服务器上的任务管理器的“用户”选项卡中显示的客户端名就是我的计算机名,以及系统事件日志中也有,这个小插件就是解决这个问题 的,利用微软的Virtual Channel Client DLL插件接口来加载dll,然后hook API 修改返回的计算机名为空。
http://msdn.microsoft.com/en-us/library/aa383580(VS.85).aspx
这个东西安装和卸装都是用regsvr32命令
安装:regsvr32 dllpath
卸装:regsvr32 /u dllpath
安装后无声无色,不影响学习工作。
下载:
http://msdn.microsoft.com/en-us/library/aa383580(VS.85).aspx
这个东西安装和卸装都是用regsvr32命令
安装:regsvr32 dllpath
卸装:regsvr32 /u dllpath
安装后无声无色,不影响学习工作。
下载:
下载文件 (已下载 241 次)
中华网携手软星 打造全新2D Q版游戏
[ 2009/10/09 16:23 | by selboo ]
在经历了代理争夺等系列风波后,由软星科技(北京)有限公司倾心三年研发,仙剑之父姚壮宪担纲制作的全新MMORPG网游大作《梦幻星球》代理权归属问题终于尘埃落定,将由中华网游戏集团(CDC GAMES)代理运营。
作为业内领军人物的软星科技(北京)有限公司,其作品一贯坚持曲折感人的剧情、清新精美的画面、丰富有趣的游戏系统。在单机市场取得极大成功的同时,软星科技(北京)有限公司在网游领域内也取得了重大成绩。经过三年的打磨,又一款网游精品《梦幻星球》即将于年底登陆。多种创新的游戏模式,让充斥着千篇一律玩法的游戏市场吹进了一股清新的风。
《梦幻星球》北京软星团队打造,游戏画面可爱精美,整个游戏有着独特的世界观,在玩法上区别于以往市场上的任何一款产品。不仅融合了时下最流行的副本、PK、社区等元素,更加入了半即时回合的游戏模式、意想不到的冒险、工厂股票经济系统等创新元素。不管是传统的PK升级爱好者、热爱赚钱的职业商人还是休闲娱乐的MM玩家,在《梦幻星球》的世界里,都可以找到适合你的玩法。
一.玩PK,副本随时开启,30人回合大乱斗
《梦幻星球》特有即时副本系统,无需等待,随时进入副本。在副本中,除了传统的极品装备武器掉落,还可随机获得各种BUFF、状态,至于是穷神附体还是财神跟随,还要看玩家的运气了。
游戏不同于以往的回合制网游最多支持30人进入战场同时大乱斗,让你在回合制网游中也能体会到一骑当千的爽快感。
二.玩休闲,梦幻星球大冒险,超可爱纸娃娃系统随你搭配
在《梦幻星球》中,各种意想不到的事情总会伴随着你,野外游荡的神仙,打开宝箱、进占卜屋占卜、使用卡片,都会触发不可思议的命运,得到道具、请到神仙,甚至被变成一个怪物……一切都是有可能的。
不同于其他游戏只能染色的服装系统,《梦幻星球》中每一个玩家都会拥有独特的面貌。一张帅气的面孔由发型、脸型、眼睛、鼻子、嘴等部分组成,让玩家编辑自己的头像。发型、面容、服装、装备、体态等,也可以随自己的心意选择,组合出属于自己的造型。
三.玩经济,股票博运气,公司赚大钱
游戏中有经营公司、发行股票、商业垄断等多种经济经营模式,模拟现实社会的操作方式,赚钱的方法层出不穷,让玩家在开动自己的商业头脑,在游戏的世界里大展拳脚。
除了以上这些游戏特色,游戏还包含了时下最流行的宠物系统、公会战争、道具装备等多种可玩系统。这款融合了各种创新及流行元素的游戏,也被软星科技和中华网集团寄予厚望。
中华网游戏集团(CDC GAMES)旗下运营了《指环王OL》、《热血江湖》、《特种部队》、《神泣》、《EVE星战前夜》等多款经典游戏,运营项目从欧美大作到武侠经典,从FPS休闲到MMORPG,涵盖了多方面的用户,运营经验丰富,运营实力也在游戏公司内名列前茅。经过软星的三年磨一剑和中华网游戏集团的强势运营,又一款精品即将为广大玩家呈现!
作为业内领军人物的软星科技(北京)有限公司,其作品一贯坚持曲折感人的剧情、清新精美的画面、丰富有趣的游戏系统。在单机市场取得极大成功的同时,软星科技(北京)有限公司在网游领域内也取得了重大成绩。经过三年的打磨,又一款网游精品《梦幻星球》即将于年底登陆。多种创新的游戏模式,让充斥着千篇一律玩法的游戏市场吹进了一股清新的风。
《梦幻星球》北京软星团队打造,游戏画面可爱精美,整个游戏有着独特的世界观,在玩法上区别于以往市场上的任何一款产品。不仅融合了时下最流行的副本、PK、社区等元素,更加入了半即时回合的游戏模式、意想不到的冒险、工厂股票经济系统等创新元素。不管是传统的PK升级爱好者、热爱赚钱的职业商人还是休闲娱乐的MM玩家,在《梦幻星球》的世界里,都可以找到适合你的玩法。
一.玩PK,副本随时开启,30人回合大乱斗
《梦幻星球》特有即时副本系统,无需等待,随时进入副本。在副本中,除了传统的极品装备武器掉落,还可随机获得各种BUFF、状态,至于是穷神附体还是财神跟随,还要看玩家的运气了。
游戏不同于以往的回合制网游最多支持30人进入战场同时大乱斗,让你在回合制网游中也能体会到一骑当千的爽快感。
二.玩休闲,梦幻星球大冒险,超可爱纸娃娃系统随你搭配
在《梦幻星球》中,各种意想不到的事情总会伴随着你,野外游荡的神仙,打开宝箱、进占卜屋占卜、使用卡片,都会触发不可思议的命运,得到道具、请到神仙,甚至被变成一个怪物……一切都是有可能的。
不同于其他游戏只能染色的服装系统,《梦幻星球》中每一个玩家都会拥有独特的面貌。一张帅气的面孔由发型、脸型、眼睛、鼻子、嘴等部分组成,让玩家编辑自己的头像。发型、面容、服装、装备、体态等,也可以随自己的心意选择,组合出属于自己的造型。
三.玩经济,股票博运气,公司赚大钱
游戏中有经营公司、发行股票、商业垄断等多种经济经营模式,模拟现实社会的操作方式,赚钱的方法层出不穷,让玩家在开动自己的商业头脑,在游戏的世界里大展拳脚。
除了以上这些游戏特色,游戏还包含了时下最流行的宠物系统、公会战争、道具装备等多种可玩系统。这款融合了各种创新及流行元素的游戏,也被软星科技和中华网集团寄予厚望。
中华网游戏集团(CDC GAMES)旗下运营了《指环王OL》、《热血江湖》、《特种部队》、《神泣》、《EVE星战前夜》等多款经典游戏,运营项目从欧美大作到武侠经典,从FPS休闲到MMORPG,涵盖了多方面的用户,运营经验丰富,运营实力也在游戏公司内名列前茅。经过软星的三年磨一剑和中华网游戏集团的强势运营,又一款精品即将为广大玩家呈现!