,nginx某个接口阻塞了会怎么样?

用户投稿 93 0

关于“php_cgi_nginx”的问题,小编就整理了【4】个相关介绍“php_cgi_nginx”的解答:

nginx某个接口阻塞了会怎么样?

sleep()这个函数会导致PHP解释器被阻塞,也就是会导致一个PHP-CGI进程被阻塞,如果Nginx后面只有一个PHP-CGI进程,那多个请求自然就得排队等待PHP-CGI处理了,阻塞的不是Nginx,而是PHP-CGI. Windows上Apache内有多个线程,一个线程处理一个请求,所以服务才不会阻塞.

nginx跨域报什么错误?

nginx跨域报504错误。

Nginx 504错误(Gateway time-out 网关超时)的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out。

现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K,默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点,

Nginx出现504GatewayTime-out的原因及解决方法?

这是由于服务器端的配置出现了状况,平时也很少见到。具体解决办法就是修改配置文件:

1、把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用;把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。

2、接着再更改nginx的几个配置项,减少fastcgi的请求次 数,尽量维持buffers不变:fastcgi_buffers由 4 64k 改为 2 256k;fastcgi_buffer_size 由 64k 改为 128k;fastcgi_busy_buffers_size 由 128k 改为 256k;fastcgi_temp_file_write_size 由 128k 改为 256k。

php+apache和php+nginx的区别?

apache是通过mod_php来解析phpnginx是通过php-fpm(fast-cgi)来解析php1.PHP解释器是否嵌入Web服务器进程内部执行mod_php通过嵌入PHP解释器到Apache进程中,只能与Apache配合使用,而cgi和fast-cgi以独立的进程的形式出现,只要对应的Web服务器实现cgi或者fast-cgi协议,就能够处理PHP请求。

mod_php这种嵌入的方式最大的弊端就是内存占用大,不论是否用到PHP解释器都会将其加载到内存中,典型的就是处理CSS、JS之类的静态文件是完全没有必要加载解释器。我还是比较推荐你去后盾人上面看看里面有很多关于这类php之类的教学讲解视频哦你可以去看看

到此,以上就是小编对于“php_cgi_nginx”的问题就介绍到这了,希望介绍关于“php_cgi_nginx”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!