Archive for 八月, 2008


%AllUsersProfile%
说明:所有用户的配置文件总目录
对应路径:C:Documents and SettingsAll Users

%USERPROFILE%
说明:指当前用户的配置文件目录
对应路径:C:Documents and Settingsweste

%HOMEPATH%
说明:指当前用户的配置文件目录
对应路径:C:Documents and Settingsweste

%systemdrive%
说明:系统所在盘
对应路径:C:

%HOMEDRIVE%
说明:系统所在盘
对应路径:C:

%windir%
说明:系统所在目录
对应路径:C:WINDOWS

%SystemRoot%
说明:Windows所在目录
对应路径:C:WINDOWS

%Temp%
说明:这个是系统的临时文件夹所在目录
对应路径:C:Documents and SettingsownerLocal SettingsTemp

%Tmp%
说明:这个是系统的临时文件夹所在目录
对应路径:C:Documents and SettingsownerLocal SettingsTemp

%ProgramFiles%
说明:Program Files程序安装目录
对应路径:C:Program Files

%commonprogramfiles%
说明:Common Files目录
对应路径:C:Program FilesCommon Files

%APPDATA%
说明:Application Data目录
对应路径:C:Documents and SettingswesteApplication Data

%ComSpec%
说明:cmd.exe文件路径
对应路径:C:WINDOWSsystem32cmd.exe

%LOGONSERVER%
说明:cmd.exe文件路径
对应路径:\abc

廣告

在WIN下安装APACHE配置虚拟目录和UNIN下基本是一样的,就是修改httpd.conf

1:单个IP对应单个玉米

例如:www.phpunion.com对应192.168.1.1

http://www.feelone.net对应192.168.1.2

在httpd.conf中加入如下指令

<VirtualHost 192.168.1.1> #对应玉米所指向的IP

DocumentRoot "c:/web/php" #www.phpunion.com要指向的目录,注意一定要有""

ServerName http://www.phpunion.com #所要绑的玉米

< irtualHost>

<VirtualHost 192.168.1.2> #对应玉米所指向的IP

DocumentRoot "c:/web/feel" #www.feelone.net要指向的目录,注意一定要有""

ServerName http://www.feelone.net #所要绑的玉米

< irtualHost>

剩下的可以继续绑!

2:单个IP对应多个玉米

NameVirtualHost 192.168.1.1 #记得一定要有着句啊!

<VirtualHost 192.168.1.1> #对应玉米所指向的IP

DocumentRoot "c:/web/php" #www.phpunion.com要指向的目录,注意一定要有""

ServerName http://www.phpunion.com #所要绑的玉米

< irtualHost>

<VirtualHost 192.168.1.1> #对应玉米所指向的IP

DocumentRoot "c:/web/feel" #www.feelone.net要指向的目录,注意一定要有""

ServerName http://www.feelone.net #所要绑的玉米

< irtualHost>

这样就绑上对应的目录了,如果没有NameVirtualHost 192.168.1.1 这个指令的话,所有的玉米就都指到php目录了.

然后重新启动apache,就可以看到所指的玉米对应相应的虚拟目录!

郭德刚经典语录

1“大爷,美国怎么走啊?”“问村长去”

2 您大点声不费电

3 待会儿散场都别走,吃饭去。谁去谁掏钱。

4 我是一有钱人。今天后台,就我开车来的,他们都走着来的,天津那几位老先生,打上礼拜二就开始走了。不过我那车啊,最近有点毛病,提速有点儿慢。开始呀,我以为是化油器脏了呢,检查啊才知道,是脚蹬子掉了……

5 老先生留下来的传统相声总共有一千多段,经过我们演员这些年不断地努力吧,到现在,基本上已经失传了……

6 英语、日语、韩语、南斯拉夫语、北斯拉夫语、西斯拉夫语……会七八国外国话,和八国联军对着骂街都不带重样的。

7 住的房子千疮百孔,一下雨算要了亲命了:外边小雨屋里中雨,外边大雨屋里暴雨,有时候雨实在太大了,全家人都上街上避雨去了。

8 你要舍得死,我就舍得埋。

9 法律不管我早打死他了!

10 这哥们儿抢了银行开车就上了北三环。下午五点半!
pol.ice到的时候在路上堵得正瓷实。

11 你无耻的样子很有我当年的神韵。

12 啊?你不知道我?我艺术家啊!我都艺术家一个多礼拜了

13 郭德刚:帝哥,我希望天下和平,天下百姓们安居乐业,国泰民安,没有战争,行吗,嗯?
上帝想了想,这难点儿,咱实话实说啊,我没那么大能力,真的真的,我也不跟你说别的,你换一样行吗?咱商量商量别的。
我一摸身上带了一张别人的相片,帝哥,你看看这个,这是我师兄弟,长得挺寒掺的,搞不上对象,你给他变漂亮点儿吧。
上帝:(想了想)还是说说世界和平那事儿吧(把相片撕了)
郭德刚:哎,你怎么把相片撕了,啊?你不同意归不同意,撕了干吗,我还留着避邪呢!

