首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 应用服务器 >

windows 上 php+nginx 并发下不去,求解决方法

2013-01-02 
windows 下php+nginx 并发上不去,求解决办法本帖最后由 MMDD0827 于 2012-04-05 09:45:23 编辑RT目前 ,当

windows 下 php+nginx 并发上不去,求解决办法
本帖最后由 MMDD0827 于 2012-04-05 09:45:23 编辑 RT
目前 ,当并发达到20 之后, 打开php 页面将会变得很慢,再多了 ,就彻底 报 500 了。这个时候,系统的cpu 跟 内存 并且都不高
下面是nginx 的配置文件:



worker_processes  1;

error_log  logs/error.log crit;

pid        ../data/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

access_log off;
# log_format processtime '"$request" $status $request_time ';
    # access_log  logs/access.log processtime;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  120;

    #gzip  on;

    server {
include port.conf;
        client_max_body_size20m;

rewrite ^/netcenter/(.+)$ /$1;
rewrite ^/(.+)\.(asmx|aspx)$ /$1.php;

        location / {
        include root.conf;
        }

        location = / {
        include root.conf;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME index.php;
            include        fastcgi_params;
}

        location ~* \.(php|asmx|aspx)$ {
        include root.conf;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_param  SCRIPT_FILENAME $fastcgi_script_name;
            include        fastcgi_params;
}
    }
}



哦 ,补充一下 ,希望达到的并发 至少 应该在200以上的 ~  这个要求应该不高啊
[解决办法]
如何Nginx限制同一个ip的连接数,限制并发数目

1.添加limit_zone 
 这个变量只能在http使用 
 vi /usr/local/nginx/conf/nginx.conf 
 limit_zone ctohome_zone $remote_addr 10m;

2.添加limit_conn 
 这个变量可以在http, server, location使用 
 我只限制一个站点,所以添加到server里面 
 vi /usr/local/nginx/conf/host/www.ctohome.com.conf 
 limit_conn   ctohome_zone 2;

3.重启nginx 
 killall -HUP nginx

Nginx限制流量/限制带宽?

 关于limit_zone:http://wiki.nginx.org/NginxHttpLimitZoneModule 


 关于limit_rate和limit_conn:http://wiki.nginx.org/NginxHttpCoreModule 
 nginx可以通过HTTPLimitZoneModule和HTTPCoreModule两个组件来对目录进行限速。

 http { 
   limit_zone   one  $binary_remote_addr  10m;  
   server { 
     location /download/ { 
       limit_conn  ctohome_zone 2; 

       limit_rate 300k; 
     } 
   } 
 }

 limit_zone,是针对每个IP定义一个存储session状态的容器。这个示例中定义了一个10m的容器,按照32bytes/session,可以处理320000个session。

 limit_conn ctohome_zone 2;
 限制每个IP只能发起2个并发连接。

 limit_rate 300k;
 对每个连接限速300k. 注意,这里是对连接限速,而不是对IP限速。如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2。
 ngx_http_limit_zone_module
[解决办法]
我用nginx的时候总是不稳定,搞了很久没弄好,后来用apache做服务器,nginx做的反向代理。

热点排行