当我尝试重新启动 apache2 时,它出现了问题,apache 工作正常,但我就是无法重新启动它。我有一个 Webmin 服务器、pi-hole、ntopng 和一个包含 2 个单词的页面。以下是我的日志:
root@SERVER:~# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2017-12-15 15:55:57 UTC; 18s ago
Process: 14827 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
Dec 15 15:55:57 SERVER apachectl[14827]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Dec 15 15:55:57 SERVER apachectl[14827]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Dec 15 15:55:57 SERVER apachectl[14827]: no listening sockets available, shutting down
Dec 15 15:55:57 SERVER apachectl[14827]: AH00015: Unable to open logs
Dec 15 15:55:57 SERVER apachectl[14827]: Action 'start' failed.
Dec 15 15:55:57 SERVER apachectl[14827]: The Apache error log may have more information.
Dec 15 15:55:57 SERVER systemd[1]: apache2.service: Control process exited, code=exited status=1
Dec 15 15:55:57 SERVER systemd[1]: Failed to start The Apache HTTP Server.
Dec 15 15:55:57 SERVER systemd[1]: apache2.service: Unit entered failed state.
Dec 15 15:55:57 SERVER systemd[1]: apache2.service: Failed with result 'exit-code'.
journalctl -xe 的代码有点滞后这里
这是我尝试重新启动时出现的错误:
service apache2 restart
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -me" for details.
你能帮我吗?谢谢,Poli
答案1
如果问题出在绑定到地址上(根据日志),则意味着另一个程序可能正在使用该端口/地址(80)。您可以找到该程序并将其停止,以便端口可供使用apache2
。
请尝试以下步骤:
- 输入
sudo netstat -plant
此命令将为您提供所有占用特定端口的程序。搜索占用端口“:::80
”(或“0.0.0.0:80
”)的程序。保存其 PPID(PPID 是程序名称前面的数字)。
- 输入
sudo kill <PPID>
,其中 '' 是上一步保存的 PPID。
这将停止使用该端口的程序。
- 现在可以自由使用该端口了。(重新)启动您的 apache2 服务器。