Nginx + php 搭建 超性能 WEB 服务器

Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。

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

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

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

(0)

相关推荐

  • Web服务器IIS6的PHP最佳配置方法

    IIS6的PHP最佳配置方法 本文收藏自网络,本人还没有试过,不知如何,现在PHP版本已经到了5.2了.读者应该找找新的文章,本人自已搭建了一个Apache+PHP+Mysql+Mysqladmin平台,只用做学习用,还没真正实战过.!!! 虽然 LAMP 组合很不错,但是如果想要架设一台同时支持 PHP.ASP.ASP.NET.JSP.Perl 的 Web 虚拟主机服务器,还是用 Windows 2003 的 IIS 6 最好.网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法

  • 用定制的PHP应用程序来获取Web服务器的状态信息

    大多数网站托管(Web hosting)公司都支持客户对Web站点统计数据的访问,但是你往往会觉得服务器所产生的状态信息不够全面.例如,配置不正确的Web服务器不能识别某些文件类型,这些类型的文件就不会出现在状态信息之中.幸好,你可以用PHP来定制状态信息收集程序,这样你就可以获取你所需要的信息了. 公共日志文件格式(Common Logfile Format,CLF)的结构 CLF最初是NCSA为HTTPd(全球网服务器软件)而设计的.CERN HTTPd是一个由万维网联盟(World Wid

  • 服务器web工具 php环境下

    HTTP加速器-Varnish TCP/HTTP负载均衡器-HAProxy 分布式内存共享-Memcache 高性能的HTTP和反向代理服务器-Nginx Internet数据缓冲软件-Squid

  • PHP使用NuSOAP调用Web服务的方法

    本文实例讲述了PHP使用NuSOAP调用Web服务的方法.分享给大家供大家参考.具体如下: Steps: 1. Download nusoap library from internet. 2. Pass parameter list in your $client->call and enjoy. <?php require_once('./lib/nusoap.php'); $client = new soapclientnusoap('http://www.devtrackn.com/w

  • C#使用PHP服务端的Web Service通信实例

    注:本例中构建Web Service采用SOAP方式,通过php插件NuSoap来搭建SOAP服务器. 复制代码 代码如下: <?require_once("lib/nusoap.php"); //调用NuSoap $server = new soap_server(); //创建soap服务端$server->configureWSDL("login_service"); //配置WSDL$namespace = "http://www.ab

  • Linux+Nginx+Php架设高性能WEB服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 . Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor 将源代码以类BSD许可证的形式发布.尽管还是测试版,但是,Nginx 已经因为它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名了. 本文是W3CGROUP在成功架设Nginx+Php Web服务

  • 基于php在各种web服务器的运行模式详解

    一.php在apache中运行模式 php在apache中一共有三种工作方式:CGI模式.FastCGI模式.Apache 模块DLL以下分别比较:1. CGI模式与模块模式比较:php在apache中两种工作方式的区别(CGI模式.Apache 模块DLL)这两种工作方式的安装:PHP 在 Apache 2.0 中的 CGI 方式ScriptAlias /php/ "c:/php/"AddType application/x-httpd-php .php# 对 PHP 4 用这行Ac

  • php使用socket post数据到其它web服务器的方法

    本文实例讲述了php使用socket post数据到其它web服务器的方法.分享给大家供大家参考.具体实现方法如下: function post_request($url, $data, $referer='') { // Convert the data array into URL Parameters like a=b&foo=bar etc. $data = http_build_query($data); // parse the given URL $url = parse_url(

  • Nginx + php 搭建 超性能 WEB 服务器

    Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor 将源代码以类BSD许可证的形式发布. 在高并发连接的情况下,Nginx是Apache服务器不错的替代品.Nginx同时也可以作为7层负载均衡服务器来使用.根据我的测试结果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍. 根据我的经验,4GB内存的服务器+Apache(

  • Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器

    之前一直使用Nginx+Fastcgi来搭建python web服务器,本文介绍Nginx+UWSGI组合来实现.uWSGI 是一个快速的.纯C语言开发的.自维护的.对开发者友好的WSGI服务器,旨在提供专业的 Python web应用发布和开发.它更符合python web的标准协议,速度要比Fastcgi要快.性能更加稳定. 一.安装平台 1.安装pcre 复制代码 代码如下: cd /home mkdir -p /home/install/nginx && cd /home/inst

  • golang搭建静态web服务器的实现方法

    我胡汉三又回来啦.好久没发文了,为保持平台上的活跃度,我今天就分享下个刚学到的知识,使用golang搭建静态web服务器,亲测可用,附代码! 使用过golang语言的程序猿都应该知道,在使用golang开发的时候,我们是不需要诸如iis,apache,nginx,kangle等服务器支持的. 为什么呢? 原因是,golang的net/http包中已经提供了HTTP的客户端与服务端实现方案. 网上言论都说golang不适合做web开发,相对php.java..net.nodejs等各类后端语言来说

  • nginx 隐藏版本号与WEB服务器信息的解决方法

    nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看看最终的隐藏结果吧 具体怎么实现呢,其实也很简单,请往下看 1 官网下载最新稳定版 wget http://nginx.org/download/nginx-1.14.1.tar.gz 2 解压 tar -xf nginx-1.14.1.tar.gzcd nginx-1.14.1 3 修改C文件 (1)vim src/http/ngx_http_header_filter_module.c #修改49行 static u_char

  • Centos8搭建本地Web服务器的实现步骤

    1 概述 系统centos8,利用httpd搭建本地web服务器. 2 安装httpd sudo yum install -y httpd 3 启动服务 service httpd start 4 设置开机启动 先查看有没有设置开机启动: systemctl list-unit-files | grep httpd 没有的话设置: chkconfig httpd on 再确认一下: systemctl list-unit-files | grep httpd 5 访问 再浏览器输入内网ip地址(

  • Nodejs搭建多进程Web服务器实现过程

    目录 前言 父子进程间通信 负载均衡 句柄传递 集群 子进程事件 自动重启 总结 前言 上节我们讲到,通过 fork() 或者其他API,创建子进程之后,可以通过 send() 和 process.on('message') 进行父子进程间的通信.这样就实现了主进程代理请求到工作进程,实现了 Nodejs集群: 父子进程间通信 负载均衡 通过代理,可以避免端口不能重复监听的问题,甚至可以在代理进程上做适当的负载均衡,使得每个子进程可以较为均衡地执行任务.下面我们构建了一个简单的 Web 服务器,

  • 利用node.js搭建简单web服务器的方法教程

    前言 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块.路径解析模块.以及301重定向问题,下面我们就简单讲一下如何来搭建一个简单的Web服务器. 早先不使用web服务器的情况下想要在浏览器端访问本地资源,可以利用firefox浏览器,其可以自己启动一个小型web服务器. 为了让刚接触node的人也能大体看懂,本文的代码我将尽量简化. 准备 首先,

  • 在Android设备上搭建Web服务器的方法

    一般而言,Android 应用在请求数据时都是以 Get 或 Post 等方式向远程服务器发起请求,那你有没有想过其实我们也可以在 Android 设备上搭建一个小型 Web 服务器,并且实现常规的下载图片.下载文件.提交表单等功能呢? 下面要介绍的就是如何在 Android 设备上搭建一个 Web 服务器,这个 Web 服务器的功能有如下几点: 接受客户端文件上传.下载文件 动态 Http API,像 Java 的 Servlet 一样写接口 部署静态网站,例如纯Html,支持 JS.CSS.

  • Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版

    本文是依照张宴的 Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写 原文地址 http://blog.s135.com/nginx_php_v5/ 因为编译过程和等待时间繁琐,于是就自己写了个全自动安装的shell脚本,此脚本可以随意修改,转载请注明出处. 这篇文章为这个系列的第二版,在第一版的基础上加入 1.日志切割 2.智能选择yum或者rpm安装 下载地址 注意:如果不能使用yum源,请放入系统光盘,单张dvd的,如果

随机推荐