最近接手nginx+php的WEB环境维护,发现PHP-cgiCPU很好,也造成负载很高,于是在网上找了些资料,并且针对自己的错误,将问题收集再次,并且网上还给了解决方案,所以放在这里留作以后查询
an 11 08:54:01.164292 [NOTICE] fpm_children_make(), line 352: child 10088 (pool default) started
Jan 11 08:54:01.164325 [WARNING] fpm_children_bury(), line 215: child 7985 (pool default) exited on signal 15 SIGTERM after 63.778601 seconds from start
Jan 11 08:54:01.165485 [NOTICE] fpm_children_make(), line 352: child 10089 (pool default) started
Jan 11 08:54:01.165514 [WARNING] fpm_children_bury(), line 215: child 7999 (pool default) exited on signal 15 SIGTERM after 60.297326 seconds from start
Jan 11 08:54:01.166696 [NOTICE] fpm_children_make(), line 352: child 10090 (pool default) started
Jan 11 08:54:01.166727 [WARNING] fpm_children_bury(), line 215: child 8000 (pool default) exited on signal 15 SIGTERM after 60.296946 seconds from start
Jan 11 08:54:01.167855 [NOTICE] fpm_children_make(), line 352: child 10091 (pool default) started
以上是php日志的警告信息
解决方法
1、提升服务器的文件句柄打开打开
/etc/security/limits.conf : (增加)
* soft nofile 51200
* hard nofile 51200
# vi /etc/security/limits.conf 加上
* soft nofile 51200
* hard nofile 51200
2、提升nginx的进程文件打开数
nginx.conf : worker_rlimit_nofile 51200;
3、修改php-fpm.conf文件,主要需要修改2处。
命令 ulimit -n 查看限制的打开文件数,php-fpm.conf 中的选项rlimit_files 确保和此数值一致。
<value name="max_requests">10240</value>
<value name="rlimit_files">51200</value>
4、修改系统内核
# vi /etc/sysctl.conf
底部添加
fs.file-max=51200
分享到:
相关推荐
PHP-FPM是PHP的一个扩展,它提供了更高效、更灵活的PHP进程管理方式,使得Nginx等Web服务器可以通过FastCGI接口与PHP交互。以下是对`php-fpm.conf`配置文件中主要选项的中文翻译和注释: 1. **[global]**:全局设置...
error_log = C:\php\php-fpm.log pid = C:\php\php-fpm.pid [www] listen = 127.0.0.1:9000 user = nobody group = nobody pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_...
listen = /tmp/php-fcgi.sock // 监听的地址,可以监听socket ,也可以监听端口 listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用...
listen = /tmp/php-fcgi.sock // 监听的地址,可以监听socket ,也可以监听端口 listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用...
listen = /tmp/php-fcgi.sock // 监听的地址,可以监听socket ,也可以监听端口 listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用...
listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用本机ip listen.mode = 666 //sock 文件的权限 listen.owner = nobody listen....
listen = /tmp/php-fcgi.sock // 监听的地址,可以监听socket ,也可以监听端口 listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用...
error_log /var/log/nginx/error.log notice; ``` - **负载均衡**:如果有多台服务器,可以配置Nginx作为负载均衡器,将请求分发到不同服务器。 **6. 安全性** - **限制上传大小**:防止大文件上传攻击,修改`...
listen = /tmp/php-fcgi.sock // 监听的地址,可以监听socket ,也可以监听端口 listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用...
- `pm` 和 `pm.max_children`:控制PHP-FPM的工作模式(如静态、动态)和最大子进程数量,以平衡性能和资源消耗。 - `request_terminate_timeout`:设置单个请求超时时间,避免因长时间无响应的请求导致资源浪费。...
- 子进程管理参数如max_children、start_servers、min_spare_servers和max_spare_servers控制着进程数量和资源分配。 - 通过发送特定信号(如SIGINT)控制php-fpm的启动、停止和重载。 【Nginx基础命令和配置】 - ...
PHP-FPM(FastCGI Process Manager)是PHP的一个重要组件,它管理着PHP处理程序的进程,通过FastCGI接口与Web服务器(如Nginx)进行通信。了解并正确配置PHP-FPM的启动参数和配置文件对于优化PHP应用程序的性能至关...
7. **listen**:`listen = 127.0.0.1:9000`定义了PHP-FPM监听的地址和端口,通常与Nginx等服务器配合使用。`listen.backlog`设置监听队列的大小,-1表示无限制。 8. **listen.allowed_clients**:允许访问FastCGI...
- **error_log**:指定错误日志的存储路径。 ##### www虚拟主机配置([www]) - **listen**:指定PHP-FPM监听的socket,通常用于与Web服务器(如Nginx或Apache)通信。 - **user**和**group**:指定PHP-FPM进程的...
Nginx的错误日志通常位于`/var/log/nginx/error.log`,而PHP-FPM的日志通常在`/var/log/php-fpm.log`。 - **资源限制**:确认服务器资源(如内存、CPU)是否充足,过高的负载可能导致502错误。 - **PHP脚本错误**:...
error_log = /usr/local/php54/var/log/php-fpm.log log_level = notice [www] listen = /tmp/php54-cgi.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1:9001 listen.owner = www listen.group = ...
500 Internal Server Error(内部服务错误) 这是一种服务器内部错误,表明服务器遇到了一个它不知道如何处理的情况。服务器无法完成对请求的处理,可能会在错误日志中留下更详细的信息。当出现500错误时,通常可能...