似乎无法在 Ubuntu 10.10(Maverick Meerkat)上运行 Apache 2.2

似乎无法在 Ubuntu 10.10(Maverick Meerkat)上运行 Apache 2.2

这是我运行时的错误消息sudo apachectl启动:

(98)Address already in use: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
myUser@myMachine:/etc
$ sudo apachectl stop
httpd (no pid file) not running

我是 Ubuntu(和 Linux)的新手,通过 Synaptic 下载了 Apache 2.2(worker)。我找到了一种httpd.conf我喜欢的版本,并且正在使用它。

答案1

另一台服务器已在监听端口 80(标准 HTTP 端口),因此该服务器无法启动。您可以找出正在运行的程序,然后停止或重新配置它,或者更改 Apache 监听的端口。

要查看当前正在监听端口 80 的内容,请打开终端并运行以下命令:

sudo netstat --tcp --udp --listening --program

输出的其中一行将:www在第三列中显示,如我的机器上的这个示例所示:

tcp        0      0 *:www                   *:*                     LISTEN      1820/lighttpd   

最后一列表示当前在该端口上列出的程序的 PID 和可执行文件。在我的例子中,它是lighttpdweb 服务器,因此我用以下service命令来停止它:

sudo service lighttpd stop

或者,你可以使用它的 PID 来杀死它:

sudo kill 1820

如果您知道端口 80 上运行着什么程序,并且不想弄乱它,您可以重新配置 Apache 以监听其他端口。为此,请编辑文件/etc/httpd/httpd.conf并找到以下行:

Listen 80

更改80为您的系统上未使用的任何数字,例如8080。然后,启动 Apache,您可以通过附加冒号和端口号来访问它,例如http://localhost:8080/

相关内容