Monthly Archives: March 2012

用Nginx的GoIP做转向

目的是不像让非国内用户访问whmcs系统,nginx.conf配置如下:

location /whmcs/ {
if ($geoip_country_code = CN) {
rewrite ^/whmcs/(.*)$ /p.php last;
break;
}
}

但是如果访问/whmcs/index.php 这样存在的文件的时候,nginx还是会解析而不是参考我的rewrite规则,后来换成了:

location ^~ /whmcs/ {
if ($geoip_country_code = CN) {
rewrite ^/whmcs/(.*)$ /p.php last;
break;
}
}

一切OK了。

HTML常用颜色表

在HTML里,颜色有两种表示方式。一种是用颜色名称表示,比如blue表示蓝色。另外一种是用16进制的数值表示RGB的颜色值。RGB是Red,Green,Blue意思,RGB每个原色的最小值是0,最大值是255,如果换算成16进制表示,就是(#00),(#FF)。比如白色的RGB(255,255,255),就用#FFFFFF表示;还有黑色的RGB(0,0,0),就用#000000表示。

注:在W3C制定的HTML 4.0标准中,只有16种颜色可以用颜色名称表示(aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow),其它的颜色都要用16进制RGB颜色值表示。

当然,现在的浏览器支持更多的颜色名称。不过为保险起见,建议你还是采用16进制RGB颜色值来表示颜色。并且在值前加上#这个符号。

为了方便大家找到合适的颜色,我们在这里列了一些颜色说明,以供大家参考,不妨作为一种速查工具。

Web安全颜色

以前,很多电脑显示器最多支持256色,因此出现了216种Web安全颜色,以保证网页的颜色能够正确显示。

那为什么不是256种Web安全颜色呢?因为Microsoft和Mac操作系统有40种不同的系统保留颜色。

以下就是216种Web安全颜色:

#000000 #000033 #000066 #000099 #0000CC #0000FF
#003300 #003333 #003366 #003399 #0033CC #0033FF
#006600 #006633 #006666 #006699 #0066CC #0066FF
#009900 #009933 #009966 #009999 #0099CC #0099FF
#00CC00 #00CC33 #00CC66 #00CC99 #00CCCC #00CCFF
#00FF00 #00FF33 #00FF66 #00FF99 #00FFCC #00FFFF
#330000 #330033 #330066 #330099 #3300CC #3300FF
#333300 #333333 #333366 #333399 #3333CC #3333FF
#336600 #336633 #336666 #336699 #3366CC #3366FF
#339900 #339933 #339966 #339999 #3399CC #3399FF
#33CC00 #33CC33 #33CC66 #33CC99 #33CCCC #33CCFF
#33FF00 #33FF33 #33FF66 #33FF99 #33FFCC #33FFFF
#660000 #660033 #660066 #660099 #6600CC #6600FF
#663300 #663333 #663366 #663399 #6633CC #6633FF
#666600 #666633 #666666 #666699 #6666CC #6666FF
#669900 #669933 #669966 #669999 #6699CC #6699FF
#66CC00 #66CC33 #66CC66 #66CC99 #66CCCC #66CCFF
#66FF00 #66FF33 #66FF66 #66FF99 #66FFCC #66FFFF
#990000 #990033 #990066 #990099 #9900CC #9900FF
#993300 #993333 #993366 #993399 #9933CC #9933FF
#996600 #996633 #996666 #996699 #9966CC #9966FF
#999900 #999933 #999966 #999999 #9999CC #9999FF
#99CC00 #99CC33 #99CC66 #99CC99 #99CCCC #99CCFF
#99FF00 #99FF33 #99FF66 #99FF99 #99FFCC #99FFFF
#CC0000 #CC0033 #CC0066 #CC0099 #CC00CC #CC00FF
#CC3300 #CC3333 #CC3366 #CC3399 #CC33CC #CC33FF
#CC6600 #CC6633 #CC6666 #CC6699 #CC66CC #CC66FF
#CC9900 #CC9933 #CC9966 #CC9999 #CC99CC #CC99FF
#CCCC00 #CCCC33 #CCCC66 #CCCC99 #CCCCCC #CCCCFF
#CCFF00 #CCFF33 #CCFF66 #CCFF99 #CCFFCC #CCFFFF
#FF0000 #FF0033 #FF0066 #FF0099 #FF00CC #FF00FF
#FF3300 #FF3333 #FF3366 #FF3399 #FF33CC #FF33FF
#FF6600 #FF6633 #FF6666 #FF6699 #FF66CC #FF66FF
#FF9900 #FF9933 #FF9966 #FF9999 #FF99CC #FF99FF
#FFCC00 #FFCC33 #FFCC66 #FFCC99 #FFCCCC #FFCCFF
#FFFF00 #FFFF33 #FFFF66 #FFFF99 #FFFFCC #FFFFFF

微软支持的颜色名称

下面是微软IE4.0以上都支持的颜色名称:

aliceblue
(#F0F8FF)
antiquewhite
(#FAEBD7)
aqua
(#00FFFF)
aquamarine
(#7FFFD4)
azure
(#F0FFFF)
beige
(#F5F5DC)
bisque
(#FFE4C4)
black
(#000000)
blanchedalmond
(#FFEBCD)
blue
(#0000FF)
blueviolet
(#8A2BE2)
brown
(#A52A2A)
burlywood
(#DEB887)
cadetblue
(#5F9EA0)
chartreuse
(#7FFF00)
chocolate
(#D2691E)
coral
(#FF7F50)
cornflowerblue
(#6495ED)
cornsilk
(#FFF8DC)
crimson
(#DC143C)
cyan
(#00FFFF)
darkblue
(#00008B)
darkcyan
(#008B8B)
darkgoldenrod
(#B8860B)
darkgray
(#A9A9A9)
darkgreen
(#006400)
darkkhaki
(#BDB76B)
darkmagenta
(#8B008B)
darkolivegreen
(#556B2F)
darkorange
(#FF8C00)
darkorchid
(#9932CC)
darkred
(#8B0000)
darksalmon
(#E9967A)
darkseagreen
(#8FBC8B)
darkslateblue
(#483D8B)
darkslategray
(#2F4F4F)
darkturquoise
(#00CED1)
darkviolet
(#9400D3)
deeppink
(#FF1493)
deepskyblue
(#00BFFF)
dimgray
(#696969)
dodgerblue
(#1E90FF)
firebrick
(#B22222)
floralwhite
(#FFFAF0)
forestgreen
(#228B22)
fuchsia
(#FF00FF)
gainsboro
(#DCDCDC)
ghostwhite
(#F8F8FF)
gold
(#FFD700)
goldenrod
(#DAA520)
gray
(#808080)
green
(#008000)
greenyellow
(#ADFF2F)
honeydew
(#F0FFF0)
hotpink
(#FF69B4)
indianred
(#CD5C5C)
indigo
(#4B0082)
ivory
(#FFFFF0)
khaki
(#F0E68C)
lavender
(#E6E6FA)
lavenderblush
(#FFF0F5)
lawngreen
(#7CFC00)
lemonchiffon
(#FFFACD)
lightblue
(#ADD8E6)
lightcoral
(#F08080)
lightcyan
(#E0FFFF)
lightgoldenrodyellow
(#FAFAD2)
lightgreen
(#90EE90)
lightgrey
(#D3D3D3)
lightpink
(#FFB6C1)
lightsalmon
(#FFA07A)
lightseagreen
(#20B2AA)
lightskyblue
(#87CEFA)
lightslategray
(#778899)
lightsteelblue
(#B0C4DE)
lightyellow
(#FFFFE0)
lime
(#00FF00)
limegreen
(#32CD32)
linen
(#FAF0E6)
magenta
(#FF00FF)
maroon
(#800000)
mediumaquamarine
(#66CDAA)
mediumblue
(#0000CD)
mediumorchid
(#BA55D3)
mediumpurple
(#9370DB)
mediumseagreen
(#3CB371)
mediumslateblue
(#7B68EE)
mediumspringgreen
(#00FA9A)
mediumturquoise
(#48D1CC)
mediumvioletred
(#C71585)
midnightblue
(#191970)
mintcream
(#F5FFFA)
mistyrose
(#FFE4E1)
moccasin
(#FFE4B5)
navajowhite
(#FFDEAD)
navy
(#000080)
oldlace
(#FDF5E6)
olive
(#808000)
olivedrab
(#6B8E23)
orange
(#FFA500)
orangered
(#FF4500)
orchid
(#DA70D6)
palegoldenrod
(#EEE8AA)
palegreen
(#98FB98)
paleturquoise
(#AFEEEE)
palevioletred
(#DB7093)
papayawhip
(#FFEFD5)
peachpuff
(#FFDAB9)
peru
(#CD853F)
pink
(#FFC0CB)
plum
(#DDA0DD)
powderblue
(#B0E0E6)
purple
(#800080)
red
(#FF0000)
rosybrown
(#BC8F8F)
royalblue
(#4169E1)
saddlebrown
(#8B4513)
salmon
(#FA8072)
sandybrown
(#F4A460)
seagreen
(#2E8B57)
seashell
(#FFF5EE)
sienna
(#A0522D)
silver
(#C0C0C0)
skyblue
(#87CEEB)
slateblue
(#6A5ACD)
slategray
(#708090)
snow
(#FFFAFA)
springgreen
(#00FF7F)
steelblue
(#4682B4)
tan
(#D2B48C)
teal
(#008080)
thistle
(#D8BFD8)
tomato
(#FF6347)
turquoise
(#40E0D0)
violet
(#EE82EE)
wheat
(#F5DEB3)
white
(#FFFFFF)
whitesmoke
(#F5F5F5)
yellow
(#FFFF00)
yellowgreen
(#9ACD32)

 

听到中投证券裁员

最新消息,中投证券裁员了。虽然历史往往证明,券商的的预先动作往往和他们对行情估计的一样很不靠谱,例如2006年初作出的削减营业面积和成本的做法,导致很多营业部在2006年的牛市中应接不暇,作为大四毕业就去了中投证券,并且在中投换过三种职位,三家营业部的“老员工”,辞职之后的我觉得中投证券这次裁员还不错。

1.总部和营业部的关系

当初还是南方证券的时候,中投的很多分公司权力是很大的,总公司对分公司的管理力量很弱,这也是原南方证券倒闭的原因:几个分公司弄得窟窿把总公司拖垮了。05年新中投成立后,从大集中交易以后总部就把很多权力回收了,并且营业部做很多事情都要看总部的脸色。例如一次公司营业部总经理级别的年会上,营业部总经理们认为新年计划中“创新”应该放在“合规”之前,而董事长认为“合规”一定要放在“创新”之前。OK,这次改革后听说会增加营业部经理的权力,拭目以待吧。

2.营业部员工的分类

作为一个自认为自己是“纯国企”的金融机构,中投证券营业部里面有很大一股坏味道。后台员工认为自己的“正式员工”,客户经理认为自己是“非正式员工”,其中的微妙关系只有内部人才能体会到。并且每年巨额的“年终奖”也只有后台员工才能领取到,客户经理只能喝西北风。这些很大程度上影响了内部的团结。其实把营业部看成一个“小企业”,真正把巨额的奖金发给有贡献的人才能激励士气。不过全部由营业部总经理决定的话,又可能滋生腐败,需要总部的监管。

3.发展模式

其实目前券商的主要赢利点都一样:收手续费,并且在提供交易通道的方面手段都差不多,没啥区别。所以前年开始就大搞佣金战,杀得行业利润大降(证监会的同事们高兴了,叫你们07,09年发年终奖的时候那么拽)。在营业部层面,就要看那家的细节做的更好了,继续搞后台员工自以为是老大的单位氛围就很影响团队凝聚力。

ARP表的缓存最大时间

修改 /proc/sys/net/ipv4/neigh/eth0/gc_stale_time 即可,默认是60秒
在/etc/sysctl.conf更改即可:

net.ipv4.neigh.default.gc_stale_time = 2820000

最大只能修改为2820000,也就是32天左右.sysctl -p 无效,必须reboot才行.

http://www.linux-archive.org/centos/201227-neighbour-table-overflow.html

IP地址以及子网掩码的关系

什么是IP地址?
人们为了通信方便给每一台计算机都事先分配一个类似电话号码一样的标识地址,即IP地址。
根据TCP/IP协议,IP地址由32位二进制数组成,而且在INTERNET范围内是唯一的。
如:某IP地址为11000000 10101000 00001010 00000010
为了方便记忆,人们把32位的IP地址分成四段,每段8位,中间用小数点“.”隔开,然后再将每8位二进制换成十进制,即192.168.10.2

IP地址的分类
就像电话号码一样分为区号和具体号码一样,我们把IP地址分为两个部分:网络标识和主机标识。
网络标识
同一物理网络上的所有主机都用同一个网络标识,网络上每一个主机都有一个主机标识与其对应。
主机标识
即为某个网络中特定的计算机号码。
例:一个主机服务器的IP地址为192.168.10.2,其中
网络标识为192.168.10.0
主机标识为2

IP地址共占4个字节32位,其一部分为网络标识,另一部分为主机标识。由于网络中所包含的计算机数量可能不一样多,人们按照网络规模的大小把IP地址按3种方法来划分,分别是:
1,A类IP地址
在IP地址的4段号码中,第1段为网络标识,其余3段为主机标识。也就是说:A类IP地址由1字节的网络标识和3字节的主机标识组成。
网络地址的最高位必须是0,网络标识的长度为7位,主机标识的长度占24位。
A类IP网络地址数量较多,适用于大型网络,可用主机数达1600万多台。
2,B类IP地址
在IP地址的4段号码中,前2段为网络标识,后2段为主机标识。也就是说:B类IP地址由2字节的网络标识和2字节的主机标识组成。
网络地址的最高位必须是10,网络标识的长度为14位,主机标识的长度为16位。
B类IP网络地址适用于中等规模网络,可用主机数达6万多台。
3,C类IP地址
在IP地址的4段号码中,前3段为网络标识,最后1段为主机标识。也就是说:C类IP地址由3字节的网络标识和1字节的主机标识组成。
网络地址的最高位必须是110,网络标识的长度为21位,主机标识的长度为8位。
C类IP网络地址数量较少,适用于小型局域网络,可用主机数最多254台。

另外,TCP/IP协议规定,凡IP地址中的第一个字节以11110开始的地址叫 多点广播地址 。因此,任何第一个字节大于223小于240的IP地址是多点广播地址;IP地址中凡是以11110的地址都将留着作为特殊用。

IP地址的寻址规则
1.网络寻址规则
A、网络地址必须唯一。
B、网络标识不能以数字127开头。在A类地址中,数字127保留给内部回送函数(127.1.1.1用于回路测试)。
C、网络标识的第一个字节不能为255。数字255作为广播地址。
D、网络标识的第一个字节不能为“0”,“0”表示该地址是本地主机,不能传送。
2.主机寻址规则
A、主机标识在同一网络内必须是唯一的。
B、主机标识的各个位不能都为“1”,如果所有位都为“1”,则该机地址是广播地址,而非主机的地址。
C、主机标识的各个位不能都为“0”,如果各个位都为“0”,则表示“只有这个网络”,而这个网络上没有任何主机。

子网掩码简述
子网掩码也是一个32位地址,其作用是:
用于屏蔽IP地址的一部分以区分网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
只有同在一个子网中的主机才能互相通讯联系,否则就要通过特殊手段了。

例1:设IP地址为192.168.10.2,子网掩码为255.255.255.240,那么子网掩码是怎样来区分网络标识和主机标识的呢。
答:
用“与”运算。将十进制转换成二进制进行与运算
IP地址:11000000 10101000 00001010 00000010
子网掩码:11111111 11111111 11111111 11110000
AND运算:
--------------------------
11000000 10101000 00001010 00000000
则可得其网络标识为192.168.10.0,主机标识为2。

例2:设设IP地址为192.168.10.5,子网掩码为255.255.255.240
用“与”运算。将十进制转换成二进制进行与运算
IP地址:11000000 10101000 00001010 00000101
子网掩码:11111111 11111111 11111111 11110000
AND运算:
--------------------------
11000000 10101000 00001010 00000000
则可得其网络标识为192.168.10.0,主机标识为5。

从以上两个例子可以得出,只要有一个IP地址和以上的子网掩码运算后得到192.168.10.0,那么这些IP地址就在同一个子网中。

如果比较熟悉二进制的朋友就会发现,由于掩码最后一段为11110000,所以,在前三段都一样的情况下,只要主机标识的前四位都为0,所得到的IP地址必在同一个子网中。而且也不难算出,在255.255.255.240这样一个子网掩码下,最多只有16台主机在同一子网中。
由此可得出,经常在局域网中见到的子网掩码255.255.255.0,最多也只能有255台主机在同一子网中。

VLSM(可变长掩码)
3类IP地址默认的子网掩码分别为255.0.0.0、255.255.0.0和255.255.255.0。但这难免会浪费一些IP地址。
就拿C类IP地址的默认掩码来说,可以有253台主机共在一个子网中(除去全为1和0的,见上IP地址的寻址规则)。
假设申请了一个C类IP地址:192.168.10.*,那么IP地址从192.168.10.1到192.168.10.254都在一个子网,假设现在只有13台主机,那么就会浪费240台主机了。
但如果有VLSM就不同了。上述例子中的255.255.255.240就是这一种,根据我们刚才的运算,它只会有14台可用主机(除去全为0和1的)。
在使用该子网掩码255.255.255.240时:
IP地址为192.168.10.1到192.168.10.15在同一子网中,其网络标识为192.168.10.0;
而IP地址为192.168.10.16或1923168.10.18就不在上面的子网中,其网络标识为192.168.10.16。

Xen一些管理工具

1. xentop可以用来看vm占用的CPU或者IO情况。

用法:

xentop [-h] [-V] [-dSECONDS] [-n] [-r] [-v] [-b] [-iITERATIONS]

选项:

-h, --help
display help and exit
-V, --version
output version information and exit
-d, --delay=SECONDS
seconds between updates (default 3)
-n, --networks
output network information
-x, --vbds
output vbd block device data
-r, --repeat-header
repeat table header before each domain
-v, --vcpus
output VCPU data
-b, --batch
output data in batch mode (to stdout)
-i, --iterations=ITERATIONS
maximum

显示信息:

CPU(sec) - 打印出CPU使用时间
CPU(%) - 打印CPU占用率百分比
VCPUS - 打印成虚拟CPU数目
NETS - 虚拟网络数目
MEM - 目前内存占用
MAXMEM(k) - 最大内存占用
MAXMEM(%) - 最大内存占用同服务器总内存比例
NETTX - Prints number of total network tx bytes statistic/1024
NETRX- Prints number of total network rx bytes statistic/1024
VBDS - Prints number of virtual block devices
VBD OO - Prints number of total VBD OO requests. AFAIK it refers to the number of times that VBD has encountered an "out of requests" error which has resulted in IO requests for that VBD being delayed.

2.xm命令:
xm list 打印vm列表
xm sched-credit -d vmName :查看vm的CPU权重
xm sched-credit -d vmName -w 100:设置vm的CPU权重为100