防止apache释放80端口
Posted
技术标签:
【中文标题】防止apache释放80端口【英文标题】:Prevent apache to free the port 80 【发布时间】:2014-06-24 11:23:12 【问题描述】:我已经在 Windows 7 - 64bit 上安装了 WAMP2.4。它工作正常,我也可以从本地主机和外部连接它。系统上未安装 Skype、IIS 或 VMware。在 “服务”mysql和apache都设置为自动启动并处于启动状态。 WAMP 的所有服务都在工作,图标为绿色。
现在,问题是,网站经常出现故障。当它关闭时,WAMP 图标仍然是绿色的,mysql 和 apache 仍然处于“启动”状态。然后我每次点击“重新启动所有服务”,它就开始工作了。
当它关闭时,我检查了 Apache>Services 的“测试端口 80”,它说该端口没有被使用。同时,当我在命令提示符下使用“netstat”检查端口 80 时,它会显示 apache 的进程 ID。如果我不采取任何行动,一段时间后它就会开始工作。有什么方法可以让 Apache 不释放 80 端口?或者,任何检查端口 80 的批处理命令,如果它空闲,重新启动 wamp 服务?
【问题讨论】:
在你的 httpd.conf 中添加以下 2 行后你能检查一下吗 1. AcceptFilter http none 2. AcceptFilter https none 没有。如果 apache 退出/崩溃,它会释放端口 80。相反,尝试找出它退出的原因 - 例如查看错误日志。 @nos,Apache 没有崩溃,它工作并显示在“已启动”服务以及 tast-manager 的服务列表中。 你确定你的系统上没有运行另一个 Apache 或者 MySQL。 WAMPServer 中的 Apache 服务称为wampapache
而不是 Apache
MySQL 服务称为 wampmysql
。这两项服务都配置为手动启动,除非您更改它们,否则不会自动启动。
【参考方案1】:
之前听说过这个问题,现在想起来了。
尝试将这 2 个参数添加到您的 httpd.conf
文件中。
将它们放在应该已经存在于 httpd.conf # EnableSendfile on
的这一行之后
# AcceptFilter: Windows, none uses accept () instead of AcceptEx ()
# And do not recycle sockets between connections. This is useful
# Network interfaces for which the pilot is defective, and for
# Some network providers like *** pilots or filters
# Anti-spam, anti-virus or anti-spyware.
AcceptFilter http none
AcceptFilter https none
运气好的话,这应该可以阻止 Apache 挂起,我认为这是您的主要问题。
【讨论】:
以上是关于防止apache释放80端口的主要内容,如果未能解决你的问题,请参考以下文章
如何在 localhost Windows 上释放我的端口 80?