Windows下nginx+fastcgi+php的并发阻塞问题

时间:2020-01-09
本文章向大家介绍Windows下nginx+fastcgi+php的并发阻塞问题,主要包括Windows下nginx+fastcgi+php的并发阻塞问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

首先在nginx.conf中进行如下配置:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  60;
    underscores_in_headers on;
    include otherconf/*.conf;
    include hlyunbackend/*.conf;

    client_max_body_size 20m;
	add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;  


  #额外启动多个php-cgi去处理并发请求
    upstream fastcgi_proxy{
        server 127.0.0.1:9000;
        server 127.0.0.1:9001;
        server 127.0.0.1:9002;
        server 127.0.0.1:9003;
        server 127.0.0.1:9004;
        server 127.0.0.1:9005;
        server 127.0.0.1:9006;
        server 127.0.0.1:9007;
        server 127.0.0.1:9008;
        server 127.0.0.1:9009;
        server 127.0.0.1:9010;
        server 127.0.0.1:9011;
        server 127.0.0.1:9012;
        server 127.0.0.1:9013;
        server 127.0.0.1:9014;
        server 127.0.0.1:9015;
        server 127.0.0.1:9016;
        server 127.0.0.1:9017;
        server 127.0.0.1:9018;
        server 127.0.0.1:9019;
        server 127.0.0.1:9020;
        server 127.0.0.1:9021;
        server 127.0.0.1:9022;
        server 127.0.0.1:9023;
        server 127.0.0.1:9024;
        server 127.0.0.1:9025;


    }
}

  

再把所有

fastcgi_pass 127.0.0.1:9000;

改为

fastcgi_pass phpfastcgi_proxy;
server {
        listen       7000;
        server_name  localhost;
        location / {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers X-Requested-With;
            add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
            root   E:/www/htms3/hlyun_sso/public;
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$query_string;
        }
        error_page   500 502 503 504  /50x.html;
        location ~ \.php$ {
			root           E:/www/htms3/hlyun_sso/public;
            fastcgi_pass   fastcgi_proxy;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

    }

  

保存,重启Nginx。

开启cgi端口(.bat 文件):

taskkill /F /IM nginx.exe > nul
taskkill /F /IM php-cgi.exe > nul
@echo off
echo Starting nginx...
E:\nginx\RunHiddenConsole.exe E:\nginx\nginx.exe -p E:\nginx
echo Starting PHP FastCGI...
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9001 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9002 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9003 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9004 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9005 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9006 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9007 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9008 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9009 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9010 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9011 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9012 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9013 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9014 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9015 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9016 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9017 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9018 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9019 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9020 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9021 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9022 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9023 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9024 -c C:\php\php.ini
E:\nginx\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9025 -c C:\php\php.ini

原文地址:https://www.cnblogs.com/blog-dyn/p/12172308.html