2012
06
21
10:28

VPS 简单性能测试命令

在拿到一台VPS开始使用之间,进行简单的命令测试可以让自己更了解手上的VPS,下面列举一些常用命令:

一、CPU信息及性能查看

先使用命令,得到你的CPU信息,你也可以安装环境之后上传探针在探针里面看,而且探针里面比较详细。

cat /proc/cpuinfo

至于具体的CPU性能查询可到www.anandtech.com/Bench或者www.cpubenchmark.net查看。

二、硬盘IO性能

dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

一般来说越高越好,对于那些小于10M的基本就是不怎么样的。

三、网络性能

wget http://cachefly.cachefly.net/100mb.test

下载完后可以得到一个平均下载速度,如果是10M/s左右,一般来说就是100M的口子。如果能达到50+,那就应该是G口的了。

四、UB跑分得到综合性能

一款国外提供的linux性能专用软件,可以跑出分数来让你做对比:

wget http://www.CTOHome.com/linux-vps-pack/unixbench.sh;sh ./unixbench.sh;

总分情况,低于400的就算性能低下;600-800是属于正常VPS水准;超过1000分性能就算给力。

五、VPS的访问速度

这个主要测试是PING值,和观看TRACERT值,来判断速度。大概这几个网站:

站长站:ping.chinaz.com – ping.chinaz.com/tracert

卡卡网:www.webkaka.com/ping.aspx – www.webkaka.com/Tracert.aspx

国外的:www.just-ping.com 软件:speedtest.net/mini.php

最后在经过硬盘性能和网络性能测试后磁盘会多出两个文件来,可通过如下命令删除

rm test rm 100mb.test

2012
06
21
10:25

LINUX VPS 及压缩与解压缩命令

在平时管理vps或者网站的时候常会对文件进行一些常规操作,除了ftp之外了解在ssh下必要的文件操作命令那也是必不可少的,以下摘录一些常用的文件操作命令:

文件操作:

ls ####查看目录中的文件####

ls -F ####查看目录中的文件####

ls -l ####显示文件和目录的详细资料####

ls -a ####显示隐藏文件####

ls *[0-9]* ####显示包含数字的文件名和目录名####

rm go.tar #### 删除go.tar文件####

find mt.cgi ####查找文件名为mt.cgi的文件####

df ?h ####查看磁盘剩余空间####

find / -name xxx -print ####查找xxx文件####

压缩与解压缩:

tar xvf wordpress.tar ####解压tar格式的文件####

tar -tvf myfile.tar ####查看tar文件中包含的文件 ####

tar cf toole.tar tool ####把tool目录打包为toole.tar文件####

tar cfz xwyme.tar.gz tool ####把tool目录打包且压缩为xwyme.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB ####

tar jcvf /var/bak/www.tar.bz2 /var/www/ ####创建.tar.bz2文件,压缩率高####

tar xjf www.tar.bz2 ####解压tar.bz2格式####

gzip -d ge.tar.gz ####解压.tar.gz文件为.tar文件####

unzip phpbb.zip ####解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的####

bunzip2 file1.bz2 ####解压一个叫做 ‘file1.bz2′的文件####

bzip2 file1 ####压缩一个叫做 ‘file1′ 的文件####

gunzip file1.gz ####解压一个叫做 ‘file1.gz’的文件####

gzip file1 ####压缩一个叫做 ‘file1′的文件####

gzip -9 file1 ####最大程度压缩####

rar a file1.rar test_file ####创建一个叫做 ‘file1.rar’ 的包####

rar a file1.rar file1 file2 dir1 ####同时压缩 ‘file1′, ‘file2′ 以及目录 ‘dir1′####

rar x file1.rar ####解压rar包####

unrar x file1.rar ####解压rar包####

tar -cvf archive.tar file1 ####创建一个非压缩的 tarball####

tar -cvf archive.tar file1 file2 dir1 ####创建一个包含了 ‘file1′, ‘file2′ 以及 ‘dir1′的档案文件####

tar -tf archive.tar ####显示一个包中的内容####

tar -xvf archive.tar ####释放一个包####

tar -xvf archive.tar -C /tmp ####将压缩包释放到 /tmp目录下####

tar -cvfj archive.tar.bz2 dir1 ####创建一个bzip2格式的压缩包####