14 家里有钱,开一13开门的卡迪拉克。一听声音就知道是好机器,德国进口的,“突突突突”,哦,三蹦子。
一开起来,半个北京城冒黑烟,交警直冲您喊:“孙长老,收了神功吧。”

15 从今儿起,我吃龙虾再也不就饼了。

16 手榴弹是贵,要是一块钱六个,我先扔你一百块钱的

17 这小伙子长得,把脸挡上跟个演员似的……

18 好么!这飞机跟大发一样,还带摇玻璃的!……坐大发、夏利不给报 ……天津没大发了,都倒腾美国去了 ……飞到美国走了半年加了4万多回油 。

19 郭:怎么办啊?我太有钱了。都不知道怎么花了。哎?!于谦,要不我包你吧!于:包我?!
郭:啊…不是…咱再有钱也得挑挑长相儿啊!

20 寿星::玉帝玉帝!~有点事.
玉皇大帝:怎么了寿星?
寿星:您有榔头和钉子吗?借我使使,我的梅花鹿把栏杆给咬坏了。
玉皇大帝:寿星,我怎么跟你说的,那鹿你骑不要紧,你得喂呀!~

21 郭德纲:一来就接了个好活儿,盖一个70多米的烟囱!
于谦:还真不错!
郭德纲:起早贪黑把活干完了,人家来一验收,死活不给我们工钱!
于谦:质量不行?
郭德纲:开始把图纸拿倒了,人家让修口井!

22 郭:哎~~~!曾经有一个赚钱的机会摆在我的面前,但是我没有珍惜。机会过去了,我追悔莫及。假如上天再给我一个机会的话,我希望跟那个村长说:我愿意去。假如非让我在那工资前面加一个限额的话,我希望是:400元。

23 天冷了,给你寄了件大衣,邮局说太重,我就把扣儿铰下来放口袋里了。

24 白宫门口站了二十来人,有男的有女的,弄的兜子都准备好了――记者呀!我得留神说话,别被他们抓住什么把柄,丢中国人的脸。往下一走,这帮人全过来了:“师傅要盘吗?“卖盘的!你说白宫文化局都干吗吃的。

25 ――文顺,拿的什么?
――我妈给带的鸡蛋。
――给我吃。
――不给……你猜,猜有几个。
――我猜出来你给我一个。
――……你要猜出来我把这两个都给你
――…………5个?

26 ――是一假牙
――赶紧扔了吧。
――别扔啊,多可惜。
――怎么呢?
――栓上个小棍儿,当痒痒挠儿。

27 我们爱上电视台说相声。
为什么?好说啊!导演安排人领着鼓掌。
一上台,"今天",哗~~,"我们",哗~~,"给大家",哗~~,"说一段相,"哗~~,"声",哗~~,
"说得不好",哗~~,说得不好也鼓掌! (捧哏的:一个字儿一鼓啊!)

28 9014航班,由打西直门开往大兴黄村,票价5元,请您登机。你说这多有意思。乘务员站那儿得喊,快上快上有大座儿,有大座儿。

29 某某降生,他父亲病倒了,回到家之后,他母亲最不容易。这边儿是丈夫,这边儿是孩子,都得管。给这边儿喂喂奶,那边儿喂喂药,喂喂奶,喂喂药。喂喂药,喂喂奶。他爸爸特壮,这孩子吃错药了。

30 枯藤老树昏鸦,小桥流水人家。古道西风瘦马,夕阳西下,断肠人……在医院,……肠子都断了还不去医院!……我是篡改唐诗宋词第一高手。

31 守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正直公平挨饿。修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙!

