我的Centos 7有httpd 2.4.6-45.el7.centos.4和PHP 5.6.31
当我尝试加载一个网站时,我检测到缓冲区溢出,当我超过1000多个虚拟主机时。每个虚拟主机都有一个error_log。 但我可以加载一个简单的phpinfo()或html页面。
我做的唯一调整就是能够在不破坏无文件限制的情况下启动httpd。 (我收到太多打开文件错误)
/etc/systemd/system/httpd.service.d/limits.conf
[Service]
LimitNOFILE=30000
当我在这里计算FD的数量/ proc / 16402 / fd时,我有1051。 但遗憾的是,当我检查时,没有1024限制:
cat /proc/16402/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 256005 256005 processes
Max open files 30000 30000 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 256005 256005 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
答案 0 :(得分:0)
原来,这是mod_php的一个问题。我配置php-fpm,它现在正在工作。