存档

文章标签 ‘vps12.com’

如何修改windows服务器管理员密码

2012年8月8日 没有评论

很多使用windows服务器远程桌面的朋友,很多不会改密码。这里简单说明一下怎么改。

默认windows系统服务器管理员名为administrator 我们以止为例:

如何修改呢?

我们远程登陆系统后 右键我的电脑 > 管理 > 本地用户和组 > 用户 这里列出windows服务器的用户

我们右键选择administrator点设置密码。在这里就可以改管理员密码了!

ps:另一方法比较快捷,就直接在开始运行命令处输入 lusrmgr.msc 就可以直接调出用户管理面板。适用于winxp/2003/2008/2012等通用。

1键设置iis gzip支持

2012年8月2日 没有评论

本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度.

前言.
本文的知识点是从互联网收集整理, 主要来源于中文wiki.  使用YSlow检测网站启用了哪些优化时, Gzip是十分关键的一项. 启动Gzip压缩将立竿见影的减少页面的网络传输大小.

HTTP压缩概述
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的一种HTTP压缩算法。

HTTP压缩工作原理
Web服务器处理HTTP压缩的工作原理如下:

1.Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
在用户浏览器发送请求的HTTP头中,  带有”Accept-Encoding: gzip, deflate”参数则表明支持gzip和deflate两种压缩算法.

2.如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
静态文件和动态文件后缀启动要所都需要在MetaBase.xml中设置.
静态文件需要设置: HcFileExtensions Metabase Property (单击跳转到MSDN说明)
动态文件需要设置: HcScriptFileExtensions Metabase Property (单击跳转到MSDN说明)

3.如果请求文件是HTML、CSS等静态文件并且文件后缀启用了压缩,则Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;

4.如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;

5.如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;

6.如果请求文件是ASPX等动态文件并且文件后缀启用了压缩,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

启用HTTP压缩

把下列内容复制到文本文档,改为.bat文件CMD文件即可一步搞定

REM Setup IIsCompressionScheme for deflate
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcCompressionDll “%windir%\system32\inetsrv\gzip.dll”
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcCreateFlags 0
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcDoDynamicCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcDoOnDemandCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcDoStaticCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcDynamicCompressionLevel 9
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcFileExtensions “htm” “html” “txt” “js” “xml” “css”
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcOnDemandCompLevel 9
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcPriority 1
cscript adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions “asp” “dll” “exe” “aspx” “asmx”
REM Setup IIsCompressionScheme for GZip
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcCompressionDll “%windir%\system32\inetsrv\gzip.dll”
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcCreateFlags 1
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDoDynamicCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDoOnDemandCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDoStaticCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDynamicCompressionLevel 9
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions “htm” “html” “txt” “js” “xml” “css”
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcOnDemandCompLevel 9
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcPriority 1
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions “asp” “dll” “exe” “aspx” “asmx”

REM Setup IIsCompressionSchemes parameters
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcCacheControlHeader max-age=86400
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcCompressionBufferSize 102400
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcCompressionDirectory “%windir%\IIS Temporary Compressed Files”
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoDiskSpaceLimiting FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoDynamicCompression TRUE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoOnDemandCompression TRUE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoStaticCompression TRUE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcExpiresHeader “Wed, 01 Jan 1997 12:00:00 GMT”
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcFilesDeletedPerDiskFree 256
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcIoBufferSize 102400
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcMaxDiskSpaceUsage 0
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcMaxQueueLength 1000
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcMinFileSizeForComp 1
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForHttp10 FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForProxies FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForRange FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcSendCacheHeaders FALSE

iisreset

IPv4网络掩码对照表

