扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题分析:
你可能到达你系统的某个资源的上限了。最有可能的是已经达到了预定义的文件描述符上限,有些库程序(例如gethostbyname()) 不能得到文件描述符的时候没有把它正确反馈给Apache,所以Apache没有办法自己发现这个问题。每个日志文件都需要一个文件描述符,如果每个虚拟主机分别定义了自己的错误日志和访问日志,那么需要两个文件描述符号,每个监听程序也要占用一个文件描述符号。一般每台机器支持的虚拟主机在128到250之间。
到达文件描述符上限之后,Apache会出现一些问题,比如以SIGSEGV dump core、 服务挂起或者服务带故障运行并且在错误日志中记录其他错误。最常见的就是CGI程序不能运行。
解决:
1. 减少监听进程;
如果Apache没有提供其他服务,那么只需要让它监听在80端口。
2. 减少日志文件的个数;
可以使用mod_log_config使得所有的记录都写入同一个文件,然后需要的时候再用脚本把它分离。
3. 增大系统可用的文件描述符上限;
4. 减少虚拟主机的个数。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者