Windows 上的 Apache 在服务停止时不会释放端口 80,并且不会重新启动
当我尝试重新启动 Apache 时,它会抛出以下错误:
============================================
Apache 2 is starting ...
(OS 10048)Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.
: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
=============================================
我使用 netstat,发现持有端口 80 的 PID 与 Apache 之前使用的 PID 相同。该 PID 不会显示在任务管理器中,并且在尝试对其进行 taskkill 时也找不到该 PID。
看来 Apache 在退出时以某种方式保留着该端口。我重新启动 Apache 服务的唯一方法是每次更改侦听端口,或者重新启动服务器本身。
以前有人遇到过这个问题吗?如果是的话,我能做些什么来解决这个问题吗?
When I try to restart Apache it throws the following error:
============================================
Apache 2 is starting ...
(OS 10048)Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.
: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
=============================================
I used netstat, and found that the PID holding port 80 was the same PID that Apache was previously using. This PID does not show up in task manager, and it is not found when taskkill is attempted on it.
It seems that Apache is somehow holding onto the port on exit. The only way I can restart the Apache service is by changing the Listen port each time, or by restarting the server itself.
Has anyone come across this before, and if so, is there anything I can do to fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这是一台 Windows 机器,那么像 apache 这样的应用程序通常会作为服务发布。
你可以用以下命令关闭它
或
或
If this is a windows machine then apps like apache usually are lanuched as a service.
You can close it with
or
or