所有接口无法使用, postman测试nginx 返回504
服务器cpu, 内存正常
原因: php-fpm进程数太低,请求处理不过来
设置php-fpm进程数的方法如下:
- 打开“php-fpm.conf”配置文件。
- 修改“pm.max_children”参数。该参数是php-fpm的子进程最大数,当该值为“static”时,表示子进程数固定;当该值为“dynamic”时,表示子进程数可以动态设置。
- 设置“pm.start_servers”参数。该参数是启动时创建的子进程数目,仅在pm为dynamic时有效。
- 设置“pm.min_spare_servers”参数。该参数是保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程,仅在pm为dynamic时有效。
- 设置“pm.max_spare_servers”参数。该参数是保证空闲进程数最大值,如果空闲进程大于此值,则进行清理,仅在pm为dynamic时有效。
- 根据需要设置其他相关参数,如“pm.max_requests”等。
- 保存配置文件并重新启动php-fpm服务,使配置生效。
需要注意的是,php-fpm进程数设置主要由服务器内存决定。如果系统并发量不是很大,则采用静态方式会更好,具体值根据系统请求量来设置。如果系统并发量抖动比较大,则采用动态方式会更好,具体值根据系统请求并发量和内存大小设置。
此外,php-fpm有3种管理方式:static(子进程数固定)、dynamic(子进程动态设置)、onedemand(进程需要才产生)。选择哪种方式取决于具体的应用场景和需求。