启动时Apache webserver错误

时间:2012-02-11 15:35:11

标签: apache

我刚切换到Apache网络服务器并收到错误

  

(OS 10048)每个套接字地址(协议/网络)只有一种用法   通常允许地址/端口)。 :make_sock:无法绑定到   地址0.0.0.0:443没有可用的侦听套接字,关闭   无法打开日志

这是我从命令行运行httpd后得到的。我将我的apache documentRoot以及服务器的监听端口重置为可以自由使用的端口,我不知道端口443的这个错误,它是关于SSL的吗?

更新
我正在使用XP

7 个答案:

答案 0 :(得分:32)

对于Windows XP

netstat -ano

找到使用端口443的进程ID,并使用任务管理器

将其终止

对我来说,是使用该端口的IIS。

答案 1 :(得分:7)

将您的确切错误复制并粘贴到Google中会给出几个答案:

端口443似乎已经在使用中。可能是你的旧服务器。以上官方apache wiki中的三个错误之一是:

地址已在使用

  

还有其他东西正在使用相关端口。

     

运行以下命令之一以检查正在运行的进程是否正在运行   持有apache打开所需的端口。

On Linux/Unix run
$>  netstat -plant
$> # or
$> sudo lsof -i:80

On Windows run
$>  netstat -ano

On Mac OS X / FreeBSD run
$> netstat -Wan |grep 80
$> # or, to get the pid
$> sudo lsof -i:80
     

一旦看到这些结果,就可以选择杀死该程序   问题,或者更改Apache使用的端口。

     

如果Apache(httpd,apache2等)是监听这些的应用程序   端口,但你不能使用正常的程序阻止它,有人可能   删除了服务器PidFile。 PidFile记录进程ID   父进程的大小,是大多数脚本测试Apache是​​否如何测试   运行。您可以通过确定PID来手动停止服务器   父进程并向其发送SIGTERM。

答案 2 :(得分:7)

对我来说,我的Listen 443文件中有多个/etc/apache2/ports.conf指令。即使netstat和/或ps没有为443显示任何内容,它仍然试图多次收听,这反过来又引发了错误。

答案 3 :(得分:6)

听起来你已经运行了apache。使用nestat确定哪个进程正在使用443并将其终止。

netstat -tulpn | grep :443

然后

kill PROCESS_ID

其中PROCESS_ID是netstat命令时显示的进程号(例如:kill 12345)。

之后再尝试启动apache。

答案 4 :(得分:3)

我在我的系统(Win7)上发现Skype已经接管了Apache试图使用的端口。在新版本的Skype中,我还没有找到取消选中的复选框,以便Skype不使用它(以前的版本中有一个)。退出Skype使Apache启动。

答案 5 :(得分:0)

端口443用于SSL。似乎您错过了使用该特权端口的权利。特权端口是数字低于1024的端口。

您使用的是哪种操作系统?

答案 6 :(得分:0)

可能还有其他东西已经在使用端口443,因此Apache无法使用它,你想实际使用SSL吗?