这是我运行时的错误消息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/
。