我正在使用 Apache 版本 2.2.20 (ubuntu) 并尝试使用自定义 httpd.conf 设置,但是我收到以下错误消息,并且希望能够为我提供任何指导。我是开发团队的一员,并获得了这个自定义的 httpd.conf 文件,因此我并不认为它是问题的原因(但我并没有完全排除这种可能性)。
我运行命令“sudo apache2ctl -k restart”并得到以下结果
[Fri Jul 06 11:33:34 2012] [warn] module ssl_module is already loaded, skipping
[Fri Jul 06 11:33:34 2012] [warn] module rewrite_module is already loaded, skipping
httpd not running, trying to start
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action '-k restart' failed.
The Apache error log may have more information.
如果我注释掉 httpd.conf 文件中的以下行,我可以消除这两个警告。我真的想这样做吗?我可以去哪里验证这些模块是否已加载到其他地方,并且在我的conf文件中将它们注释掉不会造成任何损害?
LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
至于与无法绑定到端口 80 相关的错误,我无法让它消失。当我执行“sudo netstat -lnp | grep :80”时,我得到以下信息
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6233/apache2
我知道上面的输出意味着 apache 认为它正在运行,有一段时间我什至能够看到“It Worked!”当我导航到 localhost 时,我看到了“Not Found Apache/2.2.20 (ubuntu) server at localhost port 443”。另外,我似乎无法杀死运行“kill -9 6233”命令的apache进程,只会导致apache的PID发生变化(例如从6233到6234)。我还尝试使用命令“sudo etc/init.d/apache2 stop”,它会生成一条“* Stopping web server apache2 [ OK ]”消息,但我再次看到 apache2 进程占用了端口 80。
关于任何这些问题的想法将不胜感激。