php-cgi 是运行php,
php-fpm是守护php-cgi进程

nginx配置目录运行php
        location  ~ \.php$
        {
                root /var/www/html;
                fastcgi_index index.php;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

配置弄好了,我意思是,nginx与php-cgi通信有3种方式吧?

1、nginx通过php-fpm与php-cgi联系;
2、nginx通过spawn-fcgi与php-cgi联系;
3、直接与php-cgi联系;(当然这个方法我还不理解,甚至不确定有没有这个实现)

php-fpm没用过 ,我用spawn-fcgi 。
守护也就是当你杀死php-cgi这进程。spawn-fcgi管理器会平滑从新生成新的进程(实验过)
性能方面 , 很多人用php-fpm ,我图方便就用了spawn-fcgi.
直接使用php-cgi,问题挺多。比如进程无辜消失等。

Windows环境下解决Nginx+php并发访问阻塞问题。

linux下是没问题,因为是php-fpm,而Windows下是fastcgi,它不会自动去启动fastcgi进程。所以只能一个一个排队,但是如果用curl去get本地文件,那么这个队就排不明白堵死了。

但是基本上,我们在Windows下都是开发调试用,好在也用不了太多。所以只能手动建立fastcgi进程去让Nginx连接。

首先配置Nginx.conf,在http下加入代码

  1. upstream fastcgi_proxy {
  2. server 127.0.0.1:9000;
  3. server 127.0.0.1:9001;
  4. server 127.0.0.1:9002;
  5. server 127.0.0.1:9003;
  6. server 127.0.0.1:9004;
  7. }

然后修改location ~ \.php$中的fastcgi_pass

    fastcgi_pass   fastcgi_proxy; 

修改后,当127.0.0.1:9000阻塞时,Nginx会自动连接其他的进程端口。就可以保证开发调试使用了。

windows下 解决PHP-CGI 进程崩溃

https://www.jianshu.com/p/1f2d4b1ca10d

php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。的更多相关文章

  1. Windows 环境下基于 nginx 的本地 PyPI 源

    Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包

  2. Linux和Windows环境下安装Nginx

    Nginx的安装 windows环境下安装Nginx 安装 Nginx 的下载地址如下: http://nginx.org/en/download.html 选择时尽量选择 Stable 稳定版本,点 ...

  3. Windows环境下使用Nginx搭建负载均衡

    前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...

  4. windows环境下基于nginx搭建rtmp服务器

    基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...

  5. windows环境下安装nginx

    (1)下载 官网:http://nginx.org/en/docs/windows.html 下载:http://nginx.org/en/docs/windows.html 点击:nginx/Win ...

  6. windows环境下解决web服务假死的问题

    最近在windows系统在部署web服务器,发现很不稳定.web服务有容易假死,改过配置换过各种web软件,如apache.nginx都不管用. 所以干脆做个简易的定时检测Web服务状态的软件.一旦w ...

  7. Windows环境下搭建Nginx和多版本PHP共存

    PHP版本众多,彼此之间兼容性不好,不同程序经常需要的不同版本的PHP版本.这里介绍如何使用NGINX让不同版本的PHP共存. 软件下载地址 与nginx整合的php需要选择Non Thread Sa ...

  8. 在Windows环境下搭建Nginx文件服务器(简单实用版)

    为了解决项目组内容应用,打算把本地的e:tools目录共享出来,具体操作步骤如下1.下载安装包:http://nginx.org/download/nginx-1.9.15.zip2.解压缩3.修改配 ...

  9. Nginx——在Windows环境下安装

    下载 Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载.其中1.13.x版本为开发版本,1.12.0版本为稳定版本.开发版本分支会较 ...

随机推荐

  1. Centos7部署kubernetes集群CA证书创建和分发(二)

    1.解压软件包 [root@linux-node1 ~]# cd /usr/local/src/ [root@linux-node1 src]# ls k8s-v1.10.1-manual.zip [ ...

  2. go语言基础学习

    go基础学习,面向对象-方法在Go语言中,可以给任意自定义类型(包括内置类型,但不包括指针类型)添加相应的方法 使用= 和:=的区别: // = 使用必须使用先var声明例如: var a a=100 ...

  3. 去掉HTML标记 .

    ///   <summary>     ///   去除HTML标记     ///   </summary>     ///   <param   name=" ...

  4. pytest的fixture和conftest

    解决问题:用例1需要先登录,用例2不需要登录,用例3需要先登录.很显然这就无法用setup和teardown来实现了,这个时候就可以自定义测试用例的预置条件,比setup灵活很多. 1.fixture ...

  5. intellij怎么导入MySQL的驱动包

    1.下载zip格式的驱动包:https://dev.mysql.com/downloads/connector/j/ 2.解压zip,放到任意位置.其中的mysql-connector-java.ja ...

  6. jq设置控件可用不可用

    $("#tj").attr("disabled", true); //不可用 $("#tj").removeAttr("disab ...

  7. getHibernateTemplate().save(t)执行不成功,数据不能插入到数据库

    BaseDaoImpl类中的代码如下 public void save(T t) {System.out.println(666);getHibernateTemplate().save(t);    ...

  8. 获取页面元素的css属性

    function getStyle(obj, name){    if(obj.currentStyle)    {         return obj.currentStyle[name];//兼 ...

  9. Oracle client安装教程

    一.下载 下载地址:http://download.csdn.net/detail/qq_35624642/9773986 这是Oracle Instant Client的CSDN下载地址. 要注意第 ...

  10. ss-libev控制脚本

    适用于:shadowsocks-libev-3.0.3 操作系统:CentOS6.8 #!/bin/sh SHADOWSOCKS_SERVER="/usr/local/shadowsocks ...