2012年7月21日 没有评论
序号 子网掩码 CIDR 总IP数 可用IP数 C网子网数
1 255.255.255.255 /32 1 1 1/256
2 255.255.255.254 /31 2 0 1/128
3 255.255.255.252 /30 4 2 1/64
4 255.255.255.248 /29 8 6 1/32
5 255.255.255.240 /28 16 14 1/16
6 255.255.255.224 /27 32 30 1/8
7 255.255.255.192 /26 64 62 1/4
8 255.255.255.128 /25 128 126 1/2
9 255.255.255.0 /24 256 254 1
10 255.255.254.0 /23 512 510 2
11 255.255.252.0 /22 1024 1022 4
12 255.255.248.0 /21 2048 2046 8
13 255.255.240.0 /20 4096 4094 16
14 255.255.224.0 /19 8192 8190 32
15 255.255.192.0 /18 16,384 16,382 64
16 255.255.128.0 /17 32,768 32,766 128
17 255.255.0.0 /16 65,536 65,534 256
18 255.254.0.0 /15 131,072 131,070 512
19 255.252.0.0 /14 262,144 262,142 1024
20 255.248.0.0 /13 524,288 524,286 2048
21 255.240.0.0 /12 1,048,576 1,048,574 4096
22 255.224.0.0 /11 2,097,152 2,097,150 8192
23 255.192.0.0 /10 4,194,304 4,194,302 16,384
24 255.128.0.0 /9 8,388,608 8,388,606 32,768
25 255.0.0.0 /8 16,777,216 16,777,214 65,536
26 254.0.0.0 /7 33,554,432 33,554,430 131,072
27 252.0.0.0 /6 67,108,864 67,108,862 262,144
28 248.0.0.0 /5 134,217,728 134,217,726 1,048,576
29 240.0.0.0 /4 268,435,456 268,435,454 2,097,152
30 224.0.0.0 /3 536,870,912 536,870,910 4,194,304
31 192.0.0.0 /2 1,073,741,824 1,073,741,822 8,388,608
32 128.0.0.0 /1 2,147,483,648 2,147,483,646 16,777,216
33 0.0.0.0 /0 4,294,967,296 4,294,967,294 33,554,432

如何安装IIS

2012年7月18日 没有评论

我们平时在使用windows服务器的时候经常要应用到网站,如何在空的服务器里安装iis呢?

首先我们需要i386文件夹(这是windows的安装文件),当然网上也有部分好心人整理出win2003需要用到的iis安装文件。当然最好是有这个i386了。比较方便。

那接下来我们来一步步安装

开始 > 设置 > 控制面版 > 添加或删除程序

这里这步最关键了。就是要选择i386的文件位置。没有的话下载一个吧。

linux下复制文件cp命令

2012年7月3日 没有评论

cp 命令

用途
复制文件。

语法
复制文件到另一文件
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] [ -I ] [ -U ] [ - ] SourceFile TargetFile

复制文件到目录
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] [[ -r | -R ] [ -H | -L | -P ]] [ -I ] [ -U ] [ - ] SourceFile … TargetDirectory

复制目录到目录
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] { -r | -R } [ -H | -L | -P ] [ -I ] [ -U ] [ - ] SourceDirectory … TargetDirectory

描述
cp 命令复制由 SourceFile 参数指定的源文件到由 TargetFile 参数指定的目标文件。如果目标文件已存在,cp 覆盖原来内容,但相关的方式、所有者和组不改变。SourceFile 的最后访问时间和 TargetFile 的最后修改时间设置为复制进行的时间。如果 TargetFile 不存在,cp 创建一个新文件命名为 TargetFile,它和源文件除了粘滞位未设置外有相同的方式,除非超级用户来设置它,而所有者和 TargetFile 组正是这种用户。当 TargetFile 是另一文件的链接时,cp 用源文件内容覆盖目标链接;来自 TargetFile 的链接保留。而且,cp 命令能复制由 SourceFile 参数(或由 SourceDirectory 参数命名的目录)指定的源文件到由 TargetDirectory 参数指定的目录。

注:如果源参数之一是目录,您需要指定 -r 或 -R 标志。
如果有目录由 cp 命令在复制过程创建,新创建的目录与相应的源目录有相同的方式。

您也能复制特殊设备文件。实现这一点的首选选项是 -R 标志。指定 -R 使特殊文件在新路径名下重新创建。指定 -r 标志使 cp 命令尝试复制特殊文件为常规文件。

标志