tar -xvfj archive.tar.bz2 ####解压一个bzip2格式的压缩包####

tar -cvfz archive.tar.gz dir1 ####创建一个gzip格式的压缩包####

tar -xvfz archive.tar.gz ####解压一个gzip格式的压缩包####

zip file1.zip file1 ####创建一个zip格式的压缩包####

zip -r file1.zip file1 file2 dir1 ####将几个文件和目录同时压缩成一个zip格式的压缩包####

unzip file1.zip ####解压一个zip格式压缩包####

2012
06
21
10:24

LINUX VPS VI(VIM) 编辑器使用命令

Vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。

 

Vi有3个模式:插入模式、命令模式、低行模式。

 

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。

命令模式:可以移动光标、删除字符等。

低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

 

一、打开文件、保存、关闭文件(vi命令模式下使用)

 

vi filename //打开filename文件

:w //保存文件

:w filename //保存至filename文件

:q //退出编辑器,如果文件已修改请使用下面的命令

:q! //退出编辑器,且不保存

:wq //退出编辑器,且保存文件

 

二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

 

a //在当前光标位置的右边添加文本

i //在当前光标位置的左边添加文本

A //在当前行的末尾位置添加文本

I //在当前行的开始处添加文本(非空字符的行首)

O //在当前行的上面新建一行

o //在当前行的下面新建一行

R //替换(覆盖)当前光标位置及后面的若干文本

J //合并光标所在行及下一行为一行(依然在命令模式)

 

三、移动光标(vi命令模式下使用)

 

1、使用上下左右方向键

 

2、命令模式下:h 向左、j 向下 、k 向上、l 向右。

空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。

 

四、删除、恢复字符或行(vi命令模式下使用)

 

x //删除当前字符

nx //删除从光标开始的n个字符

dd //删除当前行

ndd //向下删除当前行在内的n行

u //撤销上一步操作

U //撤销对当前行的所有操作

 

五、搜索(vi命令模式下使用)

 

/xwyme //向光标下搜索vpser字符串

?xwyme //向光标上搜索vpser字符串

n //向下搜索前一个搜素动作

N //向上搜索前一个搜索动作

 

六、跳至指定行(vi命令模式下使用)

 

n+ //向下跳n行

n- //向上跳n行

nG //跳到行号为n的行

G //跳至文件的底部

 

七、设置行号(vi命令模式下使用)

 

:set nu //显示行号

:set nonu //取消显示行号

 

八、复制、粘贴(vi命令模式下使用)

 

yy //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

nyy //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

yw //复制从光标开始到词尾的字符。

nyw //复制从光标开始的n个单词。

y^ //复制从光标到行首的内容。

y$ //复制从光标到行尾的内容。

p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用”ap 进行粘贴。

P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用”aP 进行粘贴。

 

九、替换(vi命令模式下使用)

 

:s/old/new //用new替换行中首次出现的old

:s/old/new/g //用new替换行中所有的old

:n,m s/old/new/g //用new替换从n到m行里所有的old

:%s/old/new/g //用new替换当前文件里所有的old

 

十、编辑其他文件

:e otherfilename //编辑文件名为otherfilename的文件。

 

十一、修改文件格式

 

:set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

 

总结:vi(vim)编辑器虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!

2012
06
21
10:19

VPS 安全:WEB 服务器常用 IPTABLES 规则

最近因为自己一台VPS的问题一直在不断的查找VPS安全的资料。下面分享一个常用的iptables规则

IPT=”/sbin/iptables”

$IPT –delete-chain

$IPT –flush

$IPT -P INPUT DROP #1

$IPT -P FORWARD DROP #1

$IPT -P OUTPUT DROP #1

$IPT -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #2

$IPT -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp –dport 873 -j ACCEPT #3

$IPT -A INPUT -i lo -j ACCEPT #4

$IPT -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT #5

$IPT -A INPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT #5

$IPT -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #6

$IPT -A OUTPUT -p udp -m udp –dport 53 -j ACCEPT #7

$IPT -A OUTPUT -o lo -j ACCEPT #4

$IPT -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT #8

$IPT -A OUTPUT -p tcp -m tcp –dport 25 -j ACCEPT #9

$IPT -A OUTPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT #10

$IPT -A OUTPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT #10

service iptables save

service iptables restart

#1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。

#2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。

#3、设置外部客户端连接服务器端口80,22,21,873。

