声明一点。这篇文章是在优化PHP功能。若你的流量超过一万你最好是升级服务器。
刚才突然点了一下自己测试的网站,前台页面出现了504,
然后我去宝塔后台看了一眼竟然CPU和内存全红了。要知道我服务器是4G*4G的。PHP版本7.4. Nginx系统。一般情况下。四五千IP是不应该出现的。如图。
下面这张图是宝塔后台的首页:

网站前台页面出现504页面如图:

然后我就是去查看了一下网站的错误日志:提取到了一条提醒如下:
connect() to unix:/tmp/php-cgi-74.sock failed (11: Resource temporarily unavailable) while connecting to upstream
错误日志关键信息分析
我第一时间想到去调整PHP的连接进程数:pm.max_children(最大进程数)
要进到服务器的文件目录里大概位置在:/www/server/php/74/etc/php-fpm.conf(其实这个文件为主配置文件)下面会说到www文件专用的子配置文件位置。
下面图的数值我是按照我的4*4服务器来设置的。你要视自己的情况而定!

检查服务器实际内存能否支撑 150 个进程
检查request_terminate_timeout是否过短
检查系统文件描述符限制
* soft nofile 65535
* hard nofile 65535



同时在php-fpm.conf中确保rlimit_files = 65535,然后重启PHP或服务器生效。

也可用下面的命令:查看完整信息
cat /proc/966/limits

保存。退出后。我重启了一下PHP软件。好像可以了。但是没等几分钟又出现了这种情况 。这个时候。我去又去查看了一下这个php-fpm.conf文件。确定已经保存过了。
然后我查了一下www文件(这个是网站所在的文件)所对应的专属PHP配置文件目录在:/www/server/php/74/etc/php-fpm.d/www.conf文件如图:

看好。我所有需要修改的文件都会备份一下。如果有任何问题。直接恢复重新修改孓好了。
这个www专属PHP配置文件名:www.conf是针对网站目录的。而php-fpm.conf PHP配置是针对整个服务器来配置的。所以www.conf的优先级最高(针对www文件夹的网站来说)
所以这个www.conf PHP配置文件可以和主配置文件相同,也可以比主配文件高。如果系统读取到了www.conf文件的话。后边的主配文件php-fpm.conf就会被忽略掉!

保存后重启,需要时刻关注网站前台页面的情况 。然后再查看网站错误日志。对比来查找并解决问题。
保存修改后一定要重启PHP或者服务器。不然不会生效。!
本文来源:非特殊说明,本博所有文章均为博主原创。 | 本站部分文章来源于网络,若侵犯了您的权益,请附说明联系删除
如若转载,请注明出处:https://www.aiyuai.cn/archives/1001.html | 爱与爱资源网-传递的不仅仅是知识


共有 0 条评论---(要不...来一句吧,实再不行抽一根也中!)