-E -E 选项需要下列参数中的一个。如果省略 -E 选项,warn 是缺省行为。
force
以下情况对文件的 cp 操作会失败,即如果文件的固定范围大小或空间保留不能被保存的话。
ignore
在保存范围属性时忽略任何错误。
warn
如果文件的空间保留或者固定范围大小无法保存,就发出一个警告。
-f 如果目标文件不能被写操作打开的话,指定移去目标文件。移去操作在 cp 命令作任何复制之前执行。
-h 强制 cp 命令复制符号链接。缺省值是跟随符号链接,也就是将文件复制到符号链接指向处。
-H 根据由指定为 SourceFile 操作数的任何符号链接引用的文件类型和内容来进行操作。
-i 提示您将被覆盖的文件名。上述情况发生在当 TargetDirectory 或 TargetFile 参数含有与 SourceFile 或 SourceDirectory 参数所指定的文件同名的文件时。如果您输入 y 或在语言环境下的 y 的同义词,cp 命令将继续。任何其他的回答会避免 cp 命令覆盖文件。
-I 在 ACL 转换期间禁止警告消息。
-L 根据由指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接所引用的文件类型和内容来进行操作。
-p 将每个 SourceFile/SourceDirectory 的以下特征复制到相应的 TargetFile 和/或 TargetDirectory:
最后修改数据和最后访问的时间。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。没有复制 SourceFile/SourceDirectory 的 nanoseconds 字段的最后修改时间或最后访问时间。
用户标识和组标识。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。
文件许可位和 S_ISUID 和 S_ISGID 位。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。
如果用户标识或组标识不能复制,则文件许可位 S_ISUID 和 S_ISGID 被清除。

为了保存所有者标识和组标识、许可方式、修改和访问次数,用户必须有适当的文件访问许可权(用户应该是超级用户或与目标文件有相同的所有者标识)

如果不能保存这些特征,则目标文件不能删除。

如果目标文件系统同样支持,则保存与 SourceFile 相关联的访问控制列表(ACL)。如果源文件包含 NFS4 ACL 且目标文件系统不支持 NFS4 ACL,则 NFS4 ACL 转换为 AIXC。请参阅《安全性》中的『用户帐户』以获取关于 ACL 的更多信息。

当 ACL 转换成功时,将会打印一条警告消息到 stderr。

-P 根据指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接来进行操作。
-r 复制由 SourceFile 或 SourceDirectory 参数指定的文件或目录下的文件层次结构(递归复制)。-r 标志用处理常规文件的相同方式处理特殊文件。
-R 复制由 SourceFile 或 SourceDirectory 参数指定的文件或目录下的文件层次结构到由 TargetDirectory 参数指定的目录。特殊文件类型,如先入先出(FIFO)文件和块及字符设备将被重新创建而非复制。符号链接也被跟随,除非指定 -h 标志。(-R 标志优先于 -r 标志。)
如果没有指定 -H、-L 或 -P 选项中的任何一个,则没有指定这些选项中哪一个将用作缺省值。请留心以下内容:

如果指定了 -H 选项,则 cp 命令将根据由指定为 SourceFile 操作数的任何符号链接引用的文件类型和内容来进行操作。
如果指定了 -L 选项,cp 命令将根据由指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接所引用的文件类型和内容来进行操作。
如果指定了 -P 选项,则 cp 命令将复制指定为 SourceFile 操作数的任何符号链接和在遍历文件层次结构期间遇到的任何符号链接,但不会进行任何符号链接。

-U 将 SourceFile 中的扩展属性(EA)、访问控制表(ACL)复制到 TargetFile。如果目标文件系统上不支持 EA,则它将被忽略。如果目标文件系统上不支持源 ACL 类型,则它将转换为由目标文件系统支持的兼容的 ACL 类型。
– 指示 –(破折号,破折号)标志之后的参数将被解释为文件名。空标志允许以 – (减号)开始的文件名规范。

退出状态
该命令返回以下退出值:

0 所有文件成功复制。
>0 发生错误。

示例
在当前目录做一个文件副本,请输入:

cp prog.c prog.bak
这将复制 prog.c 到 prog.bak。如果 prog.bak 现在不存在,则 cp 命令创建它。如果它存在,cp 命令用 prog.c 命令的副本取代它。

复制您当前目录下的一个文件到另一个目录,请输入:

cp jones /home/nick/clients
这将复制 jones 文件到 /home/nick/clients/jones。

复制一个文件到一个新的文件并保存与源文件相关联的修改日期、时间和访问控制列表,请输入: cp -p smith smith.jr
这将复制 smith 文件到 smith.jr 文件。不是用当前日期和时间戳记创建文件,而是系统给 smith.jr 文件和 smith 文件相同的日期和时间。smith.jr 文件也继承 smith 文件的访问控制保护。
复制一个目录下的所有文件到一个新目录,请输入:

cp /home/janet/clients/* /home/nick/customers
这只复制 clients 目录下的文件到 customers 目录。

复制一个目录包括其所有的文件和子目录到另一个目录,请输入: cp -R /home/nick/clients /home/nick/customers
注:目录不能复制到目录本身。这将复制 clients 目录,包括所有文件、子目录和那些子目录中的文件到 customers/clients 目录。
复制一个特殊的文件集合到另一个目录,请输入:

cp jones lewis smith /home/nick/clients
这将复制您当前工作目录的 jones,lewis,和 smith 文件到 /home/nick/clients目录。

要使用模式匹配字符来复制文件,请输入:
cp programs/*.c .
这将复制 programs 目录下,以 .c 结尾的文件到当前目录,表示为单个 . (点)。您必须在 c 和最后的点号间输入一个空格。

要将一个文件复制到新的文件并保留与源文件关联的 ACL 和 EA,请输入:
cp -U smith smith.jr

————小技巧—————
让cp 不要确认

在 /root 找 profile 出來, 把其中類似的
alias cp=’cp -i’
的加 comment 符, 再重新登入就可以了

如 .bash_profile 或 .bashrc
叫 /root/.bash_profile 或 /root/.bashrc

linux 下vi编译器的使用

2012年7月2日 没有评论

vi 文字编辑(根据鸟哥私房菜整理)

一般模式:移动光标的方法

h或向左方向键(←)
光标向左移动一个字符

j或向下方向键(↓)
光标向下移动一个字符

k或向上方向键(↑)
光标向上移动一个字符

l或向右方向键(→)
光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合键,

即加上想要进行的次数(数字)后,操作即可

[Ctrl] + [f]
屏幕“向下”移动一页,相当于 [Page Down] 按键(常用)

[Ctrl] + [b]
屏幕“向上”移动一页,相当于 [Page Up] 按键(常用)

[Ctrl] + [d]
屏幕“向下”移动半页

[Ctrl] + [u]
屏幕“向上”移动半页

一般模式:移动光标的方法

+
光标移动到非空格符的下一行

-
光标移动到非空格符的上一行

n
n表示“数字”,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20 则光标会向后面移动20个字符距离

0
这是数字“0”:移动到这一行的最前面字符处(常用)

$
移动到这一行的最后面字符处(常用)

H
光标移动到这个屏幕的最上方那一行

M
光标移动到这个屏幕的中央那一行

L
光标移动到这个屏幕的最下方那一行

G
移动到这个文件的最后一行(常用)

nG
n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合 :set nu)

gg
移动到这个文件的第一行,相当于1G(常用)

n
n为数字。光标向下移动n行(常用)

一般模式:搜索与替换

/word
从光标位置开始,向下寻找一个名为word的字符串。例如要在文件内搜索vbird这个字符串,就输入 /vbird即可(常用)

?word
从光标位置开始,向上寻找一个名为word的字符串

n
n是英文按键。表示“重复前一个搜索的动作”。举例来说,如果刚刚执行 /vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行 ?vbird的话,那么按下n,则会向上继续搜索名称为vbird的字符串

N
这个N是英文按键。与n刚好相反,为“反向”进行前一个搜索操作。例如 /vbird后,按下N则表示“向上”搜索vbird

一般模式:搜索与替换

:n1、n2s/word1/word2/g
n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100到200行之间搜索vbird并替换为VBIRD则:“:100、200s/vbird/VBIRD /g”(常用)

:1、$s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)

:1、$s/word1/word2/gc
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2。且在替换前显示提示符给用户确认(conform)是否需要替换(常用)

一般模式:删除、复制与粘贴

x, X
在一行字中,x为向后删除一个字符(相当于 [Del] 按键),X为向前删除一个字符(相当于 [backspace] 即退格键)(常用)

nx
n为数字,连续向后删除n个字符。举例来说,要连续删除10个字符,则输入“10x”

dd
删除光标所在的那一整行(常用)

ndd
n为数字。从光标位置开始,删除向下n列,例如20dd则是删除20列(常用)

d1G
删除光标所在位置到第一行的所有数据

dG
删除光标所在位置到最后一行的所有数据

d$
删除光标所在位置到该行的最后一个字符

d0
d的后面是数字0,删除光标所在处,到该行的最前面一个字符

yy
复制光标所在的那一行(常用)

nyy
n为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用)

y1G
复制光标所在行到第一行的所有数据

yG
复制光标所在行到最后一行的所有数据

y0
复制光标所在的那个字符到该行行首的所有数据

y$
复制光标所在的那个字符到该行行尾的所有数据

一般模式:删除、复制与粘贴

p, P
p为将已复制的数据粘贴到光标的下一行,P则为贴在光标上一行。举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会贴在原来的20行之后,即由21行开始贴。但如果是按下P,那么原来的第20行会被变成30行(常用)

J
将光标所在行与下一列的数据结合成同一行

c
重复删除多个数据,例如向下删除10行,[10cj]

u
复原前一个操作(常用)

[Ctrl]+r
重做上一个操作(常用)

u与 [Ctrl]+r是很常用的命令。一个是复原,另一个则是重做一次。利用这两个功能按键,编辑起来就得心应手。

.
这就是小数点。意思是重复前一个动作。如果想重复删除、重复粘贴,按下小数点“.”就可以(常用)

进入编辑模式

i、I
插入:在当前光标所在处插入输入文字,已存在的文字会向后退;其中,i为“从当前光标所在处插入”,I为“在当前所在行的第一个非空格符处开始插入”(常用)

a、A
a为“从当前光标所在的下一个字符处开始插入”,A为“从光标所在行的最后一个字符处开始插入”(常用)

o、O
这是英文字母o的大小写。o为“在当前光标所在的下一行处插入新的一行”;O为“在当前光标所在处的上一行插入新的一行”(常用)

r、R
替换:r会替换光标所在的那一个字符;R会一直替换光标所在的文字,直到按下ESC键为止(常用)

使用上面这些按键时,在vi画面的左下角处会出现“–INSERT–”或“–REPLACE–”的字样。通过名称就知道是什么操作。特别注意,上面也提过了,想在文件中输入字符时,一定要在左下角处看到INSERT/REPLACE才能输入。

Esc
退出编辑模式,回到一般模式中(常用)

命令行命令模式

:w
将编辑的数据写入硬盘文件中(常用)

:w!
若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入,与文件权限有关

:q
离开vi(常用)

:q!
若曾修改过文件,又不想存储,使用 ! 为强制离开不存储文件

注意一下,那个感叹号(!)在vi当中,常常具有“强制”的意思。

:wq
存储后离开,若为 :wq! 则为强制存储后离开(常用)

:e!
将文件还原到最原始的状态

ZZ
若文件没有更改,则不存储离开,若文件已经更改,则存储后离开

:w [filename]
将编辑的数据存储成另一个文件(类似另存新文件)

:r [filename]
在编辑的数据中,读入另一个文件的数据。即将“filename”这个文件内容加到光标所在行的后面

:n1、n2 w [filename]
将n1到n2的内容存储成filename文件

:! command
暂时离开vi到命令行模式下执行command的显示结果。例如“:! ls /home”,即可在vi中查看 /home中以ls输出的文件信息

:set nu
显示行号,设置之后,会在每一行的前缀显示该行的行号

:set nonu
与set nu相反,为取消行号

linux 的网卡设置

2012年6月30日 没有评论

linux下我们经常需要配置基础环境–网卡。也是服务器及网络的基本元素。让我们来更好的认识下linux下网卡的配置。
我们拿centos系统来做为示例。其他linux系统大同小异。

配置文件一般在系统认到网卡的情况下,路径为:

/etc/sysconfig/network-scripts/ifcfg-eth0

1
2
3
4
5
6
7
8
9
10
TYPE=Ethernet       #网卡类型
DEVICE=eth0         #网卡接口名称
ONBOOT=yes          #系统启动时是否自动加载
BOOTPROTO=static    #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11      #网卡IP地址
NETMASK=255.255.255.0    #网卡网络地址
GATEWAY=192.168.1.1      #网卡网关地址
DNS1=10.203.104.41       #网卡DNS地址
HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址
BROADCAST=192.168.1.255  #网卡广播地址

在一张网卡上绑定多个IP地址
在Linux下,可以使用ifconfig方便地绑定多个IP地址到一张网卡。例如eth0接口的原有IP地址为192.168.0.254,我们可以执行这条命令:

1
2
3
4
5
ifconfig eth1 up                         //启用网卡
ifconfig eth0:0 202.8.162.242 up         //绑定IP
ifconfig eth0:0 202.8.162.242 down       //绑定删除IP
ifconfig eth1 192.168.0.3 netmask 255.255.255.0
ifconfig eth0 add 192.168.0.253 netmask 255.255.255.0

后面的netmask可以省略,系统会根据IP地址添加默认的子网掩码。
这种方法的缺点是始终只能多绑定一个IP地址。
或者是执行以下命令:

1
2
3
ifconfig eth0:0 192.168.0.253
ifconfig eth0:1 192.168.0.252
……

就可以在一张网卡上绑定多个IP。
如果希望系统启动时自动绑定,那么可以把这些命令写到/etc/rc.d/rc.local脚本中去,也可以在/etc/sysconfig/network-scripts目录中,将ifcfg-eth0复制为ifcfg-eth0:0、ifcfg-eth0:1等,并做以下修改:

1
2
DEVICE=eth0:0[1]
IPADDR=192.168.0.253[252]

其它的保持不变。当系统启动eth0时,就会同时绑定这些IP地址。

如何修改网卡MAC地址?

首先必须关闭网卡设备,否则会报告系统忙,无法更改。
命令是:

1
/sbin/ifconfig eth0 down

修改 MAC 地址,这一步较 Windows 中的修改要简单。
命令是:

1
/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

重新启用网卡

1
/sbin/ifconfig eht0 up

网卡的 MAC 地址更改就完成了。

iptables:restorecon: command not found无法保存策略解决

2012年6月29日 没有评论

为客户安装了linux运行一些iptables设置时。运行保存策略时不生效。

1
2
3
service iptables save
 
iptables: Saving firewall rules to /etc/sysconfig/iptables: /etc/init.d/iptables: line 268: restorecon: command not found

解决办法:

1
yum -y install policycoreutils

然后运行命令保存iptables策略:

1
2
3
service iptables save
 
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

问题解决!

总结:由于有些简化linux系统进行了优化所以有些包没有自定义安装了。所以一般这类问题都是少rpm支持包。一般增加一下,就可以解决问题!

Nginx防盗链节省你的宽带

2012年6月25日 没有评论

根据网友文章,自己实践,介绍3种Nginx防盗链的方法,节省你的宽带
一:一般的防盗链如下:
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.ingnix.com ;
if ($invalid_referer) {
rewrite ^/ http://www.ingnix.com/retrun.html;
#return 404;
}
}
第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行: 表示对www.ingnix.com这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到http://www.ingnix.com/retrun.html页面,当然直接返回404也是可以的。

ps: 以上有人说第二行的 none  要去掉。我本人试过none去掉也可以正常。具体还要大家多测试一下。
二:针对图片目录防止盗链
location /images/ {
alias /data/images/;
valid_referers none blocked server_names *.xok.la xok.la ;
if ($invalid_referer) {return 403;}
}
三:使用第三方模块ngx_http_accesskey_module实现Nginx防盗链
实现方法如下:

实现方法如下:
1. 下载NginxHttpAccessKeyModule模块文件:Nginx-accesskey-2.0.3.tar.gz
2. 解压此文件后,找到nginx-accesskey-2.0.3下的config文件。编辑此文件:替换其中的”$HTTP_ACCESSKEY_MODULE”为”ngx_http_accesskey_module”;
3. 用一下参数重新编译nginx:
./configure --add-module=path/to/nginx-accesskey
4. 修改nginx的conf文件,添加以下几行:
location /download {
accesskey             on;
accesskey_hashmethod  md5;
accesskey_arg         "key";
accesskey_signature   "mypass$remote_addr";
}

其中:
accesskey为模块开关;
accesskey_hashmethod为加密方式MD5或者SHA-1;
accesskey_arg为url中的关键字参数;
accesskey_signature为加密值,此处为mypass和访问IP构成的字符串。

访问测试脚本download.php:
<?
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://www.inginx.com/download/G3200507120520LM.rar?key=".$ipkey.">download_add_key</a><br />";
$output_org_url="<a href=http://www.inginx.com/download/G3200507120520LM.rar>download_org_path</a><br />";
echo $output_add_key;
echo $output_org_url;
?>

访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误。

参考:
NginxHttpAccessKeyModule

通过winscp管理linux文件

2012年6月19日 没有评论

WinSCP是一个支持SSH(Secure SHell)的SCP(Secure CoPy)文件传输软件。只要文件主机支持SSH协定,你就可以安心的下载、上传文件。他的操作界面是参考NC(Norton Commander)的双视窗排列方式,使用起来不会有太大的困难。在WinSCP中,一般的文件操作都没有问题,如:复制、移动、更名文件或文件夹等。

我们可以直接通过winscp对linux下的文件进行操作和管理。使用操作方式和ftp相似。