#4、允许内部数据循回。

#5、允许外部ping服务器 。

#6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。

#7、允许服务器使用外部dns解析域名。

#8、设置服务器连接外部服务器端口80。

#9、允许服务器发送邮件。

#10、允许从服务器ping外部

这样禁用了除ssh、http、ftp等外的所有端口,当然我们可能用到其他端口以供管理,比如说我们在lnmp下常用PureFTPd来管理FTP,这样的话我们首先要编辑下 /etc/proftpd.conf,配置以下内容:

PassivePorts 25000 26000 #(端口号,可自行选择)

然后再上面的代码中还需要添加一行:

$IPT -A INPUT -p tcp -m tcp –dport 25000:26000 –syn -j ACCEPT #这里的25000和26000必须为你添加的端口号

另外也有人可能会用到VNC,那就继续添加一行:

$IPT -A INPUT -p tcp -m tcp –dport 5901 –syn -j ACCEPT#5901为你的vnc端口

等所有的端口都配置好以后,将脚本存储为iptables.sh,上传至VPS,执行sh iptables.sh即可自动配置防火墙。

这样,相信大家有点找到规律了,其他端口可以根据自己的需要选择开放然后重新执行脚本即可~

2012
06
21
10:14

Linux下文件权限及文件属组更改

现在开始使用linux的VPS了,不再使用面版控制,也不会安装什么控制面版,如kloxo之类的,装了占内存啊!纯命令行控制,虽然麻烦一点,但节省服务器资源,这样linux下的很多命令自然就需要用到了,下面这几个命令是常用的更改权限的命令了,放这里,以待不时之需。

1、chmod 命令

功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.

语法:该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

1. 文字设定法

chmod [who] [+ | – | =] [mode] 文件名?

参数:

操作对象who可是下述字母中的任一个或者它们的组合:

u 表示“用户(user)”,即文件或目录的所有者。

g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

o 表示“其他(others)用户”。

a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

+ 添加某个权限。

– 取消某个权限。

= 赋予给定权限并取消其他所有权限(如果有的话)。

设置mode所表示的权限可用下述字母的任意组合:

r 可读。

w 可写。

x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用 户ID位,“g+s”设置组ID位。

t 保存程序的文本到交换设备上。

u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。

o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example

使同组和其他用户对文件example 有读权限。

 

2、chgrp命令

功能:改变文件或目录所属的组。

语法:chgrp [选项] group filename?

该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

参数:

– R 递归式地改变指定目录及其下的所有子目录和文件的属组。

例1:$ chgrp – R book /opt/local /book

改变/opt/local /book/及其子目录下的所有文件的属组为book。

 

3、chown 命令

功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

语法:chown [选项] 用户或组 文件

说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

参数:

– R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。

– v 显示chown命令所做的工作。

例1:把文件shiyan.c的所有者改为wang。

$ chown wang shiyan.c

例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。

$ chown – R wang.users /his

2012
06
21
10:03

VPS安全设置阻止扫站爆破者

前面我们介绍了VPS SSH默认端口22的修改方法,这里我们继续加强一下VPS的安全意识,给大家一段代码来检测你的vps是否遭遇了包里破解:

cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2″=”$1;}’       Redhat/Fedora

cat /var/log/auth.log|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2″=”$1;}’       Debian/Ubuntu

如果查询出来的结果中包含了“ip地址=数量”这样的结果,那就说明有人曾试图破解过你的密码。

设置一下禁用root登录

在禁用root登录前首先一定要先增加一个普通权限的用户,并设置密码

useradd test

passwd test

然后禁止ROOT远程SSH登录:

 vi /etc/ssh/sshd_config

把其中的

PermitRootLogin yes

改为

PermitRootLogin no

如果PermitRootLogin前面的有#的话也一定要删除掉,否则无法生效。

再重启sshd服务

 service sshd restart

以后我们便可以通过普通权限的ssh账户连接我们的vps,如果需要管理权限的话,可以用下面命令提升到root权限

su root

Iptable设置:

封掉多次尝试登录的恶意IP。

封单个IP使用如下命令:

iptables -I INPUT -s 61.253.249.157 -j DROP

封整个IP段使用如下命令:

iptables -I INPUT -s 61.253.0.0/16 -j DROP

解除IP封锁使用如下命令:

iptables -L INPUT

