分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]
  [文章作者:张宴 本文版本:v6.3 最后修改:2010.07.26 转载请注明原文链接:http://blog.zyan.cc/nginx_php_v6/]

  前言:本文是我撰写的关于搭建“Nginx + PHP(FastCGI)”Web服务器的第6篇文章。本系列文章作为国内最早详细介绍 Nginx + PHP 安装、配置、使用的资料之一,为推动 Nginx 在国内的发展产生了积极的作用。本文可能不断更新小版本,请记住原文链接“http://blog.zyan.cc/nginx_php_v6/”,获取最新内容。第6篇文章主要介绍了Nginx 0.8.x新的平滑重启方式,将PHP升级到了5.2.14,修正了PEAR问题。另将MySQL 5.1.x升级到了5.5.x系列,配置文件变更较大。

  链接:《2007年9月的第1版》、《2007年12月的第2版》、《2008年6月的第3版》、《2008年8月的第4版》、《2009年5月的第5版

  点击在新窗口中浏览此图片

  Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了。Igor 将源代码以类BSD许可证的形式发布。

  Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客新浪播客网易新闻腾讯网搜狐博客等门户网站频道,六间房56.com等视频分享网站,Discuz!官方论坛水木社区等知名论坛,盛大在线金山逍遥网等网络游戏网站,豆瓣人人网YUPOO相册金山爱词霸迅雷在线等新兴Web 2.0网站。



  Nginx 的官方中文维基:http://wiki.nginx.org/NginxChs



  在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍

  根据我的经验,4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。我曾经就有两台Apache服务器,因为在配置文件中设置的MaxClients为4000,当Apache并发连接数达到3800时,导致服务器内存和Swap空间用满而崩溃。

  而这台 Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。

  在3万并发连接下,访问Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 服务器的PHP程序,仍然速度飞快。下图为Nginx的状态监控页面,显示的活动连接数为28457(关于Nginx的监控页配置,会在本文接下来所给出的Nginx配置文件中写明):

  点击在新窗口中浏览此图片

  我生产环境下的两台Nginx + PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,单台Nginx + PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”,相当于每天可以承受6000万(700*60*60*24=60480000)的访问量(更多信息见此),而服务器的系统负载也不高:

  点击在新窗口中浏览此图片

  2009年9月3日下午2:30,金山游戏《剑侠情缘网络版叁》临时维护1小时(http://kefu.xoyo.com/gonggao/jx3/2009-09-03/750438.shtml),大量玩家上官网,论坛、评论、客服等动态应用Nginx服务器集群,每台服务器的Nginx活动连接数达到2.8万,这是笔者遇到的Nginx生产环境最高并发值。

  点击在新窗口中浏览此图片



  下面是用100个并发连接分别去压生产环境中同一负载均衡器VIP下、提供相同服务的两台服务器,一台为Nginx,另一台为Apache,Nginx每秒处理的请求数是Apache的两倍多,Nginx服务器的系统负载、CPU使用率远低于Apache:

  你可以将连接数开到10000~30000,去压Nginx和Apache上的phpinfo.php,这是用浏览器访问Nginx上的phpinfo.php一切正常,而访问Apache服务器的phpinfo.php,则是该页无法显示。4G内存的服务器,即使再优化,Apache也很难在“webbench -c 30000 -t 60 http://xxx.xxx.xxx.xxx/phpinfo.php”的压力情况下正常访问,而调整参数优化后的Nginx可以。

  webbench 下载地址:http://blog.zyan.cc/post/288/

  注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。

  测试结果:##### Nginx + PHP #####
引用
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.21/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.21/phpinfo.php
100 clients, running 30 sec.

Speed=102450 pages/min, 16490596 bytes/sec.
Requests: 51225 susceed, 0 failed.

top - 14:06:13 up 27 days,  2:25,  2 users,  load average: 14.57, 9.89, 6.51
Tasks: 287 total,   4 running, 283 sleeping,   0 stopped,   0 zombie
Cpu(s): 49.9% us,  6.7% sy,  0.0% ni, 41.4% id,  1.1% wa,  0.1% hi,  0.8% si
Mem:   6230016k total,  2959468k used,  3270548k free,   635992k buffers
Swap:  2031608k total,     3696k used,  2027912k free,  1231444k cached


  测试结果:#####  Apache + PHP #####
引用
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.27/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.27/phpinfo.php
100 clients, running 30 sec.

Speed=42184 pages/min, 31512914 bytes/sec.
Requests: 21092 susceed, 0 failed.

top - 14:06:20 up 27 days,  2:13,  2 users,  load average: 62.15, 26.36, 13.42
Tasks: 318 total,   7 running, 310 sleeping,   0 stopped,   1 zombie
Cpu(s): 80.4% us, 10.6% sy,  0.0% ni,  7.9% id,  0.1% wa,  0.1% hi,  0.9% si
Mem:   6230016k total,  3075948k used,  3154068k free,   379896k buffers
Swap:  2031608k total,    12592k used,  2019016k free,  1117868k cached




  为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。

  处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:

  假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。



  安装步骤:
  (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 5.3,另在RedHat AS4上也安装成功)
  本文已有最新版本:

  请点击Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)




  [文章作者:张宴 本文版本:v5.5 最后修改:2009.09.18 转载请注明原文链接:http://blog.zyan.cc/nginx_php_v5/]

  前言:本文是我撰写的关于搭建“Nginx + PHP(FastCGI)”Web服务器的第5篇文章。本系列文章作为国内最早详细介绍 Nginx + PHP 安装、配置、使用的资料之一,为推动 Nginx 在国内的发展产生了积极的作用。这是一篇关于Nginx 0.7.x系列版本的文章,安装、配置方式与第4篇文章相差不大,但增加了MySQL安装配置的信息、PHP 5.2.10 的 php-fpm 补丁。Nginx 0.7.x系列版本虽然为开发版,但在很多大型网站的生产环境中已经使用。

  链接:《2007年9月的第1版》、《2007年12月的第2版》、《2008年6月的第3版》、《2008年8月的第4版

  点击在新窗口中浏览此图片

  Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。

  Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客新浪播客网易新闻等门户网站频道,六间房56.com等视频分享网站,Discuz!官方论坛水木社区等知名论坛,豆瓣YUPOO相册海内SNS迅雷在线等新兴Web 2.0网站。



  Nginx 的官方中文维基:http://wiki.nginx.org/NginxChs



  在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.15 + PHP 5.2.10 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍

  根据我的经验,4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。我曾经就有两台Apache服务器,因为在配置文件中设置的MaxClients为4000,当Apache并发连接数达到3800时,导致服务器内存和Swap空间用满而崩溃。

  而这台 Nginx 0.8.15 + PHP 5.2.10 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。

  在3万并发连接下,访问Nginx 0.8.15 + PHP 5.2.10 (FastCGI) 服务器的PHP程序,仍然速度飞快。下图为Nginx的状态监控页面,显示的活动连接数为28457(关于Nginx的监控页配置,会在本文接下来所给出的Nginx配置文件中写明):

  点击在新窗口中浏览此图片

  我生产环境下的两台Nginx + PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,单台Nginx + PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”,相当于每天可以承受6000万(700*60*60*24=60480000)的访问量(更多信息见此),而服务器的系统负载也不高:

  点击在新窗口中浏览此图片

  2009年9月3日下午2:30,金山游戏《剑侠情缘网络版叁》临时维护1小时(http://kefu.xoyo.com/gonggao/jx3/2009-09-03/750438.shtml),大量玩家上官网,论坛、评论、客服等动态应用Nginx服务器集群,每台服务器的Nginx活动连接数达到2.8万,这是笔者遇到的Nginx生产环境最高并发值。

  点击在新窗口中浏览此图片



  下面是用100个并发连接分别去压生产环境中同一负载均衡器VIP下、提供相同服务的两台服务器,一台为Nginx,另一台为Apache,Nginx每秒处理的请求数是Apache的两倍多,Nginx服务器的系统负载、CPU使用率远低于Apache:

  你可以将连接数开到10000~30000,去压Nginx和Apache上的phpinfo.php,这是用浏览器访问Nginx上的phpinfo.php一切正常,而访问Apache服务器的phpinfo.php,则是该页无法显示。4G内存的服务器,即使再优化,Apache也很难在“webbench -c 30000 -t 60 http://xxx.xxx.xxx.xxx/phpinfo.php”的压力情况下正常访问,而调整参数优化后的Nginx可以。

  webbench 下载地址:http://blog.zyan.cc/post/288/

  注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。

  测试结果:##### Nginx + PHP #####
引用
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.21/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.21/phpinfo.php
100 clients, running 30 sec.

Speed=102450 pages/min, 16490596 bytes/sec.
Requests: 51225 susceed, 0 failed.

top - 14:06:13 up 27 days,  2:25,  2 users,  load average: 14.57, 9.89, 6.51
Tasks: 287 total,   4 running, 283 sleeping,   0 stopped,   0 zombie
Cpu(s): 49.9% us,  6.7% sy,  0.0% ni, 41.4% id,  1.1% wa,  0.1% hi,  0.8% si
Mem:   6230016k total,  2959468k used,  3270548k free,   635992k buffers
Swap:  2031608k total,     3696k used,  2027912k free,  1231444k cached


  测试结果:#####  Apache + PHP #####
引用
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.27/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.27/phpinfo.php
100 clients, running 30 sec.

Speed=42184 pages/min, 31512914 bytes/sec.
Requests: 21092 susceed, 0 failed.

top - 14:06:20 up 27 days,  2:13,  2 users,  load average: 62.15, 26.36, 13.42
Tasks: 318 total,   7 running, 310 sleeping,   0 stopped,   1 zombie
Cpu(s): 80.4% us, 10.6% sy,  0.0% ni,  7.9% id,  0.1% wa,  0.1% hi,  0.9% si
Mem:   6230016k total,  3075948k used,  3154068k free,   379896k buffers
Swap:  2031608k total,    12592k used,  2019016k free,  1117868k cached




  为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。

  处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:

  假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。



  安装步骤:
  (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 5.3,另在RedHat AS4上也安装成功)
  本文已有最新版本:

  请点击Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)




  [文章作者:张宴 本文版本:v4.14 最后修改:2009.04.14 转载请注明原文链接:http://blog.zyan.cc/nginx_php_v4/]

  前言:本文是我撰写的关于搭建“Nginx + PHP(FastCGI)”Web服务器的第4篇文章。本系列文章作为国内最早详细介绍 Nginx + PHP 安装、配置、使用的资料之一,为推动 Nginx 在国内的发展产生了积极的作用。这是一篇关于Nginx 0.7.x系列版本的文章,安装、配置方式与第3篇文章相差不大,但配置参数有不同。Nginx 0.7.x系列版本虽然为开发版,但在很多大型网站的生产环境中已经使用。

  链接:《2007年9月的第1版》、《2007年12月的第2版》、《2008年6月的第3版

  点击在新窗口中浏览此图片

  Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。

  Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客新浪播客网易新闻等门户网站频道,六间房56.com等视频分享网站,Discuz!官方论坛水木社区等知名论坛,豆瓣YUPOO相册海内SNS迅雷在线等新兴Web 2.0网站。



  Nginx 的官方中文维基:http://wiki.codemongers.com/NginxChs



  在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.7.51 + PHP 5.2.8 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍

  根据我的经验,4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。我曾经就有两台Apache服务器,因为在配置文件中设置的MaxClients为4000,当Apache并发连接数达到3800时,导致服务器内存和Swap空间用满而崩溃。

  而这台 Nginx 0.7.51 + PHP 5.2.8 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。

  在3万并发连接下,访问Nginx 0.7.51 + PHP 5.2.8 (FastCGI) 服务器的PHP程序,仍然速度飞快。下图为Nginx的状态监控页面,显示的活动连接数为28457(关于Nginx的监控页配置,会在本文接下来所给出的Nginx配置文件中写明):

  点击在新窗口中浏览此图片

  我生产环境下的两台Nginx + PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,单台Nginx + PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”,相当于每天可以承受6000万(700*60*60*24=60480000)的访问量(更多信息见此),而服务器的系统负载也不高:

  点击在新窗口中浏览此图片



  安装步骤:
  (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 5.1,另在RedHat AS4上也安装成功)
  Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。

  例1:用Linux下的curl命令发送POST请求给Apache服务器上的HTML静态页
[root@new-host ~]# curl -d 1=1 http://www.sohu.com/index.html
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>405 Method Not Allowed</TITLE>
</HEAD><BODY>
<H1>Method Not Allowed</H1>
The requested method POST is not allowed for the URL /index.html.<P>
<HR>
<ADDRESS>Apache/1.3.37 Server at www.sohu.com Port 80</ADDRESS>
</BODY></HTML>


  例2:用Linux下的curl命令发送POST请求给Nginx服务器上的HTML静态页
[root@new-host ~]# curl -d 1=1 http://blog.zyan.cc/tech/index.htm
<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/0.5.35</center>
</body>
</html>


  但在有些应用中,需要使静态文件能够响应POST请求。

  对于Nginx,可以修改nginc.conf配置文件,改变“405错误”为“200 ok”,并配置location来解决,方法如下:
server
{
   listen       80;
   server_name  domain.zyan.cc;
   index index.html index.htm index.php;
   root  /opt/htdocs;

   if (-d $request_filename)
   {
       rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
   }

   error_page   405 =200 @405;
   location @405
   {
       root  /opt/htdocs;
   }    

   location ~ .*\.php?$
   {
       include conf/fcgi.conf;      
       fastcgi_pass  127.0.0.1:10080;
       fastcgi_index index.php;
   }
}

Tags: , ,

我的技术文章与计算机作品汇总页
张宴(本页网址:http://blog.zyan.cc/tech/

文章推荐级别:最高点击在新窗口中浏览此图片  较高点击在新窗口中浏览此图片  普通点击在新窗口中浏览此图片

  Linux系统
    ★ Apache、Nginx及其他Web服务器
      ● [文章] Nginx虚拟主机多server_name的顺序问题 [作者:张宴]
      ● [文章] Nginx+PHP+MySQL双机互备、全自动切换方案 [作者:张宴]
      ● [文章] Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 使用Nginx轻松实现开源负载均衡──9月20日在ChinaUnix技术沙龙上的演讲PPT 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] Nginx 0.7.x + PHP 5.2.8(FastCGI)搭建胜过Apache十倍的Web服务器(第4版) 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 解决Nginx  + PHP(FastCGI)遇到的502 Bad Gateway错误 [作者:张宴]
      ● [文章] 使用Nginx作为Web服务器的国内网站 [作者:张宴]
      ● [文章] Nginx 0.6.31 + PHP 5.2.6(FastCGI)搭建胜过Apache十倍的Web服务器(第3版) 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 为Apache编译添加mod_expires模块出错的解决笔记 [作者:张宴]
      ● [文章] 解决“HTTP/1.1 405 Method not allowed”问题,让静态文件响应POST请求 [作者:张宴]
      ● [文章] Nginx + PHP5(FastCGI)生产环境跑PHP动态程序可超过“700次请求/秒” [作者:张宴]
      ● [文章] 视频:Nginx versus Apache (两者的对比)
      ● [文章] Nginx 0.5.33 + PHP 5.2.5(FastCGI)搭建胜过Apache 10倍的Web服务器(第2版) 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] Nginx 简单的负载均衡配置示例 [作者:张宴]
      ● [文章] Nginx 0.5.31 + PHP 5.2.4搭建可承受3万以上并发连接数,胜过Apache 10倍的Web服务器 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 为Apache配置mod_deflat压缩输出 [作者:张宴]
      ● [文章] 修改Linux内核参数,减少TCP连接中的TIME-WAIT sockets [作者:张宴]
      ● [文章] 查看Apache并发请求数及其TCP连接状态 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] AutoAPM--Linux下自动编译Apache+PHP+MySQL脚本 [作者:张宴]
      ● [文章] Linux下Apache日志分析工具--AWStats安装使用 [作者:张宴]

    ★ PHP配置与优化
      ● [文章] 利用Xdebug分析PHP程序,找出性能瓶颈 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 安装及配置eaccelerator-0.9.5加速PHP-5.2.1 [作者:张宴]
      ● [文章] Linux下为RPM方式安装的PHP添加GD库支持 [作者:张宴]

    ★ MySQL数据库
      ● [文章] 快捷启动、停止、重启、杀死指定端口MySQL进程的脚本 [作者:张宴]
      ● [文章] MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] MySQL数据库服务器在Flickr、Fotolog、Wkipedia、Facebook等国际知名网站中的使用数量 [作者:张宴]
      ● [文章] 命令行方式管理MySQL数据库实例 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] MySQL中将字符串aaa批量替换为bbb的SQL语句 [作者:张宴]
      ● [文章] phpMyAdmin之一:可管理多台远程MySQL服务器的phpMyAdmin 2.10.2 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] phpMyAdmin之二:修改phpMyAdmin使其能够管理多台远程MySQL服务器 [作者:张宴]
      ● [文章] MySQL数据库故障解决──修复损坏的表 [作者:张宴]

    ★ Squid、Varnish、Memcached及其他缓存服务器
      ● [文章] 百度、新浪、Mixi、Apache社区赞助的开源key-value分布式存储系统 [作者:张宴]
      ● [文章] Memcached的代理服务器软件:magent使用小记 [作者:张宴]
      ● [文章] 利用shell命令操作Memcached [作者:张宴]
      ● [文章] 利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] MySQL Memcache_engine的安装与使用 [作者:张宴]
      ● [源码] dbcached──“分布式 key-value 数据库内存缓存系统” 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 减少Linux下Squid服务器的TIME_WAIT套接字数量 [作者:张宴]
      ● [文章] 使用Varnish代替Squid做网站缓存加速器的详细解决方案 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 找到一款批量清除Squid缓存的小工具 [作者:张宴]
      ● [文章] 初步试用Squid的替代产品──Varnish Cache网站加速器 [作者:张宴]
      ● [书籍] Squid中文权威指南 (在线版) (PDF下载) [作者:彭勇华]
      ● [文章] 清除指定squid缓存文件的脚本 点击在新窗口中浏览此图片 [作者:张宴]

    ★ 其他
      ● [文章] 我的开源PHP中文分词扩展:PHPCWS 1.0.0 点击在新窗口中浏览此图片 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 一款不错的Linux命令行下的FTP客户端软件 [作者:张宴]
      ● [文章] 亿级数据的高并发通用搜索引擎架构设计 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] Linux下简单限制网卡的带宽 [作者:张宴]
      ● [文章] 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] IE浏览器下同一网页多图片显示的瓶颈与优化 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 又一个新浪UNIX开源软件项目──xbayDNS [项目团队:新浪研发中心──系统研发]
      ● [文章] 新浪发起的UNIX开源软件项目 [项目团队:新浪互动社区事业部──博客产品]
      ● [文章] YouTube 系统架构 [作者:Cuong Do & Kyle Cordes]
      ● [文章] 我所熟悉的网站负载均衡技术 [作者:张宴]
      ● [文章] Linux索引节点(inode)用满导致的一次故障 [作者:张宴]
      ● [文章] 一款不错的网站压力测试工具webbench [作者:张宴]
      ● [文章] IP别名+TCP转发+端口映射实现跨网络访问 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] Linux下快速搭建ntp时间同步服务器 [作者:张宴]
      ● [文章] Linux服务器监控系统 ServMon V1.1 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] Linux服务器监控系统 ServMon V1.0 [作者:张宴]
      ● [书籍] 针对服务器运行环境安装CentOS 4.X Linux 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 使用Linux的rsync命令实现:多服务器镜像同步 [作者:张宴]
      ● [文章] 用rsync实现网站镜像和备份
      ● [文章] Fedora Core 4.0 简体中文语言包的安装 [作者:张宴]

    ★ Linux命令与shell脚本
      ● [文章] PHPSH:Facebook开发的PHP Shell的安装与使用 [作者:张宴]
      ● [文章] PHP多进程并发控制的测试用例 点击在新窗口中浏览此图片 [作者:张宴]




  硬件设备
    ★ 负载均衡交换机
      ● [文章] 利用NetScaler和自行编写的健康检查脚本,完美解决多台MySQL Slave数据库的负载均衡 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] F5 BIG-IP负载均衡器配置实例与Web管理界面体验 点击在新窗口中浏览此图片 [作者:张宴]




  编程语言
    ★ PHP/JavaScript编程
      ● [文章] AJAXCDR:利用 Flash 完美解决 JavaScript 和 AJAX 跨域 HTTP POST/GET 表单请求 点击在新窗口中浏览此图片 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 支持MSNP15协议与离线消息的PHP MSN Class,可实现MSN机器人 [作者:张宴]
      ● [文章] 同一域名对应多个IP时,PHP获取远程网页内容的函数 [作者:张宴]
      ● [文章] 通过浏览器从SVN更新代码到Linux服务器的指定目录 [作者:张宴]
      ● [文章] 一个发送HTML邮件的PHP函数 [作者:张宴]
      ● [文章] 采用curl库在PHP程序之间传递数组 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] PHP截取中文字符串不出现?号的解决方法 [作者:张宴]
      ● [文章] PHP XML Library:一个不错的PHP XML操作类
      ● [文章] PHP中常用的字符串函数
      ● [文章] 钢笔手写体生成工具(PHP)V1.0 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] PHP实现http与https转化 [作者:张宴]
      ● [文章] 用GD库生成高质量的缩略图片
      ● [文章] 部分PHP问题总结

    ★ HTML/JS
      ● [文章] dp.SyntaxHighlighter介绍:在网页中加亮显示源代码的工具 [作者:张宴]
      ● [文章] IE浏览器flash控件的激活方式介绍 [作者:张宴]
      ● [文章] 防止电子邮件地址被搜索到的新方法 [作者:张宴]
      ● [文章] 网页制作:带有滚动条的表格 [作者:张宴]




  Windows 2000/XP/2003/Vista
    ★ 软件分享
      ● [下载] PHPChina.com旗下的开源技术杂志《PHPer》第12期
      ● [网站] UnixSNS──Linux/Unix技术工程师社交网络
      ● [网站] 一个分类搜集了众多开源软件官方网址的站点
      ● [下载] 一款不错的开源密码管理软件──KeePass
      ● [下载] PHP编程的好工具:《PHP Designer 2007 专业版》
      ● [下载] 可以上传、下载文件的SSH客户端软件--SecureCRT绿色版

    ★ 其他
      ● [文章] 再谈Dr.COM宽带认证客户端共享上网破解V3.46(d13) 点击在新窗口中浏览此图片 [作者:张宴]
      ● [文章] 软件测试用例(Test Case)设计 [作者:Vince]
      ● [文章] IE7浏览器简体中文版的安装、设置和使用方法(并介绍了非正版Windows用户如何安装IE7) [作者:张宴]
      ● [文章] 如何寻找联想电脑驱动程序 [作者:张宴]
      ● [文章] Microsoft SQL Server数据库的备份与恢复 [作者:张宴]
      ● [文章] 解决IE浏览器打不开的办法 [作者:张宴]




  个人计算机作品
    ★ 可下载或开放源代码的作品
      ● [软件] APMServ 拥有图形界面的快速搭建Apache、PHP、MySQL、ASP、Perl网站服务器平台的绿色软件 点击在新窗口中浏览此图片
       [作者:张宴]
      ● [软件] 《APMServ 5.2.6》:一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP平台的绿色软件 点击在新窗口中浏览此图片 [作者:张宴]
      ● [插件] MySQL中文全文索引插件 mysqlcft 1.0.0 点击在新窗口中浏览此图片 [作者:张宴]
      ● [源码] dbcached──“分布式 key-value 数据库内存缓存系统” 点击在新窗口中浏览此图片 [作者:张宴]
      ● [源码] Linux服务器监控系统 ServMon V1.1 点击在新窗口中浏览此图片 [作者:张宴]
      ● [源码] Linux服务器监控系统 ServMon V1.0 [作者:张宴]
      ● [书籍] 针对服务器运行环境安装CentOS 4.X Linux 图文幻灯电子书 点击在新窗口中浏览此图片 [作者:张宴]
      ● [源码] 钢笔手写体生成工具(PHP)V1.0 点击在新窗口中浏览此图片 [作者:张宴]
      ● 更多>>>

    ★ 只提供部分源代码和信息的作品
      ● [架构] 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计 点击在新窗口中浏览此图片 [作者:张宴]
      ● [作品] Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现 点击在新窗口中浏览此图片 [作者:张宴]
      ● [架构] 以最少的Web服务器达到最大的性能──“互联星空播客” 点击在新窗口中浏览此图片 [作者:张宴]
      ● [演示] 大学期间开发的中南民族大学学生管理信息系统 [作者:张宴]
      ● [演示] 大学期间为北京博卡先锋软件开发有限公司定制开发的SAPM软件 [作者:张宴]
      ● [硬件] 自行打造的袖珍电脑主机 [作者:张宴]
      ● 更多>>>

  本页内容将陆续增加修改。最后修改时间:2009年03月11日

  这两天发现一个老外用JavaScript编写的好东西:dp.SyntaxHighlighter。它可以在网页中对各种程序源代码语法进行加亮显示。支持当前流行的各种编程语言:C#、CSS、C++、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、Visual Basic、XML / HTML

  下载地址:http://www.dreamprojections.com/syntaxhighlighter/
  演示地址:http://www.dreamprojections.com/syntaxhighlighter/Tests/PHP.html

  使用方法:
  1、假设网页文件test.htm存放在一个目录,则将dp.SyntaxHighlighter解压缩到该目录下的子目录,假设为images
  2、在网页的<head></head>之间插入以下代码:
Tags: ,
  如果在网页和博客上公布自己的E-mail地址,则可能被电子邮件收集工具搜索到并加入到他们的数据库中,之后就会收到一大堆广告垃圾邮件。E-mail地址搜索软件是通过@来搜索网页HTML源文件的,已有的一些对付方法,无非是用一个显示E-mail地址的图片代替文本E-mail地址,或者不按标准格式书写E-mail地址,把形如的E-mail地址写成yourname#zyan.cc,再备注一句“使用时将#修改为@”,虽然可行 ,但十分不方便。
  
  其实只要在网页HTML源文件中不包含连续完整的E-mail地址,而在浏览网页时能够显示完整的E-mail地址,就既可以防止电子邮件地址被搜索到,又可以方便想给自己发电子邮件的人(直接Ctrl+C、Ctrl+V邮件地址就行了,不用作任何修改)。实现方法并不难,简单的JavaScript就可以搞定,将下面的代码复制到自己的网页或博客中,把rewin1=、rewin2=、rewin3=后面引号中拆散的E-mail地址()换成自己的,就OK了。
Tags:
  娜瓦奔今天问怎么给她的博客模板加个带有滚动条的网页表格,我就让她把这段代码用到博客模板中:

<table width="100" border="0">
<tr><td style="word-break:break-all;WORD-WRAP: break-word;">
<div style="overflow:auto;height:100;">
博客正文内容
</div>
</td></tr>
</table>
Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]