32“我发现从二楼跳楼和从二十楼跳不一样”
“怎么不一样啊”
“从二楼跳下去是‘嘭’!‘啊’!”
“从二十楼呢?”
“是‘啊~`~~’!‘嘭’!”

中国股市的7次暴跌

1992.5~1992.11 1429点~400点,历时5个月,最大跌幅达72%

1993.2~1994.7 1553点~325点,历时18个月,最大跌幅达79%

1994.9~1996.1 1053点~512点,历时16个月,最大跌幅达51%

1997.5~1999.5 1510点~1047点,历时24个月,最大跌幅达30%

1999.6~2000.1 1756点~1361点,历时6个月,最大跌幅达22%

2001.6~2005.6 2245点~998点,历时48个月,最大跌幅达55%

2007.10~2008.8 6124点~至今,历时10个月,最大跌幅达56%

使用Nginx提升网站访问速度

目前官方 Nginx 并不支持 Windows,您只能在包括 Linux、UNIX、BSD 系统下安装和使用;Nginx 本身只是一个 HTTP 和反向代理服务器,它无法像 Apache 一样通过安装各种模块来支持不同的页面脚本,例如 PHP、CGI 等;Nginx 支持简单的负载均衡和容错;支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有。

在 Linux 下安装 Nginx

为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。您可以到 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz
# tar zxvf pcre-7.7.tar.gz
# cd pcre-7.7
# ./configure
# make
# make install

接下来安装 Nginx,Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /opt/nginx 目录下的详细步骤:

# wget http://sysoev.ru/nginx/nginx-0.6.31.tar.gz
# tar zxvf nginx-0.6.31.tar.gz
# cd nginx-0.6.31
# ./configure –with-http_stub_status_module –prefix=/opt/nginx
# make
# make install

其中参数 –with-http_stub_status_module 是为了启用 nginx 的 NginxStatus 功能,用来监控 Nginx 的当前状态。

安装成功后 /opt/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中 Nginx 的配置文件存放于 conf/nginx.conf,Nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin/nginx 命令来启动 Nginx,打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

常用的 Nginx 参数和控制

程序运行参数

Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:

-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。

-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。

-v:显示 nginx 版本号。

-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。

例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令

sbin/nginx – t – c conf/nginx2.conf

通过信号对 Nginx 进行控制

Nginx 支持下表中的信号:

信号名  作用描述 
TERM, INT  快速关闭程序,中止当前正在处理的请求 
QUIT  处理完当前请求后,关闭程序 
HUP  重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求 
USR1  重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件 
USR2  平滑升级可执行程序 
WINCH  从容关闭工作进程 

有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。

配置 Nginx

先来看一个实际的配置文件:

 user  nobody;# 工作进程的属主
 worker_processes  4;# 工作进程数,一般与 CPU 核数等同

 #error_log  logs/error.log;
 #error_log  logs/error.log  notice;
 #error_log  logs/error.log  info;

 #pid        logs/nginx.pid;

 events {
    use epoll;#Linux 下性能最好的 event 模式
    worker_connections  2048;# 每个工作进程允许最大的同时连接数
 }

 http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  ‘$remote_addr – $remote_user [$time_local] $request ‘
    #                  ‘"$status" $body_bytes_sent "$http_referer" ‘
    #                  ‘"$http_user_agent" "$http_x_forwarded_for"’;

    #access_log  off;
    access_log  logs/access.log;# 日志文件名

    sendfile        on;
    #tcp_nopush     on;
    tcp_nodelay     on;

    keepalive_timeout  65;

    include   gzip.conf;
   
    # 集群中的所有后台服务器的配置信息
    upstream tomcats {
  server 192.168.0.11:8080 weight=10;
  server 192.168.0.11:8081 weight=10;
  server 192.168.0.12:8080 weight=10;
  server 192.168.0.12:8081 weight=10;
  server 192.168.0.13:8080 weight=10;
  server 192.168.0.13:8081 weight=10;
    }

    server {
        listen       80;#HTTP 的端口
        server_name  localhost;

        charset utf-8;

        #access_log  logs/host.access.log  main;

  location ~ ^/NginxStatus/ {
     stub_status on; #Nginx 状态监控配置
     access_log off;
  }

  location ~ ^/(WEB-INF)/ {
     deny all;
  }
 

  location ~ .(htm|html|asp|php|gif|jpg|jpeg|png|bmp|ico|rar|css|js|
  zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {
             root /opt/webapp;
     expires 24h;
        }

        location / {
     proxy_pass http://tomcats;# 反向代理
     include proxy.conf;
        }

        error_page 404 /html/404.html;

        # redirect server error pages to the static page /50x.html
        #
  error_page 502 503 /html/502.html;
        error_page 500 504 /50x.html;
        location = /50x.html {
            root   html;
        }
    }
 } 

Nginx 监控

上面是一个实际网站的配置实例,其中灰色文字为配置说明。上述配置中,首先我们定义了一个 location ~ ^/NginxStatus/,这样通过 http://localhost/NginxStatus/ 就可以监控到 Nginx 的运行信息,显示的内容如下:

Active connections: 70
server accepts handled requests
 14553819 14553819 19239266
Reading: 0 Writing: 3 Waiting: 67 

NginxStatus 显示的内容意思如下:

active connections – 当前 Nginx 正处理的活动连接数。
server accepts handled requests — 总共处理了 14553819 个连接 , 成功创建 14553819 次握手 ( 证明中间没有失败的 ), 总共处理了 19239266 个请求 ( 平均每次握手处理了 1.3 个数据请求 )。
reading — nginx 读取到客户端的 Header 信息数。
writing — nginx 返回给客户端的 Header 信息数。
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。

静态文件处理

通过正则表达式,我们可让 Nginx 识别出各种静态文件,例如 images 路径下的所有请求可以写为:

location ~ ^/images/ {
    root /opt/webapp/images;
}

而下面的配置则定义了几种文件类型的请求处理方式。

location ~ .(htm|html|gif|jpg|jpeg|png|bmp|ico|css|js|txt)$ {
    root /opt/webapp;
    expires 24h;
}

对于例如图片、静态 HTML 文件、js 脚本文件和 css 样式文件等,我们希望 Nginx 直接处理并返回给浏览器,这样可以大大的加快网页浏览时的速度。因此对于这类文件我们需要通过 root 指令来指定文件的存放路径,同时因为这类文件并不常修改,通过 expires 指令来控制其在浏览器的缓存,以减少不必要的请求。 expires 指令可以控制 HTTP 应答中的“ Expires ”和“ Cache-Control ”的头标(起到控制页面缓存的作用)。您可以使用例如以下的格式来书写 Expires:

expires 1 January, 1970, 00:00:01 GMT;
expires 60s;
expires 30m;
expires 24h;
expires 1d;
expires max;
expires off;

动态页面请求处理

Nginx 本身并不支持现在流行的 JSP、ASP、PHP、PERL 等动态页面,但是它可以通过反向代理将请求发送到后端的服务器,例如 Tomcat、Apache、IIS 等来完成动态页面的请求处理。前面的配置示例中,我们首先定义了由 Nginx 直接处理的一些静态文件请求后,其他所有的请求通过 proxy_pass 指令传送给后端的服务器(在上述例子中是 Tomcat)。最简单的 proxy_pass 用法如下:

location / {
    proxy_pass        http://localhost:8080;
    proxy_set_header  X-Real-IP  $remote_addr;
}

这里我们没有使用到集群,而是将请求直接送到运行在 8080 端口的 Tomcat 服务上来完成类似 JSP 和 Servlet 的请求处理。

当页面的访问量非常大的时候,往往需要多个应用服务器来共同承担动态页面的执行操作,这时我们就需要使用集群的架构。 Nginx 通过 upstream 指令来定义一个服务器的集群,最前面那个完整的例子中我们定义了一个名为 tomcats 的集群,这个集群中包括了三台服务器共 6 个 Tomcat 服务。而 proxy_pass 指令的写法变成了:

location / {
    proxy_pass        http://tomcats;
    proxy_set_header  X-Real-IP  $remote_addr;
}

在 Nginx 的集群配置中,Nginx 使用最简单的平均分配规则给集群中的每个节点分配请求。一旦某个节点失效时,或者重新起效时,Nginx 都会非常及时的处理状态的变化,以保证不会影响到用户的访问。

一、选择和安装FTP服务器软件

如果你在安装LINUX系统的时候,在选择启动进程的时候选择了“ftpd”这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。

在绝大多数的LINUX发行版本中都选用的是WashingtonUniversity FTP,它是一个著名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求:

1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作;

2) 可以对不同网络上的机器做不同的存取限制;

3) 可以记录文件上载和下载时间;

4) 可以显示传输时的相关信息,方便用户及时了解目前的传输动态;

5) 可以设置最大连接数,提高了效率,有效地控制了负载。

二、wu-ftp的组成

安装了wu-ftp后,你将在/bin目录下看到以下五个可执行文件:

ftpd FTP服务器程序

ftpshut 用于关闭FTP服务器程序

ftpcount 显示目前在线人数

ftpwho 查看目前FTP服务器的连接情况

ckconfig 检查FTP服务器的设置是否正确

除了这些可执行文件以外,它还在/etc和/var目录下生成了七个配置文件:

/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts

系统安装了wu-ftp后,会建立一个特殊的用户ftp,并在/home目录下建立了一个ftpd目录,当用户以匿名登录上来时,将会自动定位于这个目录下。在这个目录下一般会建立几个子目录。

/home/ftpd/bin 存放一些供FTP用户使用的可执行文件。

/home/ftpd/etc 存放一些供FTP用户使用的配置文件。

/home/ftpd/pub 存放供下载的信息。

/home/ftpd/incoming 存放供上载信息的空间。

三、wu-ftp的配置

1. 查看、修改/etc/inetd.conf文件

/etc/inetd.conf文件是LINUX系统的超级服务器inetd的配置文件。它负责监听多个TCP/IP端口。当它收到请求,就根据配置文件派生一个相应的服务器。通过使用超级服务器,其他服务就可以只在需要时才派生,从而大大节省了系统资源。而wu-ftp就是利用超极服务器inetd来监听请求的。当超级服务器inetd收到了客户端的FTP请求时,就根据配置文件打开一个FTP服务进程。所以我们如果要使用wu-ftp,就必须确认在超级服务器inetd的配置文件inetd.conf中有这样一句:ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd以便当超级服务器收到FTP请求的时候,能够派生一个wu-ftp的FTP服务进程。(注:要确认是否有这样一行时,可以使用文件内容查找命令来确认:cat /etc/inetd.conf | grep ftp如果没有,则用手工加入或手工修改。

2. wu-ftpd的命令选项wu-ftpd就是wu-ftp的服务进程。它可以不带参数执行,也可以带参数执行。下面简单介绍一下wu-ftpd的执行参数。

-d 当FTP服务器出错时,将错误入系统的syslog中;

-l 将每次FTP客户端进行连接的入系统的syslog中;

-t 设置FTP客户端连接几分钟无操作就切断连接;

-a 使wu-ftp使用/etc/ftpaccess的设定;

-A 使wu-ftp不使用/etc/ftpaccess的设定;

-L 将FTP客户端连线后所执行的程序记录在系统的syslog中;

-I 将FTP客户端上载文件的日志记录在/usr/adm.xferlog文件中;

-o 将FTP客户端下载文件的日志记录

在/usr/adm/xferlog文件中。

通过对以上参数的理解,我们建议,将上面系统安装时的那条默认配置改为:ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd –a –I

3.提供自动压缩、解压缩的功能

如果想让FTP服务器有自动压缩、解压缩的功能,必须先将一些压缩、解压缩的命令文件如tar、gzip、gunzip、compress、uncompress等命令文件拷贝到/home/ftpd/bin目录下。

4. 关于/etc/ftpaccess的设置

这个配置文件是FTP服务器上最重要的配置文件,它直接关系到你的FTP服务器能否正常工作,还有许多权限上的设置。下面是一个典型的配置实例。

以下为引用的内容:
loginfails 3
class local real *
class remote anonymous guest *
limit remote 100 Any /etc/ftpd/toomany.msg
message /etc/ftpd/welcome.msg login
compress yes local remote
tar yes local remote
private yes
passwd-check rfc822 warn
log commands real
log transfer anonymous guest inbound outbound
log transfer real inbound
shutdown /etc/ftpd/shut.msg
delete no anonymous,guest
overwrite no anonymous,guest
rename no anonymous
chmod no anonymous,guest
umask no anonymous
upload /home/ftpd * no
upload /home/ftpd /bin no
upload /home/ftpd /etc no
upload /home/ftpd /pub yes real 0644 dirs
upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
alias in /incoming
email guest@xxx.net
email guest@yyy.net
deny *.com.tw /etc/ftpd/deny.msg 

下面我们逐句进行讲解,并给出每条设置的含义,以便大家触类旁通,以便根据自己FTP服务器的具体情况进行合理的设置。

1. 格式:loginfails [次数]

功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。

实例:loginfails 3:密码输入错误三次就切断连接。

2. 格式:class [类名] [real/guest/anonymous] [IP地址]

功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP服务器上的用户基本上可以分为以下三类:

real 在该FTP服务器有合法帐号的用户;

guest 有记录的匿名用户;

anonymous 权限最低的匿名用户

实例:class local real *:定义一个名为local的类,它包含了在任何地方登录(*代表所有IP地址)的real用户。

class remote anonymous guest *:定义一个名为remote的类,它包含了在任何地方登录的anonymous用户和guest用户。

3. 格式:limit [类别] [人数] [时间] [文件名]

功能:这个指令的功能为设置指定的时间内指定的类别允许连接的指定人数上限。当达到人数上限的时候,显示指定文件的内容。

实例:limit remote 100 Any /etc/ftpd/toomany.msg:在任何时间内,remote类的访问用户达到100人时,将不再允许无法产生新的连接,当第101位客户要连接时,连接将失败,并象用户出示文件/etc/ftpd/toomany.msg的内容。

4. 格式:message [文件名称] [指令]

功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。

实例:message /etc/ftpd/welcome.msg login:当用户执行login命令时,也就是登录到FTP服务器上的时候,系统将显示文件/etc/ftpd/welcome.msg的内容。

5. 格式:compress [yes/no] [类别]

功能:设置哪一个类别的用户可以使用compress(压缩)功能。

实例:compress yes local remote:允许local和remote两个类别的用户都能使用 compress(压缩)功能。

6. 格式:tar [yes/no] [类别]

功能:设置哪一个类别的用户可以使用tar(归档)功能。

实例:tar yes local remote:允许local和remote两类的用户都能使用tar功能。

7. 格式:private [yes/no]

功能:设定是否支持群组对文件的取用。

实例:private yes:支持群组对文件的取用。

8. 格式:passwd-check [none/trivial/rfc822] [enforce/warn]

功能:设定对匿名用户anonymous的密码使用方式。

none 表示不做密码验证,任何密码都可以登录;

trival 表示只要输入的密码中含有字符“@”就可以登录;

rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才能登录;

enfore 表示输入的密码不符合以上指定的格式就不让登录;

warn 表示密码不符合规定时只出现警告信息,仍然能够登录。

实例:passwd-check rfc822 warn:希望能够得到符合规定的E-Mail作为密码,但如果不是,也允许登录。

9. 格式:log command [real/guest/anonymous]

功能:设置哪些用户登录后的操作记录在文件/usr/adm/xferlog中。

实例:log command real:当real用户登录后,将他的操作记录下来。由于其它用户权限较低,所以操作不会引起太大的安全隐患,所以一般只需记下real用户的操作就可以了。

10. 格式:log transfers [real/guest/anonymous] [inbound/outbound]

功能:设置哪些用户的上载(inbound)和下载(outbound)操作做日志。

实例:log transfer anonymous guest inbound outbound:对于匿名用户要更加的关注它们的文件操作,

所以无论上载、下载都进行记录。

log transfer real inbound:对于合法用户则只记录他的上载记录。

11. 格式:shutdown [文件名]

功能:FTP服务器关闭的时间可以设置在后面所指定的文件中,当设置的时间一到,便无法登录FTP服务器了,要恢复的话只有将这个文件删掉。而这个文件必 须由指令/bin/ftpshut来生成。

实例:shutdown /etc/ftpd/shut.msg

12. 格式:delete [yes/no] [real/anonymous/guest]

功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。

实例:delete no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行delete命令。

13. 格式:overwrite [yes/no] [real/anonymous/guest]

功能:设置是否允许指定用户覆盖同名文件。默认是允许。

实例:overwrite no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户覆盖同名文件。

14. 格式:rename [yes/no] [real/anonymous/guest]

功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。

实例:delete no anonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行rename命令改变文件名。而对有记录的匿名用户则适当的放宽,允许他们使用改名命令。

15. 格式:chmod [yes/no] [real/anonymous/guest]

功能:设置是否允许指定用户使用chmod命令更改文件权限。默认是允许。

实例:delete no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行chmod命令更改文件权限。

16. 格式:umask [yes/no] [real/anonymous/guest]

功能:设置是否允许指定用户使用umask命令。默认是允许。

实例:delete no anonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行umask命令。

17. 格式:upload [根目录] [上载目录] [yes/no] [用户] [权限] [dirs/nodirs]

功能:对可以上载的目录进行更加详细的设置。

实例:upload /home/ftpd * no:表示在子目录/home/ftpd下不允许上载;

upload /home/ftpd /bin no:表示在子目录/home/ftpd/bin下不允许上载;

upload /home/ftpd /etc no:表示在子目录/home/ftpd/etc下不允许上载;

upload /home/ftpd /pub yes real 0644 dirs:允许用服务器上的合法用户在子目录/home/ftpd/pub目录下能上载权限为0644(也就是-rw-r–r–)的文件,而且在这个目录下可以新建子目录。

upload /home/ftpd /incoming yes real guest anonymous 0644 dirs:允许所有的用户在子目录/home/ftpd/incoming下能上载权限为0644的文件,而且在这个目录下可以新建子目录。

18. 格式:alias [目录别名] [目录名]

功能:给指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。

实例:alias inc: /incoming:为子目录incoming设置一个别名inc:。

19. 格式:email [guest的E-Mail地址]

功能:只要将某些E-Mail地址设置在这个地方,那么这些用户登录到FTP服务器时,他的身份将为guest,一般权限比real低一些,比anonymous高。

实例:email guest@xxx.net email guest@yyy.net:这里仅是一个示例,实际上可 以包含多个符合规范的E-Mail地址。

20. 格式:deny [IP地址/域名] [说明文件]

功能:这个设置可以限制哪一些IP地址或域名的用户无法登入FTP服务器。

实例:deny *.com.tw /etc/ftpd/deny.msg:设置凡是域名是以“.com.tw”结束的域名,都禁止其访问。

而将/etc/ftpd/deny.msg的内容显示给用户看。

5. 设置/etc/ftpuser,禁止某些用户登录

有时我们需要禁止一些用户使用FTP服务。其实这个设置是十分简单的,只需要将要禁止的用户帐号写入文件/etc/ftpuser中。由于从系统的安全考虑,一般我们是不希望权限过大的用户和一些与命令名相同的用户进入FTP服务器。所以在缺省的配置中,一般以下用户已经被列入了“黑名单”。

以下为引用的内容:
root
uucp
news
bin
adm
nobody
lp
sync
shutdown
halt
mail 

6. 设置/etc/ftphosts,禁止某些来自指定机器上的登录如果你需要拒绝来自某些主机的登录,一种方法就是在/etc/ftpaccess中设置deny命令,另一种更加简单的方法就是在/etc/ftphosts中写入你要禁止的主机的IP地址或域名。

7. 使新的配置生效

到此为止,我们已经能够根据自己的需要对FTP服务器配置进行必要的修改和调整。而让我们重新配置后,就必须使其生效。一般的,对/etc/ftpaccess的配置是直接作用于设置后的下一次FTP服务进程。而其它的则要对inetd进程重新启动。

5.4 wu-ftp相关的其他一些命令的使用

5.4.1 连接数统计命令ftpcount

我们可以使用ftpcount命令十分清楚地统计出当前连接到FTP服务器上的用户数目,并且同时列出上限。命令输出如下所示:

Service class local 0 Users(20maximum)

Service class remote 5 Users(100maximum)

5.4.2 在线用户查看命令ftpwho

我们可以使用ftpwho命令十分清楚地列出当前连接的用户的详细情况。

5.4.2 FTP关闭文件生成命令ftpshut

我们可以使用ftpshut命令生成一个在/etc/ftpaccess中设置的shut.msg文件,用于关机设定。ftpshut命令的格式为:

Ftpshut <-l min> <-d min> time <说明>

-l 这个参数设定在关闭FTP服务器功能前多少分钟时停止用户的连接;

-d 这个参数设定在关闭FTP服务器功能前多少分钟时切断用户连接;

time 指定关闭FTP服务器的时间。例如6:20分则写为0620。

使用LINUX安装盘在每一台PC机上安装。请确信在LINUX系统中安装了C编译器和C的LIB库。当你配置TCP/IP时,建议你为四台PC分别指定为192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4。第一台PC为你的服务器节点(拥有两块网卡的那台)。在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址。

当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:

192.168.1.1 node1 server

192.168.1.2 node2

192.168.1.3 node3

192.168.1.4 node4

编辑每台机器的/etc/hosts.equiv文件,使其包含以下几行:

node1

node2

node3

node4

$p#

以下的这些配置是为了让其能使用MPICH’s p4策略去执行分布式的并行处理应用。

1. 在服务器节点 
,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:

/mirror node1(rw) node2(rw) node3(rw) node4(rw)

2. 在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:

server:/mirror /mirror nfs rw,bg,soft 0 0

3. /mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发。

4. 在服务器节点上,安装MPICH。MPICH的文档可在

http://www.mcs.anl.gov/mpi/mpich/docs.html获得。

5.任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如/mirror/username,用来存放MPI程序和共享数据文件。这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4 MPI策略运行MPI程序。

MPICH安装指南

1.如果你有gunzip,就d下载mpich.tar.gz,要不然就下载mpich.tar.Z。你可以到http://www.mcs.anl.gov/mpi/mpich/downloa下载,也可以使用匿名FTP到ftp.mcs.anl.gov的pub/mpi目录拿。(如果你觉得这个东西太大,你可以到pub/mpi/mpisplit中取分隔成块的几个小包,然后用cat命令将它们合并)

2.解压:gunzip ;c mpich.tar.gz  tar xovf-(或zcat mpich.tar.Z tar xovf-)

3.进入mpich目录

4.执行:./configure为MPICH选择一套适合你的实际软硬件环境的参数组,如果你对这些默认选择的参数不满意,可以自己进行配置(具体参见MPICH的配置文档)。最好选择一个指定的目录来安装和配置MPICH,例如:

./configure -prefix=/usr/local/mpich-1.2.0

5.执行:make >& make.log 这会花一段较长的时间,不同的硬件环境花的时间也就不同,可能从10分钟到1个小时,甚至更多。

6.(可选)在工作站网络,或是一台单独的工作站,编辑mpich/util/machines/machines.xxx(xxx是MPICH对你机器体系结构取的名称,你能很容易的认出来)以反映你工作站的当地主机名。你完全可以跳过这一步。在集群中,这一步不需要。

7.(可选)编译、运行一个简单的测试程序:

cd examples/basic

make cpi

ln ;s ../../bin/mpirun mpirun

./mpirun ;np 4 cpi
此时,你就在你的系统上运行了一个MPI程序。

8.(可选)构建MPICH其余的环境,为ch_p4策略使 
用安全的服务会使得任何启动速度加快,你可以执行以下命令构建:

make serv_p4

(serv_p4是一个较新的P4安全服务的版本,它包含在MPICH 1.2.0版中),nupshot程序是upshot程序的一个更快版本,但他需要tk 3.6版的源代码。如果你有这个包,你就用以下命令可以构建它:

make nupshot

9.(可选)如果你想将MPICH安装到一个公用的地方让其它人使用它,你可以执行:

make install 或 bin/mpiinstall

你可以使用-prefix选项指定MPICH安装目录。安装后将生成include、lib、bin、sbin、www和man目录以及一个小小的示例目录(可选)到此你可以通告所有的用户如何编译、执行一个MPI程序。

    巧用ws2_32.dll禁止使用程序 
    比如你不想让别人使用wmplayer.exe,那么就在它相同文件夹里新建一个文件,名字改为ws2_32.dll,(适用基于NT系统的WinXP,Win2000,Win2003)这样,当点击wmplayer.exe的时候就会出现错误对话框而不能使用了. 

原理是什么呢? 
    程序运行时会自动调用ws2_32.dll文件,ws2_32.dll是个动态链接库文件,位于系统文件夹中,Windows在查找动态链接库文件时,会先在应用程序当前目录搜索,如果没有找到然后才会搜索Windows所在目录,如果还是没有会搜索system32和system目录。我在 wmplayer目录中建立了ws2_32.dll文件,在wmplayer看来这是一个它需要的文件而调用,这个所谓的“文件”又不具备真正地 ws2_32.dll文件所具有的功能,所以wmplayer就无法运行了. 

    同样,在其他应用程序相同的文件夹里建立这样一个文件.那其他文件就都不能正确执行了

郎咸平:越南经济垮塌的警示

  一个最国际化,一个最受世界瞩目的越南经济,轰然垮塌。这个国家的经济增长率仅次于中国,它的股票市场增长率还高于中国,大量引进外资,股价涨了10倍,楼价翻了几番,到了最后结果呢?经济危机,正在摧毁这个国家。
  
  亚洲各国中,除了中国之外,其他国家都遇到过金融危机,包括上世纪80年代的日本,1997年其他亚洲国家,今年的越南。似乎只有中国可以幸免于难,原因何在?
  
  流动性过剩并非通胀根源
  
  简单的开放市场,简单的国际化,就能让越南富强吗?结果充分证明,这么多年的越南经济只不过是昙花一现,因为根本不了解市场经济的本质。市场经济的本质是什么?民营企业,市场化,民主,自由,宪法,这些都不对。市场经济的本质就是一个规则,一个严刑峻法保障规则的制度叫做市场经济。只有建立了规则之后,你的经济发展,你的改革,你的民营化,你的自由经济才能创造价值,否则一定是大欺小,强欺弱。
  
  大家先想一下,通货膨胀怎么来的?目前政府的说法是流动性过剩,也就是说这个社会的钱太多了,买楼房造成楼市泡沫,买股票造成股市泡沫,买产品就造成通货膨胀。流动性过剩,我觉得这个判断很好笑。
  
  上个礼拜我在上海想吃樱桃,一问多少钱,50元一斤,我的胆子还比较大,都被吓了一跳。我当时就做了一个决定,不买了,改买两个柳丁回家吃。回家越想越不对,郎教授你混得还可以,连50元都出不起吗?不是出不起,太离谱了,我上次来还是12元一斤。50元还只是山东出产的樱桃,我还问了,美国进口的卖 138块一斤。
  
  为什么樱桃的进口价格是138块一斤,因为国际通货膨胀。按照我们的宏观经济学的教科书,那就是需求大于供给,价格就会上涨,需求小于供给,价格就会下跌,没错吧?但是,现在国际炒家一介入,情况就截然不同了。
  
  我们想一想,中国有13亿人口,我们买什么东西,什么价格就上升,对不对?所以对于炒期货的国际金融炒家而言,他要炒期货,一定要稳赚不赔,中国买什么东西,什么东西的价格一定要上升,因为我们的人口太多了。因此他们应该怎么做?他们应该抢在中国政府买任何东西之前先买。假设把价格从100块拉到300 块,让我们这样去买,他才卖给我们,就造成严重的进口通货膨胀。他们就赌这个,你买什么,我们就事先买什么,这就是国际金融炒家的智慧之所在。
  
  要设立严刑峻法的游戏规则
  
  亚洲国家惟一能保全的就是中国,因为我们有最好的绝缘体,那就是我们是一个外汇管制国家,我们又没有期货市场,我们又是固定汇率的国家,这种传统、古老的制度保护了中国,这就是为什么我们能够从97年开始幸免于难。
  
  因此,我们可以明白,极左极右的政策都会给中国带来莫大的伤害,极左中国已经经历过了,越南正在经历极右,也很惨。所以我们要设立一个游戏规则,引入市场经济的灵魂。市场经济的灵魂是什么?那就是我们欢迎自由竞争,欢迎民营化,欢迎外来资本,但是我们要设立一个严刑峻法的游戏规则。如果没有游戏规则,一定是走向菲律宾,走向越南,而不会走向美国,因为严刑峻法的游戏规则就是市场经济的灵魂,而不是很多人通常所理解的自由竞争。

在SQL分析的时候出现错误:

消息 170,级别 15,状态 1,第 22 行
第 22 行: ‘(‘ 附近有语法错误。

在执行SQL的时候出现错误:

消息 208,级别 16,状态 1,第 1 行
对象名 ‘sys.objects’ 无效。
消息 208,级别 16,状态 1,第 1 行
对象名 ‘sys.foreign_keys’ 无效。

原因其实就是SQL Server 2005与SQL Server 2000的语法不同,暂时没找到一个简单的转换方法,如果你的语句不多,可以用手动或者替换的方法自动转换一下。具体方法如下:

1、将sys.objects替换成dbo.sysobjects

2、将小写的object_id替换成id

例如:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[hand]’) AND type in (N’U’))
修改成
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[hand]’) AND type in (N’U’))

3、将WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]去掉
注意:这个如果不去掉的话也能成功,但是一些默认的主键就会没有加载成功。