iptable -D INPUT num序号

2012
06
21
09:48

VPS修改SSH默认端口

虽然咱是个伪LINUX爱好者,但是最最基本的我们还是要学习一下的,拿到VPS第一件事是修改一下SSH默认端口22,

 [root@server ~]$ vi /etc/ssh/sshd_config

找到

#port 22

将前面的#去掉,然后修改端口

port 2008

重启服务,这样默认的22端口就被我们改成了2008了

[root@server ~]$ /etc/init.d/sshd restart

 

2012
06
21
08:06

PAYPAL 付款 PayPal Subscribe 和 PayPal Check Out

最近经常在用PAYPAL在国外网站上购买东西,有的网站上在付款时订单上有两个付款按钮,一个是 PayPal Subscribe,另一个是PayPal Check Out,
这两者区别是:

PayPal Subscribe 付款类型是“循环付款”,那这个循环付款是什么意思呢?经过了解“循环付款”指的就是按期自动从帐户绑定的信用卡上划账给服务商。类似分期付款,但这个是无限时间的。

PayPal Check Out 是正常的一次付款,以后的续费都要找到订单按周期一次次的进行支付。

如果您付款时使用了 PayPal Subscribe,并想取消循环付款,请登录您的PAYPAL,点击“用户信息”,再选择“我的预核准付款”,在这里可以取消或者休眠相关付款协议。

2012
06
18
08:09

DNS解析中TTL的设置时间多少合适?

网上关于域名dns解析中ttl值设置时间的文章不多,我今天遇到了这个问题,就把这个问题整理一下,希望可以给需要的朋友有所帮助。

什么是域名的TTL值?

TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器(权威域名服务器)发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器(各地的缓存服务器,也叫递归域名服务器)中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。

域名DNS分两种,一种是权威域名服务器,域名注册商的服务器都为权威域名服务器,TTL值只能在权威服务器修改,还有一种域名解析服务器就是缓存DNS服务器,比如各地ISP上网设置的DNS服务器,它的作用主要是把域名解析结果缓存到本地,方便你查询。域名DNS的TTL值实际上就是各地的DNS缓存服务器多久去你的权威域名解析服务器(NS)获取一次你域名的解析IP。

那么域名解析的TTL只应该设置为多少合适呢,下面有两个建议,你可以结合自己参考一下:

一.增大TTL值,以节约域名解析时间,给网站访问加速。

一般情况下,域名的各种记录是极少更改的,很可能几个月、几年内都不会有什么变化。我们完全可以增大域名记录的TTL值让记录在各地DNS服务器中缓存的时间加长,这样在更长的一段时间内,我们访问这个网站时,本地ISP的DNS服务器就不需要向域名的NS服务器发出解析请求,而直接从缓存中返回域名解析记录。

国内和国际上很多平台的TTL值都是以秒为单位的,很多的默认值都是3600,也就是默认缓存1小时,这个值实在有点小了,难道会有人一个小时就改一次域名记录吗?你可以根据自己的需要把这个值适当的扩大,例如要缓存一天就设置成86400。Godaddy的TTL设置比较直观,但总共只有5个值可以选定,即时切换到高级设置模式也是如此,有点死板了。

二.减小TTL值,减少更换空间时的不可访问时间。

更换空间99.9%会有DNS记录更改的问题,因为TTL缓存的问题,新的域名记录在有的地方可能生效了,但在有的地方可能等上一两天甚至更久才生效。结果就是有的人可能访问到了新服务器,有的人访问到了旧服务器。如果原来的域名TTL值设置的小,各地的ISP域名缓存服务器服务器就会很快的访问你域名的权威DNS解析服务器,尽快把你域名的DNS解析IP返回给查询者

这就是说你如果想要解析速度,各地ISP的DNS服务器缓存你的域名,你就需要把TTL值设置大一些,如果你想域名更换空间或者IP后能尽快解析到新的IP上,就需要把TTL值设置小一些

总结:对于IP地址相对固定,或短期内不会变更IP地址的用户来说TTL值设置的大些如几个小时或更大些为宜。调大TTL值可以显著的提高域名的解析稳定性和速度。而对于近期有计划变更IP地址的用户需要提前把TTL值改小,以便使缓存在世界各地DNS服务器上的旧域名记录迅速过期,等IP地址固定下来后再把TTL值改大。