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


2

这是我跑的时候的错误信息 sudo apachectl start:

(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 味道我喜欢并且正在使用它。

Answers:


3

另一台服务器已经在端口80(标准HTTP端口)上侦听,因此服务器无法启动。您可以找出正在运行的内容并停止或重新配置它,或者您可以更改Apache侦听的端口。

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

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

其中一条输出线将有 :www 在第三列中,如我的机器中的此示例中所示:

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

最后一列表示当前在该端口上列出的程序的PID和可执行文件。就我而言,就是这样 lighttpd的 网络服务器,所以我会用它来阻止它 service 命令:

sudo service lighttpd stop

或者,您可以使用其PID来终止它:

sudo kill 1820

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

Listen 80

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


你知道是否还有其他原因吗?我没有在端口80上运行任何东西,运行start命令的结果仍然是相同的。
Slavo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.