在Linux中,可以使用PHP-FPM的内置限速功能来限制请求速率。这可以通过设置request_slowlog_timeout
和slowlog_sendmail
参数来实现。
/etc/php-fpm.d/www.conf
或/etc/php/版本号/fpm/pool.d/www.conf
。使用文本编辑器打开,例如:sudo nano /etc/php-fpm.d/www.conf
request_slowlog_timeout
参数。这个参数用于设置请求处理时间超过多少秒时记录慢日志。将其设置为一个合适的值,例如:request_slowlog_timeout = 0s
将值设置为0表示禁用慢日志。如果你想记录慢请求,可以将其设置为一个正数,例如0.01s(表示10毫秒)。
slowlog_sendmail
参数。这个参数用于设置在记录慢日志时是否发送邮件通知。将其设置为no
以禁用邮件通知,或者设置为yes
以启用邮件通知。slowlog_sendmail = no
保存并关闭配置文件。
重启PHP-FPM服务以使更改生效:
sudo systemctl restart php-fpm
或者
sudo service php-fpm restart
现在,PHP-FPM将记录超过指定时间的请求,并根据需要发送邮件通知。这有助于识别潜在的性能问题和恶意请求。
另外,如果你想要限制每个用户的请求速率,可以考虑使用Nginx或Apache等Web服务器来实现。这些服务器提供了更强大的限速功能,例如基于IP地址的限速。