2017-01-02 85 views
1

在过去的两个月中,我一直在我的日志中看到这组错误。Apache通知/ Django网站出错

[core:notice] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND' 
[mpm_prefork:notice] AH00173: SIGHUP received. Attempting to restart 
[so:warn] AH01574: module wsgi_module is already loaded, skipping 
[auth_digest:notice] AH01757: generating secret for digest authentication ... 
[lbmethod_heartbeat:notice] AH02282: No slotmem from mod_heartmonitor 
[mpm_prefork:notice] AH00163: Apache/2.4.23 (Amazon) mod_wsgi/3.5 Python/3.4.3 configured -- resuming normal 

在一段时间后,我还能看到这个SIGHUP收到前行。

[cgi:error] AH02811: script not found or unable to stat: /var/www/cgi-bin/php 

这些组通知的/错误发生每天1-3次。我对Apache不太了解,谁能告诉我这些消息的含义以及我如何解决这个问题。

一些额外的信息:我使用AWS Elastic Beanstalk(Amazon Linux)与Django 1.8一起运行网站。

回答

0

消息:

[so:warn] AH01574: module wsgi_module is already loaded, skipping 

意味着你必须LoadModule指令为wsgi_module在你的Apache配置文件中多次出现。当它已经在与模块相关的配置文件中找到时,您可能已将其添加到站点文件。

消息:

[cgi:error] AH02811: script not found or unable to stat: /var/www/cgi-bin/php 

意味着你可能有一个全球性的AddHandlerAddFilter或映射资源的任何要求与.php扩展到PHP类似。特别是作为过滤器完成时,即使您只运行Django站点,也会触发以.php结尾的任何请求。随着人们探索您的网站以查找PHP漏洞,对.php文件的请求将会出现。您应该找到PHP配置并将其注释掉。

不知道mod_heartmonitor消息,但从来没有见过它导致问题。

只有其他的东西可以看到错误的是,你使用的是古代版本的mod_wsgi。版本3.5实际上是五年前的一个版本,超过了50个版本。你不应该使用这样一个旧版本的mod_wsgi。它不被任何人支持。