Apr
26
什么是 FastCGI
FastCGI 是一个可伸缩、高速的在web server和脚本语言间通迅的接口。关于FastCGI技术的更多信息可以在官方网站和Wikipedia看到。
FastCGI 被许多脚本语言所支持,包括 php,如果用 –enable-fastcgi 选项编译的话。
多数流行的web server都支持 FastCGI。包括Apache(mod_fastcgi和mod_fcgid),Zeus,nginx和lighttpd。
FastCGI 的主要优点是把动态语言和 web server 分离开来。这种技术允许 web server 和动态语言运行在不同的主机上。这可以改进可扩展性和安全性而没有大的效率损失。
php-fpm 可以和任何支持外部 FastCGI 技术的 web server 一起使用。
php-fpm是做啥用的
很不幸,官方网站 php.net 上的 php 在将 FastCGI SAPI 用于生产环境方面有许多已知的问题。
下面是关于启用 FastCGI SAPI 时的问题和 php-fpm 是如何解决他们的对比列表。
描述 php自带的 spawn-fcgi + spawn-php.sh + daemontools php-fpm
php守护进程化: pid file, log file, setsid(), setuid(), setgid(), chroot() (-) (+) (+)
进程管理。可以用 “graceful” 来停止并启动 php worker 进程而不会丢失请求。能够平滑地升级配置和二进制程序而不丢失任何请求。 php4 (-), php5 (只有 graceful) (-) (+)
严格限制来源请求的 web server 的 ip 地址 php4 (-) php5 (+) (从 5.2.2 开始) (-) (+)
根据负载动态调整进程数 (-) (-) Todo
用不同的 uid/gid/chroot/environment 和不同的 php.ini 选项启动 worder 进程。你不需要 safe mode 了! (-) (-) (+)
记录 worker 进程 stdout 和 stderr 日志 (-) (-) (+)
如果使用优化器,在共享内存意外破坏的情况下紧急重启所有的进程 (-) (-) (+)
如果 set_time_limit() 失败,确保进程会结束 (-) (-) (+)
特色功能 Error header、优化的上传支持、fastcgi_finish_request()
特色功能
所有这些特性都是“不打断”的方式实现的。也就是说,如果你不使用它们,它们的存在不会影响php的功能性——他们都是“透明”的。
Error header
范围:php.ini 选项
分类:便利性
默认情况下,如果被访问的php脚本包含语法错误,用户会收到一个空的“200 ok”页。这是不方便的。Error header 这个 php.ini 选项允许在这种情况下产生一个 HTTP 错误码,比如“HTTP/1.0 550 Server Made Big Boo”,从而中断web server请求并显示一个正确的错误页。
如果要实现这样的功能,需要在 php.ini 中添加一条 fastcgi.error_header = “HTTP/1.0 550 Server Made Big Boo”
在 php-5.2.4 中添加了类似,但不相同的功能:如果被访问的php脚本包含语法错误,并且 display_errors = off,会立刻返回“HTTP/1.0 500 Internal Server Error”。
如果你需要设定一个 503 错误,或者想要使这个行为独立于 display_errors 的设置,那么可以使用fastcgi.error_header。如果你在 php-5.2.5 或以上版本上启用 php-fpm,那么 fastcgi.error_header的优先级更高。
优化的上传支持
实质:web server 支持
类型:优化
这个特性正如名字那样,可以加速对大 POST 请求的处理速度,包括文件上传。优化是通过将请求体已写入一个临时文件,然后 fastcgi 协议传递文件名而不是请求体到来实现的。目前就我所知,只有 nginx0.5.9 以上才支持这个功能。显然,这种模式只在 php 和 web server 在一台机器上的时候才能用。
nginx 样例配置:
location ~ .php$ {
fastcgi_pass_request_body off;
client_body_in_file_only clean;
fastcgi_param REQUEST_BODY_FILE $request_body_file;
…
fastcgi_pass …;
}
在php中不需要配置任何东西。如果php收到了参数REQUEST_BODY_FILE,就读取其中的请求体,如果没有,就自行从fastcgi 协议中读取请求体。
结合这个特性,可以考虑对临时文件使用内存文件系统,例如tmpfs(linux):
client_body_temp_path /dev/shm/client_body_temp;
fastcgi_finish_request()
范围:php 函数
类型:优化
这个特性可以提高一些 php 请求的处理速度。如果有些处理可以在页面生成完后进行,就可以使用这种优化。比如,在 memcached 中保存 session 就可以在页面交给 web server 后进行。fastcgi_finisth_request() ,这一特性可以结束响应输出,web server 可以立即开始交给等不及的客户端,而此刻,php 可以在请求的上下文环境中处理许多事情。比如保存session,转换上传的视频,处理统计等等。
fastcgi_finisth_request() 会触发 shutdown 函数运行。
request_slowlog_timeout
范围: php-fpm.conf 选项
分类: 方便
这个选项能让你跟踪执行缓慢的脚本并把他们连同调用栈一起记录再日志文件中。例如如下设置:
5s
logs/slow.log
记录的 slow.log 可能是这个样子:
Sep 21 16:22:19.399162 pid 29715 (pool default)
script_filename = /local/www/stable/www/catalogue.php
[0x00007fff23618120] mysql_query() /srv/stable/common/Database/class.MySQLRequest.php:20
[0x00007fff23618560] getResult() /srv/stable/common/Database/class.Facade.php:106
[0x00007fff23618aa0] query() /srv/stable/common/mysite.com/ORM/class.UsersMapper.php:99
[0x00007fff23618d60] resolveByID() /srv/stable/common/mysite.com/ORM/class.User.php:629
[0x00007fff236193b0] getData() /srv/stable/common/class.DataEntity.php:90
[0x00007fff236195d0] load() /srv/stable/common/mysite.com/ORM/class.User.php:587
[0x00007fff23619a00] getIsHidden() /srv/stable/common/mysite.com/class.User.php:42
[0x00007fff2361a470] getName() /local/www/stable/www/catalogue.php:41
同时,在 error.log 中保存了如下记录:
Sep 21 16:22:19.399031 [WARNING] fpm_request_check_timed_out(), line 135: child 29715, script ‘/local/www/stable/www/catalogue.php’ (pool default) executing too slow (5.018002 sec), logging
正如你再例子中看到的,脚本运行了 5 秒以上,并很可能是由于 mysql 响应慢造成的(top backtrace)。
FAQ
Q:php-fpm 可以和 ZendOptimize 一起用吗?
A:完全可以。
Q:php-fpm 可以和 ZendPlatform、xcache、eAccelerator、APC 等的优化器一起用吗?
A:是的。php-fpm 的架构和任何一种用于高速 opcode 缓存的共享内存都适用。唯一的限制是:所有的 worker 进程只能适用一个缓存,即使它们用不同的 uid/gid 运行
Q:为什么我要给 php 打补丁呢?spawn-fcgi 不需要这样!
A:php-fpm 的创建是为了增强方便管理。没有打过补丁的 php 不能做到:
平滑重启 php 而不丢失请求,包括升级 php 二进制文件 以及/或者 扩展。
用不同的 uid / gid / chroot 环境运行 worker 进程
所有的设置只有一个配置文件
根据负载动态请求 (TODO)
对 php 请求实时统计性能 (TODO)
Q:为什么要用 root 运行 php-fpm 呢?这安全吗?
A:用 root 启动 php-fpm 只有在你打算用不同 uid/gid 的 php 来处理请求时才有意义。比如,在共享主机上的不同站点。因为只有在 master 进程用 root 运行的时候,才可以建立不同 uid/gid 的子进程。这是相当安全的。master 进程自己从来不会去处理请求。
在任何情况下,php- fpm 都不会用 root 身份来处理请求。
Q:php-fpm 可以加速 php 脚本处理速度吗?
A:不,它不会影响处理速度。不过,如果你使用一些特殊特性,对于一些特定的请求还是可以有性能提升的。
Q:如果我把我的网站从 mod_php 迁移到 php-fpm ,我会得到性能提升吗?
A:通常,当有服务器上有大量空闲内存可用时,能从迁移到 php-fpm 中得到的性能提升可能不大。但是如果内存并不充裕,性能提升还是很可观的,在某些情况下可以达到 300-500%。这可能是由于 nginx + php-fpm 一般会比 Apache + mod_php 使用更少的内存。而且 VFS 缓存会由于更多的空余内存而更有效地工作。
Q:php- fpm 将来会被官方的 php 包含吗?
A:我希望如此。目前,php-fpm 代码的协议是 GPL 。所以现在 php-fpm 的代码与 php 协议(类似 bsd)并不匹配。这是临时性措施。这样的选择是为了简化开发过程。一旦代码的功能完备,比如自适应生成子进程和其他一些东西,协议会改为一个相匹配的。之后,php-fpm 会正式发布给 php 开发团队,并被建议包含。
邮件列表
如果你有问题的话,请不要犹豫在邮件组里写邮件。
English: highload-php-en Russian: highload-php-ru
文档
php-fpm 已经在 Linux、MacOSX、Solaris 和 FreeBSD 上测试通过。
确信 libxml2(在某些系统上叫做libxml2-devel)已经安装。
下载最小的 php 和 php-fpm
$ bzip2 -cd php-5.2.5.tar.bz2 | tar xf -
$ gzip -cd php-5.2.5-fpm-0.5.7.diff.gz | patch -d php-5.2.5 -p1
$ cd php-5.2.5
$ ./configure –enable-fastcgi –enable-fpm
$ make all install
编辑
$prefix/etc/php-fpm.conf
运行
$prefix/bin/php-cgi –fpm
仔细检查
$prefix/logs/php-fpm.log
运行 phpinfo() 检查你的网站是否还正常运行
master 进程的 pid 被存放在
$prefix/logs/php-fpm.pid
master进程可以理解以下信号:
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制
关于
嗨,我的名字叫 Andrei Nigmatulin, 我是 php-fpm 的作者。
从 2004 年开始,我就在等有什么人让 PHP FastCGI 能满足产品环境,但我等不下去了。
php-fpm 是在数个项目种使用 PHP 的 FastCGI SAPI 中的知识、经验和想法的产物。
php-fpm 可以在 GPL 协议下用在公共用途。和 php-fpm 绑定的修改版的 libevent 是在 BSD 协议下发布的。
我需要得到您的反馈——新的想法和建议——来改进和优化 php FastCGI SAPI。 如果您有什么想法、意见、补充和建议,我会很高兴,很原意听取,也许还会实现他们。给给我发邮件吧。(地址在本页的末尾)。
如果你想支持 php-fpm 的开发,可以作一些捐赠: Paypal Yandex.Money
15/05/2007 – 第一次提交到 php-fpm.
andrei dot nigmatulin at gmail dot com
译注:
php-fpm还带有一个更方便的脚本,在$prefix/sbin/php-fpm。可以用php-fpm start|graceful|restart|stop来维护。稍编辑一下就可以让它使用配置文件。
后记:
最开始,php-fpm 只有俄文文档,弄的我很郁闷,于是我先用 google 翻译先弄成英文,然后再人工翻成中文。这当中会难免会在我自己的英文水平引起的错误之外,再多些错误出来。后来终于有了一个英文的 wiki,并邀请我提供中文翻译。同时,距上一次翻译(2008年5月)以后,原来的文档也已经有了更新。于是我就根据英文 wiki ,重新翻译了一遍。
原文链接:http://php-fpm.anight.org/
wiki:http://www.php-fpm.com/
翻译:http://syre.blogbus.com/logs/20092011.html
FastCGI 是一个可伸缩、高速的在web server和脚本语言间通迅的接口。关于FastCGI技术的更多信息可以在官方网站和Wikipedia看到。
FastCGI 被许多脚本语言所支持,包括 php,如果用 –enable-fastcgi 选项编译的话。
多数流行的web server都支持 FastCGI。包括Apache(mod_fastcgi和mod_fcgid),Zeus,nginx和lighttpd。
FastCGI 的主要优点是把动态语言和 web server 分离开来。这种技术允许 web server 和动态语言运行在不同的主机上。这可以改进可扩展性和安全性而没有大的效率损失。
php-fpm 可以和任何支持外部 FastCGI 技术的 web server 一起使用。
php-fpm是做啥用的
很不幸,官方网站 php.net 上的 php 在将 FastCGI SAPI 用于生产环境方面有许多已知的问题。
下面是关于启用 FastCGI SAPI 时的问题和 php-fpm 是如何解决他们的对比列表。
描述 php自带的 spawn-fcgi + spawn-php.sh + daemontools php-fpm
php守护进程化: pid file, log file, setsid(), setuid(), setgid(), chroot() (-) (+) (+)
进程管理。可以用 “graceful” 来停止并启动 php worker 进程而不会丢失请求。能够平滑地升级配置和二进制程序而不丢失任何请求。 php4 (-), php5 (只有 graceful) (-) (+)
严格限制来源请求的 web server 的 ip 地址 php4 (-) php5 (+) (从 5.2.2 开始) (-) (+)
根据负载动态调整进程数 (-) (-) Todo
用不同的 uid/gid/chroot/environment 和不同的 php.ini 选项启动 worder 进程。你不需要 safe mode 了! (-) (-) (+)
记录 worker 进程 stdout 和 stderr 日志 (-) (-) (+)
如果使用优化器,在共享内存意外破坏的情况下紧急重启所有的进程 (-) (-) (+)
如果 set_time_limit() 失败,确保进程会结束 (-) (-) (+)
特色功能 Error header、优化的上传支持、fastcgi_finish_request()
特色功能
所有这些特性都是“不打断”的方式实现的。也就是说,如果你不使用它们,它们的存在不会影响php的功能性——他们都是“透明”的。
Error header
范围:php.ini 选项
分类:便利性
默认情况下,如果被访问的php脚本包含语法错误,用户会收到一个空的“200 ok”页。这是不方便的。Error header 这个 php.ini 选项允许在这种情况下产生一个 HTTP 错误码,比如“HTTP/1.0 550 Server Made Big Boo”,从而中断web server请求并显示一个正确的错误页。
如果要实现这样的功能,需要在 php.ini 中添加一条 fastcgi.error_header = “HTTP/1.0 550 Server Made Big Boo”
在 php-5.2.4 中添加了类似,但不相同的功能:如果被访问的php脚本包含语法错误,并且 display_errors = off,会立刻返回“HTTP/1.0 500 Internal Server Error”。
如果你需要设定一个 503 错误,或者想要使这个行为独立于 display_errors 的设置,那么可以使用fastcgi.error_header。如果你在 php-5.2.5 或以上版本上启用 php-fpm,那么 fastcgi.error_header的优先级更高。
优化的上传支持
实质:web server 支持
类型:优化
这个特性正如名字那样,可以加速对大 POST 请求的处理速度,包括文件上传。优化是通过将请求体已写入一个临时文件,然后 fastcgi 协议传递文件名而不是请求体到来实现的。目前就我所知,只有 nginx0.5.9 以上才支持这个功能。显然,这种模式只在 php 和 web server 在一台机器上的时候才能用。
nginx 样例配置:
location ~ .php$ {
fastcgi_pass_request_body off;
client_body_in_file_only clean;
fastcgi_param REQUEST_BODY_FILE $request_body_file;
…
fastcgi_pass …;
}
在php中不需要配置任何东西。如果php收到了参数REQUEST_BODY_FILE,就读取其中的请求体,如果没有,就自行从fastcgi 协议中读取请求体。
结合这个特性,可以考虑对临时文件使用内存文件系统,例如tmpfs(linux):
client_body_temp_path /dev/shm/client_body_temp;
fastcgi_finish_request()
范围:php 函数
类型:优化
这个特性可以提高一些 php 请求的处理速度。如果有些处理可以在页面生成完后进行,就可以使用这种优化。比如,在 memcached 中保存 session 就可以在页面交给 web server 后进行。fastcgi_finisth_request() ,这一特性可以结束响应输出,web server 可以立即开始交给等不及的客户端,而此刻,php 可以在请求的上下文环境中处理许多事情。比如保存session,转换上传的视频,处理统计等等。
fastcgi_finisth_request() 会触发 shutdown 函数运行。
request_slowlog_timeout
范围: php-fpm.conf 选项
分类: 方便
这个选项能让你跟踪执行缓慢的脚本并把他们连同调用栈一起记录再日志文件中。例如如下设置:
记录的 slow.log 可能是这个样子:
Sep 21 16:22:19.399162 pid 29715 (pool default)
script_filename = /local/www/stable/www/catalogue.php
[0x00007fff23618120] mysql_query() /srv/stable/common/Database/class.MySQLRequest.php:20
[0x00007fff23618560] getResult() /srv/stable/common/Database/class.Facade.php:106
[0x00007fff23618aa0] query() /srv/stable/common/mysite.com/ORM/class.UsersMapper.php:99
[0x00007fff23618d60] resolveByID() /srv/stable/common/mysite.com/ORM/class.User.php:629
[0x00007fff236193b0] getData() /srv/stable/common/class.DataEntity.php:90
[0x00007fff236195d0] load() /srv/stable/common/mysite.com/ORM/class.User.php:587
[0x00007fff23619a00] getIsHidden() /srv/stable/common/mysite.com/class.User.php:42
[0x00007fff2361a470] getName() /local/www/stable/www/catalogue.php:41
同时,在 error.log 中保存了如下记录:
Sep 21 16:22:19.399031 [WARNING] fpm_request_check_timed_out(), line 135: child 29715, script ‘/local/www/stable/www/catalogue.php’ (pool default) executing too slow (5.018002 sec), logging
正如你再例子中看到的,脚本运行了 5 秒以上,并很可能是由于 mysql 响应慢造成的(top backtrace)。
FAQ
Q:php-fpm 可以和 ZendOptimize 一起用吗?
A:完全可以。
Q:php-fpm 可以和 ZendPlatform、xcache、eAccelerator、APC 等的优化器一起用吗?
A:是的。php-fpm 的架构和任何一种用于高速 opcode 缓存的共享内存都适用。唯一的限制是:所有的 worker 进程只能适用一个缓存,即使它们用不同的 uid/gid 运行
Q:为什么我要给 php 打补丁呢?spawn-fcgi 不需要这样!
A:php-fpm 的创建是为了增强方便管理。没有打过补丁的 php 不能做到:
平滑重启 php 而不丢失请求,包括升级 php 二进制文件 以及/或者 扩展。
用不同的 uid / gid / chroot 环境运行 worker 进程
所有的设置只有一个配置文件
根据负载动态请求 (TODO)
对 php 请求实时统计性能 (TODO)
Q:为什么要用 root 运行 php-fpm 呢?这安全吗?
A:用 root 启动 php-fpm 只有在你打算用不同 uid/gid 的 php 来处理请求时才有意义。比如,在共享主机上的不同站点。因为只有在 master 进程用 root 运行的时候,才可以建立不同 uid/gid 的子进程。这是相当安全的。master 进程自己从来不会去处理请求。
在任何情况下,php- fpm 都不会用 root 身份来处理请求。
Q:php-fpm 可以加速 php 脚本处理速度吗?
A:不,它不会影响处理速度。不过,如果你使用一些特殊特性,对于一些特定的请求还是可以有性能提升的。
Q:如果我把我的网站从 mod_php 迁移到 php-fpm ,我会得到性能提升吗?
A:通常,当有服务器上有大量空闲内存可用时,能从迁移到 php-fpm 中得到的性能提升可能不大。但是如果内存并不充裕,性能提升还是很可观的,在某些情况下可以达到 300-500%。这可能是由于 nginx + php-fpm 一般会比 Apache + mod_php 使用更少的内存。而且 VFS 缓存会由于更多的空余内存而更有效地工作。
Q:php- fpm 将来会被官方的 php 包含吗?
A:我希望如此。目前,php-fpm 代码的协议是 GPL 。所以现在 php-fpm 的代码与 php 协议(类似 bsd)并不匹配。这是临时性措施。这样的选择是为了简化开发过程。一旦代码的功能完备,比如自适应生成子进程和其他一些东西,协议会改为一个相匹配的。之后,php-fpm 会正式发布给 php 开发团队,并被建议包含。
邮件列表
如果你有问题的话,请不要犹豫在邮件组里写邮件。
English: highload-php-en Russian: highload-php-ru
文档
php-fpm 已经在 Linux、MacOSX、Solaris 和 FreeBSD 上测试通过。
确信 libxml2(在某些系统上叫做libxml2-devel)已经安装。
下载最小的 php 和 php-fpm
$ bzip2 -cd php-5.2.5.tar.bz2 | tar xf -
$ gzip -cd php-5.2.5-fpm-0.5.7.diff.gz | patch -d php-5.2.5 -p1
$ cd php-5.2.5
$ ./configure –enable-fastcgi –enable-fpm
$ make all install
编辑
$prefix/etc/php-fpm.conf
运行
$prefix/bin/php-cgi –fpm
仔细检查
$prefix/logs/php-fpm.log
运行 phpinfo() 检查你的网站是否还正常运行
master 进程的 pid 被存放在
$prefix/logs/php-fpm.pid
master进程可以理解以下信号:
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制
关于
嗨,我的名字叫 Andrei Nigmatulin, 我是 php-fpm 的作者。
从 2004 年开始,我就在等有什么人让 PHP FastCGI 能满足产品环境,但我等不下去了。
php-fpm 是在数个项目种使用 PHP 的 FastCGI SAPI 中的知识、经验和想法的产物。
php-fpm 可以在 GPL 协议下用在公共用途。和 php-fpm 绑定的修改版的 libevent 是在 BSD 协议下发布的。
我需要得到您的反馈——新的想法和建议——来改进和优化 php FastCGI SAPI。 如果您有什么想法、意见、补充和建议,我会很高兴,很原意听取,也许还会实现他们。给给我发邮件吧。(地址在本页的末尾)。
如果你想支持 php-fpm 的开发,可以作一些捐赠: Paypal Yandex.Money
15/05/2007 – 第一次提交到 php-fpm.
andrei dot nigmatulin at gmail dot com
译注:
php-fpm还带有一个更方便的脚本,在$prefix/sbin/php-fpm。可以用php-fpm start|graceful|restart|stop来维护。稍编辑一下就可以让它使用配置文件。
后记:
最开始,php-fpm 只有俄文文档,弄的我很郁闷,于是我先用 google 翻译先弄成英文,然后再人工翻成中文。这当中会难免会在我自己的英文水平引起的错误之外,再多些错误出来。后来终于有了一个英文的 wiki,并邀请我提供中文翻译。同时,距上一次翻译(2008年5月)以后,原来的文档也已经有了更新。于是我就根据英文 wiki ,重新翻译了一遍。
原文链接:http://php-fpm.anight.org/
wiki:http://www.php-fpm.com/
翻译:http://syre.blogbus.com/logs/20092011.html
Apr
25
wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。
$ wget -r -np -nd http://example.com/packages/
这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。
$ wget -r -np -nd --accept=iso http://example.com/centos-5/i386/
与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。
$ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。
$ wget -c http://example.com/really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。
$ wget -m -k (-H) http://www.example.com/
该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。
$ wget -r -np -nd http://example.com/packages/
这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。
$ wget -r -np -nd --accept=iso http://example.com/centos-5/i386/
与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。
$ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。
$ wget -c http://example.com/really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。
$ wget -m -k (-H) http://www.example.com/
该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。
Apr
25
1、做你真正感兴趣的事——你会花很多时间在上面,因此你一定要感兴趣才行,如果不是这样的话,你不愿意把时间花在上面,就得不到成功。
2、自己当老板。为别人打工,你绝不会变成巨富,老板一心一意地缩减开支,他的目标不是使他的职员变成有钱人。
3、提供一种有实效的服务,或一种实际的产品。你要以写作、绘画或作曲变成百万富翁的机会可以说是无限小,而你要在营造业、房地产、制造业发大财的机会比较大。记住,出版商赚的钱比作家多得多。
4、如果你坚持要用自己的灵感来创业?最好选择娱乐业,在这方面,发财的速度相当快,流行歌曲和电视最理想。
5、不论你是演员或商人,尽量增加你的观众。在小咖啡馆唱歌的人,所赚的钱一定比不上替大唱片公司灌唱片的人,地方性的商人,不会比全国性的商人赚的钱多。
6、找出一种需要,然后满足它。社会越变越复杂,人们所需要的产品和服务越来越多,最先发现这些需求而且满足他们的人,是改进现有产品和服务的人,也是最先成为富翁的人。
7、不要不敢采用不同的方式——新的方法和新产品,会造成新的财富。但必须确定你的新方法比旧方法更理想,你的新方法必须增进产品外观、效率、品质、方便或者降低成本。
8、如果你受过专业教育,或者有特殊才能,充分利用它。如果你烧得一手好菜,而却要去当泥水匠,那就太笨了。
9、在你着手任何事情之前,仔细地对周围的情形研究一番。政府机关和公共图书馆,可以提供不少资料,先做研究,可以节省你不少时间和金钱。
10、不要一直都想着发大财,不如你想想如何改进你的事业,您应该常常问自己的是:“我如何改良我的事业?”如何使事业进行顺利,财富就会跟着而来。
11、可能的话,进行一种家庭事业,这种方法可以减少费用,增进士气,利润的分配很简单,利润能够得到充分的利用,整个事业控制也较容易。
12、尽可能减少你的费用,但不能牺牲你的品质,否则的话,你等于是在慢性自杀,赚钱的机会不会大。
13、跟同行的朋友维持友谊——他们可能对你很有帮助。
14、把尽量多的时间花在事业上。一天12小时、一星期6天是最低要求,一天14小时到18小时很平常,一星期工作7天最好了。你必须先牺牲家庭和社会上的娱乐,直到你事业站稳为止。也只有到那时候,你才能把责任分给别人。
15、不要不敢自己下决心。听听别人的赞美和批评,但你自己要下决心。
16、不要不敢说实话。拐弯抹角,只会浪费时间,心里想什么就说什么,而且要尽可能地直截了当地、明确地说出来。
17、不要不敢承认自己的错误。犯了错误并不是一种罪行,犯错不改才是罪过。
18、不要因为失败就裹足不前。失败是难免的,也是有价值的,从失败中,你会学到正确的方法论。
19、不要在不可行的观念上打转。一发现某种方法行不通,立即把它放弃。世界上有无数的方法,把时间浪费在那些不可行的方法上是无可弥补的损失。
20、不要冒你承担不起的风险。如果你损失10万元,若损失得起的话,就可以继续下去,但如果你赔不起5万元,而一旦失败的话,你就完蛋了。
21、一再投资,不要让你的利润空闲着,你的利润要继续投资下去,最好投资别的事业或你控制的事业上,那样,才能钱滚钱,替你增加好几倍的财富。
22、请一位高明的律师——他会替你节约更多的金钱和时间,比起你所给予的将要多的多。
23、请一位精明的会计师。最初的时候,你自己记账,但除非你本身是个会计师,你还是请一位精明的会计师,可能决定你的成功和失败——他是值得你花钱的。
24、请专家替你报税。一位机灵的税务专家,可又替你免很多的税。
25、好好维持你的健康和你的平静心灵——否则的话,拥有再多的钱也没有什么意思。
2、自己当老板。为别人打工,你绝不会变成巨富,老板一心一意地缩减开支,他的目标不是使他的职员变成有钱人。
3、提供一种有实效的服务,或一种实际的产品。你要以写作、绘画或作曲变成百万富翁的机会可以说是无限小,而你要在营造业、房地产、制造业发大财的机会比较大。记住,出版商赚的钱比作家多得多。
4、如果你坚持要用自己的灵感来创业?最好选择娱乐业,在这方面,发财的速度相当快,流行歌曲和电视最理想。
5、不论你是演员或商人,尽量增加你的观众。在小咖啡馆唱歌的人,所赚的钱一定比不上替大唱片公司灌唱片的人,地方性的商人,不会比全国性的商人赚的钱多。
6、找出一种需要,然后满足它。社会越变越复杂,人们所需要的产品和服务越来越多,最先发现这些需求而且满足他们的人,是改进现有产品和服务的人,也是最先成为富翁的人。
7、不要不敢采用不同的方式——新的方法和新产品,会造成新的财富。但必须确定你的新方法比旧方法更理想,你的新方法必须增进产品外观、效率、品质、方便或者降低成本。
8、如果你受过专业教育,或者有特殊才能,充分利用它。如果你烧得一手好菜,而却要去当泥水匠,那就太笨了。
9、在你着手任何事情之前,仔细地对周围的情形研究一番。政府机关和公共图书馆,可以提供不少资料,先做研究,可以节省你不少时间和金钱。
10、不要一直都想着发大财,不如你想想如何改进你的事业,您应该常常问自己的是:“我如何改良我的事业?”如何使事业进行顺利,财富就会跟着而来。
11、可能的话,进行一种家庭事业,这种方法可以减少费用,增进士气,利润的分配很简单,利润能够得到充分的利用,整个事业控制也较容易。
12、尽可能减少你的费用,但不能牺牲你的品质,否则的话,你等于是在慢性自杀,赚钱的机会不会大。
13、跟同行的朋友维持友谊——他们可能对你很有帮助。
14、把尽量多的时间花在事业上。一天12小时、一星期6天是最低要求,一天14小时到18小时很平常,一星期工作7天最好了。你必须先牺牲家庭和社会上的娱乐,直到你事业站稳为止。也只有到那时候,你才能把责任分给别人。
15、不要不敢自己下决心。听听别人的赞美和批评,但你自己要下决心。
16、不要不敢说实话。拐弯抹角,只会浪费时间,心里想什么就说什么,而且要尽可能地直截了当地、明确地说出来。
17、不要不敢承认自己的错误。犯了错误并不是一种罪行,犯错不改才是罪过。
18、不要因为失败就裹足不前。失败是难免的,也是有价值的,从失败中,你会学到正确的方法论。
19、不要在不可行的观念上打转。一发现某种方法行不通,立即把它放弃。世界上有无数的方法,把时间浪费在那些不可行的方法上是无可弥补的损失。
20、不要冒你承担不起的风险。如果你损失10万元,若损失得起的话,就可以继续下去,但如果你赔不起5万元,而一旦失败的话,你就完蛋了。
21、一再投资,不要让你的利润空闲着,你的利润要继续投资下去,最好投资别的事业或你控制的事业上,那样,才能钱滚钱,替你增加好几倍的财富。
22、请一位高明的律师——他会替你节约更多的金钱和时间,比起你所给予的将要多的多。
23、请一位精明的会计师。最初的时候,你自己记账,但除非你本身是个会计师,你还是请一位精明的会计师,可能决定你的成功和失败——他是值得你花钱的。
24、请专家替你报税。一位机灵的税务专家,可又替你免很多的税。
25、好好维持你的健康和你的平静心灵——否则的话,拥有再多的钱也没有什么意思。
Apr
25
一、东京(Tokyo)
一座现代化的国际城市,位于本州关东平原南端,下辖23个特别区、27个市、5个町、8个村以及伊 豆群岛和小笠原群岛
,总面积2155平方公里,人口约1229万(截至2003年2月),是世界上人口最多的城市之一。按市区人口计 算,2004年度东京市的GDP为7848亿美元。
二、纽约
美国第一大都市和第一大商港, 它不仅是美国的金融中心,也是全世界金融中心之一。纽约位于纽约州东南哈得孙河口,濒临大西洋。它由五个区组成:曼哈顿、布鲁克林、布朗克斯、昆斯和里士 满,面积780平方公里,市区人口700多万,包括郊区在内的大纽约市人口1800万。按市区人口计算,2004年度纽约市的GDP为4070亿美元。
三、 伦敦(london)
位于英格兰东南部的平原上, 跨泰晤士河,距离泰晤士河入海口88公里。伦敦的行政区划分
为伦敦 城和32个市区,伦敦城外的12个市区称为内伦敦,其它20个市区称为外伦敦。伦敦城、内伦敦、外伦敦构成大伦敦市。大伦敦市又可分为伦敦城、西伦敦、东 伦敦、南区和港口。伦敦城是金融资本和贸易中心,西伦敦是英国王宫、首相官邸、议会和政府各部所在地,东伦敦是工业区和工人住宅区,南区是工商业和住宅混 合区,港口指伦敦塔桥至泰晤士河河口之间的地区。整个大伦敦市面积1580平方公里。2001年伦敦人口为718.8万。伦敦是世界最大的国际外汇市场和 国际保险中心,也是世界上最大的金融和贸易中心之一。按市区人口计算,2004年度伦敦市的GDP为2847亿美元。
四、首尔
韩国的首都, 面积为605.平方公里,占全国总面积的0.61%,2000年统计人口为1032万。首尔共有25个区,522个洞,是直接受中央管辖的地方自治团体 “特别市”。是韩国政治、经济、文化的中心按市区人口计算,2004年度首尔市的GDP为1980亿美元。
五、洛杉矶
濒临浩瀚的太平洋东侧的圣佩德罗湾和圣莫尼卡湾沿岸, 背靠莽莽的圣加布里埃尔山,面积1200多平方公里
。大市区包括洛杉矶县和奥兰治、 文图拉两县的一部分,以及贝弗利希尔斯、帕萨迪纳、长滩等80余个大小城镇,总面积10567平方公里。现在的洛杉矶,已成为美国石油化工、海洋、航天工 业和电子业的最大基地。它是美国科技的主要中心之一,拥有科学家和工程技术人员的数量位居全美第一,享有“科技之城”的称号,著名的硅谷就坐落这里。近年 来,洛杉矶的金融业和商业也迅速发展,数百家银行在洛杉矶设有办事处,包括许多著名的国际大财团,如洛克希德,诺思罗普,罗克韦尔等,洛杉矶已成为仅次于 纽约的金融中心。按市区人口计算,2004年度洛杉矶市的GDP为1960亿美元。
六、大阪
它位于本州西南, 面临大阪湾,面积204平方公里,人口约300万。以大阪为中心的日本四大工业区之一–阪神(神户)工业地带,周围大约有30卫星城市,如东大阪、大阪 吹田等,以及高科技企业集中的大阪经济园区。按市区人口计算,2004年度大阪市的GDP为1910亿美元。
七、香 港
位于中国东南端, 是发展日渐迅速的东亚地区的枢纽,地理条件优越。香港总面积达1103平方公里2003年年底
, 香港人口约680万,人口密度为每平方公里6300人。香港是全球第十一大贸易体系、第六大外汇市场及第十二大银行中心。香港股票市场规模之大,在亚洲排 名第二。按市区人口计算,2004年度香港市的GDP为1640亿美元。
八、芝加哥
美国第三大城市, 五大湖地区最大工业中心。位于伊利诺伊州东北部,密歇根湖西南端。面积590.5平方公里,人口278.4万(1990),其中黑人约占40%。大市区由 库克等6县组成,包括周围许多卫星城镇以及印第安纳州西北滨湖地区诸城,面积12061.6平方公里。以芝加哥为中心的480公里范围内,集中了全国近 20%的人口。2004年度芝加哥市的GDP为1460亿美元。
九、多伦多(Toronto)
加拿大安大略省的省会, 有人口430多万,面积632平方公里。作为加拿大经济中心的多伦多是加第
一大城市,位于加拿大心脏地区,接近美国 东部工业发达地区,如底特律、匹兹堡和芝加哥等。汽车工业、电子工业、金融业及旅游业在多伦多经济中占有重要地位,加拿大最大的汽车制造厂设在此地。其高 科技产品占全国的60%。加拿大有名的大银行总部,如皇家银行、帝国银行、蒙特利尔银行等全部汇集于此,90%的外国银行驻加分支机构设在多伦多,按交易 额计算,多伦多证券交易所是北美第三大交易所。按市区人口计算,2004年度多伦多市的GDP为1419亿美元。
十、墨西哥城 (MexicoCity, CiudaddeMexico)
位于墨西哥高原南部特斯科科湖的湖积平原上,海拔2240米。 30多年来,市区面积不断扩大,形成一个大都市区,包括墨西哥城和附近的17个城镇,面积约2018平方公里。墨西哥城的人口为2000万(含卫星城), 居世界之首,增长速度也在世界大城市中占第一位。墨西哥城是墨西哥的政治、经济和文化中心。它的生产总值占全国的48%。按市区人口计算,2004年度墨 西哥城市的GDP为1250亿美元。
一座现代化的国际城市,位于本州关东平原南端,下辖23个特别区、27个市、5个町、8个村以及伊 豆群岛和小笠原群岛
,总面积2155平方公里,人口约1229万(截至2003年2月),是世界上人口最多的城市之一。按市区人口计 算,2004年度东京市的GDP为7848亿美元。
二、纽约
美国第一大都市和第一大商港, 它不仅是美国的金融中心,也是全世界金融中心之一。纽约位于纽约州东南哈得孙河口,濒临大西洋。它由五个区组成:曼哈顿、布鲁克林、布朗克斯、昆斯和里士 满,面积780平方公里,市区人口700多万,包括郊区在内的大纽约市人口1800万。按市区人口计算,2004年度纽约市的GDP为4070亿美元。
三、 伦敦(london)
位于英格兰东南部的平原上, 跨泰晤士河,距离泰晤士河入海口88公里。伦敦的行政区划分
为伦敦 城和32个市区,伦敦城外的12个市区称为内伦敦,其它20个市区称为外伦敦。伦敦城、内伦敦、外伦敦构成大伦敦市。大伦敦市又可分为伦敦城、西伦敦、东 伦敦、南区和港口。伦敦城是金融资本和贸易中心,西伦敦是英国王宫、首相官邸、议会和政府各部所在地,东伦敦是工业区和工人住宅区,南区是工商业和住宅混 合区,港口指伦敦塔桥至泰晤士河河口之间的地区。整个大伦敦市面积1580平方公里。2001年伦敦人口为718.8万。伦敦是世界最大的国际外汇市场和 国际保险中心,也是世界上最大的金融和贸易中心之一。按市区人口计算,2004年度伦敦市的GDP为2847亿美元。
四、首尔
韩国的首都, 面积为605.平方公里,占全国总面积的0.61%,2000年统计人口为1032万。首尔共有25个区,522个洞,是直接受中央管辖的地方自治团体 “特别市”。是韩国政治、经济、文化的中心按市区人口计算,2004年度首尔市的GDP为1980亿美元。
五、洛杉矶
濒临浩瀚的太平洋东侧的圣佩德罗湾和圣莫尼卡湾沿岸, 背靠莽莽的圣加布里埃尔山,面积1200多平方公里
。大市区包括洛杉矶县和奥兰治、 文图拉两县的一部分,以及贝弗利希尔斯、帕萨迪纳、长滩等80余个大小城镇,总面积10567平方公里。现在的洛杉矶,已成为美国石油化工、海洋、航天工 业和电子业的最大基地。它是美国科技的主要中心之一,拥有科学家和工程技术人员的数量位居全美第一,享有“科技之城”的称号,著名的硅谷就坐落这里。近年 来,洛杉矶的金融业和商业也迅速发展,数百家银行在洛杉矶设有办事处,包括许多著名的国际大财团,如洛克希德,诺思罗普,罗克韦尔等,洛杉矶已成为仅次于 纽约的金融中心。按市区人口计算,2004年度洛杉矶市的GDP为1960亿美元。
六、大阪
它位于本州西南, 面临大阪湾,面积204平方公里,人口约300万。以大阪为中心的日本四大工业区之一–阪神(神户)工业地带,周围大约有30卫星城市,如东大阪、大阪 吹田等,以及高科技企业集中的大阪经济园区。按市区人口计算,2004年度大阪市的GDP为1910亿美元。
七、香 港
位于中国东南端, 是发展日渐迅速的东亚地区的枢纽,地理条件优越。香港总面积达1103平方公里2003年年底
, 香港人口约680万,人口密度为每平方公里6300人。香港是全球第十一大贸易体系、第六大外汇市场及第十二大银行中心。香港股票市场规模之大,在亚洲排 名第二。按市区人口计算,2004年度香港市的GDP为1640亿美元。
八、芝加哥
美国第三大城市, 五大湖地区最大工业中心。位于伊利诺伊州东北部,密歇根湖西南端。面积590.5平方公里,人口278.4万(1990),其中黑人约占40%。大市区由 库克等6县组成,包括周围许多卫星城镇以及印第安纳州西北滨湖地区诸城,面积12061.6平方公里。以芝加哥为中心的480公里范围内,集中了全国近 20%的人口。2004年度芝加哥市的GDP为1460亿美元。
九、多伦多(Toronto)
加拿大安大略省的省会, 有人口430多万,面积632平方公里。作为加拿大经济中心的多伦多是加第
一大城市,位于加拿大心脏地区,接近美国 东部工业发达地区,如底特律、匹兹堡和芝加哥等。汽车工业、电子工业、金融业及旅游业在多伦多经济中占有重要地位,加拿大最大的汽车制造厂设在此地。其高 科技产品占全国的60%。加拿大有名的大银行总部,如皇家银行、帝国银行、蒙特利尔银行等全部汇集于此,90%的外国银行驻加分支机构设在多伦多,按交易 额计算,多伦多证券交易所是北美第三大交易所。按市区人口计算,2004年度多伦多市的GDP为1419亿美元。
十、墨西哥城 (MexicoCity, CiudaddeMexico)
位于墨西哥高原南部特斯科科湖的湖积平原上,海拔2240米。 30多年来,市区面积不断扩大,形成一个大都市区,包括墨西哥城和附近的17个城镇,面积约2018平方公里。墨西哥城的人口为2000万(含卫星城), 居世界之首,增长速度也在世界大城市中占第一位。墨西哥城是墨西哥的政治、经济和文化中心。它的生产总值占全国的48%。按市区人口计算,2004年度墨 西哥城市的GDP为1250亿美元。
Apr
25
摩西(公元前13世纪):一神论宗教的创立者,为后世启迪了真理信仰的惟一性和人人在上帝面前的平等性;
耶稣(公元元年—34):一神论 宗教的普世者,为真理信仰的惟一性和人人在上帝面前的平等性在人类中的普及,做出了伟大的贡献;
苏格拉底(公元前469—前399):发明了 概念惟一性定义的辩证法;
柏拉图(公元前427—前347):创立了世界上第一个客观唯心主义真理的哲学思想体系,推出了二元逻辑的萌芽;
亚里斯多德(公元前384—前322):提出了思维工具论,是西方形式逻辑的最早的奠基者;
伏羲(公元前23世纪前):中国人的始祖,推出 了三元六度逻辑的萌芽,是易经中画卦的创始者,也是人类21世纪新逻辑最早的启迪者;
老子(公元前580—前500):世界上第一个完备地定 义了真理(道)的人,也是第一个提出了全逻辑的人。可惜,他的思想一直没有获得中国人真正的继承;
墨子(公元前476—前390):世界上第 一个提出了逻辑思维方法的人,比亚里斯多德还早约一个世纪。可惜,他的思维方法一直没有得到中国人的继承;
孔子(公元前551—前479): 世界上第一个提出人类生存的终极目标——爱人精神和大同理想的人;
佛陀(公元前563—前485):佛、法、僧三宝和六道轮回的思想者,有 三、有六,对21世纪最新逻辑的思考具有启迪作用;
奥古斯丁(公元354—430):用柏拉图哲学改造神学者,他的善恶二元论与三位一体论对 后来的哲学思考具有启迪价值;
阿奎那(公元1226—1274):用亚里斯多德哲学改造神学者,用理性证明上帝的存在,认为信仰高于理智。为 真理与上帝的合一创造了条件,同时也为后世的真理高于一切创造了条件;
笛卡尔(公元1596—1650):西方近代哲学之父,二元论逻辑的确 立者,事实上有三元论的倾向,他是空间三维坐标的发明者,也是近代分析逻辑的开创者;
牛顿(公元1642—1727):第一个把形式逻辑延拓 到力学理论中的自然科学家,微积分数学的发明者;
休谟(公元1711—1770):近代归纳逻辑理论的奠基者;
莱布尼茨(公元 1646—1716):与牛顿同为微积分数学的发明者,此外,又是二进制数学的开创者,今天人们使用的电脑即利用了他的发明;
康德(公元 1724—1804):西方第一个提出“三即是全”的哲学家,他的先验逻辑学是近代西方哲学逻辑思想的最高峰,他也是近代综合逻辑理论的开创者;
马克思(公元1818—1883):社会科学领域二元论逻辑理论的终结者;
弗洛伊德(公元1856—1939):心理科学领域二元论逻辑理 论的终结者;
爱因斯坦(公元1879—1955):自然科学领域二元论逻辑理论的终结者。
耶稣(公元元年—34):一神论 宗教的普世者,为真理信仰的惟一性和人人在上帝面前的平等性在人类中的普及,做出了伟大的贡献;
苏格拉底(公元前469—前399):发明了 概念惟一性定义的辩证法;
柏拉图(公元前427—前347):创立了世界上第一个客观唯心主义真理的哲学思想体系,推出了二元逻辑的萌芽;
亚里斯多德(公元前384—前322):提出了思维工具论,是西方形式逻辑的最早的奠基者;
伏羲(公元前23世纪前):中国人的始祖,推出 了三元六度逻辑的萌芽,是易经中画卦的创始者,也是人类21世纪新逻辑最早的启迪者;
老子(公元前580—前500):世界上第一个完备地定 义了真理(道)的人,也是第一个提出了全逻辑的人。可惜,他的思想一直没有获得中国人真正的继承;
墨子(公元前476—前390):世界上第 一个提出了逻辑思维方法的人,比亚里斯多德还早约一个世纪。可惜,他的思维方法一直没有得到中国人的继承;
孔子(公元前551—前479): 世界上第一个提出人类生存的终极目标——爱人精神和大同理想的人;
佛陀(公元前563—前485):佛、法、僧三宝和六道轮回的思想者,有 三、有六,对21世纪最新逻辑的思考具有启迪作用;
奥古斯丁(公元354—430):用柏拉图哲学改造神学者,他的善恶二元论与三位一体论对 后来的哲学思考具有启迪价值;
阿奎那(公元1226—1274):用亚里斯多德哲学改造神学者,用理性证明上帝的存在,认为信仰高于理智。为 真理与上帝的合一创造了条件,同时也为后世的真理高于一切创造了条件;
笛卡尔(公元1596—1650):西方近代哲学之父,二元论逻辑的确 立者,事实上有三元论的倾向,他是空间三维坐标的发明者,也是近代分析逻辑的开创者;
牛顿(公元1642—1727):第一个把形式逻辑延拓 到力学理论中的自然科学家,微积分数学的发明者;
休谟(公元1711—1770):近代归纳逻辑理论的奠基者;
莱布尼茨(公元 1646—1716):与牛顿同为微积分数学的发明者,此外,又是二进制数学的开创者,今天人们使用的电脑即利用了他的发明;
康德(公元 1724—1804):西方第一个提出“三即是全”的哲学家,他的先验逻辑学是近代西方哲学逻辑思想的最高峰,他也是近代综合逻辑理论的开创者;
马克思(公元1818—1883):社会科学领域二元论逻辑理论的终结者;
弗洛伊德(公元1856—1939):心理科学领域二元论逻辑理 论的终结者;
爱因斯坦(公元1879—1955):自然科学领域二元论逻辑理论的终结者。










