搭建Nginx+php组合Web服务器
本篇文章转载网络,转载地址:http://blog.s135.com/read.php?366
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.
相关文档:
一个简单的例子读取CSV文件:
<?php
$handle=fopen("test.csv","r");
echo "<table border=2>";
//配合while循环读取文件
while($data=fgetcsv($handle,1024))
{
list($user,$pwd,$partment,$title)=$data;
echo "<tr>
<td>$user</td>
<td>$pwd< ......
php安装
# tar xzvf php-5.2.5.tar.gz
# cd php-5.2.5
./configure --prefix=/home/redadmin/php --with-apxs2=/home/redadmin/apache/bin/apxs --with-mysql=/home/redadmin/mysql --enable-mbstring=all --enable-track-vars
# make && make install
# cp php.ini-dist /home/redadmin/php/lib/php.ini
# c ......
开源建站程序让编程高手和只懂打字上网的人都可以快速建立一个功能强大、界面漂亮的网站。不管你是想建一个博客、论坛、CMS、电子商务网站,或是Wiki、相册管理、RSS聚合和类Digg网站。你都可以通过这些建站工具快速建立。
我们之前介绍过23个开源的CMS管理系统,现在则让我们来看一下26款开源建站程序。
......
Php的脚本块有关的符号:
1,XML风格:牛人极度推荐的用法<?php …?>。
2,简短风格:<?...?>最简单,遵循SGML(标准通用标记语言)处理说明的风格。要想用它,一定要开启short_open_tag选项,或者启用短标记的选项编译php。(初学者看张老师视频时,就容易犯没有开启短标记的错误。国外牛人不推荐,但现在国 ......
摘要:一、涉及到的危险函数〔include(),require()和include_once(),require_once()〕 include()&&require()语句:包括并运行指定文件。这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而require()则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用require()。include() ......