当我运行“sudo / usr / sbin / apache2ctl优雅”我得到以下消息:
httpd没有运行,试图启动(98)地址已经在使用中:make_sock:无法绑定到地址0.0.0.0:80没有监听套接字可用,closures无法打开日志
当我运行“sudo netstat -lnp | grep:80”时,我得到:
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 845 / aolserver4-nsd
我假设aolserver也在运行? 我将如何获得Apache运行?
你有另一个networking服务器已经运行。 在启动Apache之前,必须先停止或终止它(或将其中的一个更改为非标准端口,即端口80以外的其他端口)。
你有一个名为aolserver4-nsd的已经绑定到127.0.0.1:80的正在运行的进程,所以apache尝试绑定到0.0.0.0:80被拒绝。 虽然乍一看可能看起来两者之间应该没有冲突,地址0.0.0.0是特殊的“任何地址”,绑定到它实际绑定到所有可用的networking接口(包括环回127.0.0.1)。
有很多方法可以进行:
您可以停止aolserver4-nsd,以便在127.0.0.1:80上释放绑定。 然后你可以启动apache,它应该成功绑定到0.0.0.0:80。 如果以这种方式进行,则只能同时运行两个进程之一。
您可以将aolserver4-nsd或apacheconfiguration为绑定到非标准端口(即端口80以外的端口)。 ( Listen指令是您需要为apacheconfiguration的。)这将允许您同时运行这两个进程。
你可以configurationapache绑定到一个特定的地址,而不是特殊的“任何地址”0.0.0.0。 当然,你需要configurationapache来监听服务器的一个networking接口上的地址(但不是127.0.0.1)。 这也将允许aolserver4-nsd和apache同时运行。
你可以检查运行的Apache进程
ps -efwww | grep apache
或者根据发行版,grep httpd
尝试'netstat -nap'看看有什么端口打开