Apache缓冲区溢出,虚拟主机

时间:2017-09-05 19:20:42

标签: php apache centos buffer-overflow file-descriptor

我的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

1 个答案:

答案 0 :(得分:0)

原来,这是mod_php的一个问题。我配置php-fpm,它现在正在工作。