linux – 套接字文件描述符(1063)大于FD_SETSIZE(1024),你可能需要用更大的FD_SETSIZE重建Apache

linux – 套接字文件描述符(1063)大于FD_SETSIZE(1024),你可能需要用更大的FD_SETSIZE重建Apache,第1张

概述我的Apache正在抛出内部服务器错误500错误并记录如下: > [Sun Apr 07 23:35:24 2013] [error] [client 124.162.30.45] (2)No such> file or directory: FastCGI: failed to connect to server> "/home/magda_00aa/sportxxx.pl/sportxxx 我的Apache正在抛出内部服务器错误500错误并记录如下:
> [Sun Apr 07 23:35:24 2013] [error] [clIEnt 124.162.30.45] (2)No such> file or directory: FastCGI: Failed to connect to server> "/home/magda_00aa/sportxxx.pl/sportxxx.pl.0fake": socket file> descriptor (1063) is larger than FD_SETSIZE (1024),you probably need> to rebuild Apache with a larger FD_SETSIZE,referer:> http://www.surf4web.com/surfing.PHP?ID=haoduodeng2012

我已经提升了内部的FD限制:

cat /usr/include/bits/typesizes.h | grep FD#define __FD_SETSIZE            65536

cat /usr/include/linux/posix_types.h | grep FD_SETSIZE#undef __FD_SETSIZE#define __FD_SETSIZE    65536#define __FDSET_LONGS   (__FD_SETSIZE/__NfdbITS)

并且

/sbin/sysctl fs.file-maxfs.file-max = 512000ulimit -n1000000

但它没有帮助.如果超过350个虚拟主机,我的Apache仍会崩溃:/

我在CentOS 5.9 64位 – 内核3.0.65-1.el5.elrepo

解决方法 这是因为mod_fastcgi使用select()作为多路复用选项.
选择对于这个东西非常糟糕,手册页指定选择;

An fd_set is a fixed size buffer. Executing FD_CLR() or FD_SET()
with a value of fd that is negative or is equal to or larger than
FD_SETSIZE will result in undefined behavior. Moreover,POSIX
requires fd to be a valID file descriptor.

FD_SETSIZE通常为1024,因此通常不支持超过1024的文件描述符.你可以像你所做的那样摆弄FD_SETSIZE包含的大小,但是这样的更改可能会影响其他程序,这些程序的目标是POSIX兼容.
在我看来,如果应用程序编写者建议更改系统源代码以使其工作,那么应用程序将从根本上被打破.

我建议离开mod_fastcgi并使用另一个实现.取决于你的FastCGI守护进程的盯着方式取决于你如何做到这一点.

mod_fcgID是一个选项,或者较新的apach可以使用mod_proxy_fcgi.

总结

以上是内存溢出为你收集整理的linux – 套接字文件描述符(1063)大于FD_SETSIZE(1024),你可能需要用更大的FD_SETSIZE重建Apache全部内容,希望文章能够帮你解决linux – 套接字文件描述符(1063)大于FD_SETSIZE(1024),你可能需要用更大的FD_SETSIZE重建Apache所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1034814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存