php-fpm是什么?
PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器,旨在将FastCGI进程管理整合进PHP包中。
相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。
502 Bad Gateway怎么我登录交警考试预约网,老是显示这个,怎么弄回来,求?
我常在Nginx服务器上发现502错误,很多情况下并非Nginx本身的问题。就以Nginx+PHP+MySQL这种架构说明。Nginx本身设置等cgi接口返回的数据延时太短,要延长这个时间。
如同前面说的,很多情况下并非Nginx本身的问题,这样操作后常常并不能缓解问题。
此时,就要考虑对应cgi接口的配置,比如 php-fpm.conf 的配置,脚本执行时间的超时情况限制。
这可以通过跟踪php-fpm的 slow log 来排查,对相关代码优化,减少延时。
另外很大的问题在MySQL数据库这一块,如果数据库执行命令超时也会大延长php脚本的执行时间,导致 Nginx 等待超时。
可以my.cnf的 slow log进行确认效能低下的sql语句是哪些,进行优化配置。
通过优化 php-fpm 及 MySQL的配置都大大减少Nginx的等待超时的情况。以上是LNMP的架构为例进行说明。
nginx反向代理后为什么访问php文件会提示404?
可能的原因:
nginx配置有误,没有将请求转发到正确的处理程序(如php-fpm等),转发到一个不存在着的路径
请求已经转发到php处理程序,但php处理程序配置没有找到对应的脚本
php已经处理了脚本,但代码里返回了一个404的状态码
LAMP下,动态请求并发为1000每秒,php-fpm最大进程数如何设置?
/usr/local/php/etc/php-fpm.conf文件可以设置php进程数,但是一台普通的服务器如果项目业务量大的话撑死就100多个进程服务器就超负荷了,所以你设1000以上也是徒劳,所以就要负载均衡,而且不仅仅是服务器,数据库也有连接限制
你的机器是什么配置,一般来说,一个 php-fpm 进程在非服务状态下,占用 12-25M 的内存,在服务的时候,占用内存是多少,不同业务是不一样的,所以需要根据你的情况设置进程数。其他还需要考虑的就是 CPU 情况。另外,配置为 dynamic 还是 static 也需要根据业务情况定!