Nginx + php 搭建 超性能 WEB 服务器
程序员文章站
2022-06-08 22:16:15
nginx 是由 igor sysoev 为俄罗斯访问量第二的 rambler.ru 站点开发的,它已经在该站点运行超过两年半了。igor 将源代码以类bsd许可证的形式发...
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。
在高并发连接的情况下,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。
推荐阅读
-
Nginx + php 搭建 超性能 WEB 服务器
-
nginx+apache+mysql+php+memcached+squid搭建集群web环境
-
Linux+Nginx+Php架设高性能WEB服务器
-
Nginx搭建静态资源Web服务器
-
使用 Nginx 搭建静态资源 web 服务器
-
使用 Nginx 搭建静态资源 web 服务器
-
nginx搭建静态资源web服务器
-
《云计算》-Nginx高级-Nginx调度器负载后端两台Web服务器、配置PHP使用memcached服务器共享Session信息
-
《云计算》-Nginx高级-Nginx调度器负载后端两台Web服务器、配置PHP使用memcached服务器共享Session信息
-
php中搭建Web服务器和服务器配置