我尝试在ubuntu18.04上创建一个Web服务器,因此安装了Apache2,但无法启动它。
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: failed (Result: exit-code) since Sat 2020-02-22 13:58:09 CET; 34s ago
Process: 2791 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
Feb 22 13:58:09 moemen apachectl[2791]: AH00558: apache2: Could not reliably determine the server's
Feb 22 13:58:09 moemen apachectl[2791]: (98)Address already in use: AH00072: make_sock: could not b
Feb 22 13:58:09 moemen apachectl[2791]: (98)Address already in use: AH00072: make_sock: could not b
Feb 22 13:58:09 moemen apachectl[2791]: no listening sockets available, shutting down
Feb 22 13:58:09 moemen apachectl[2791]: AH00015: Unable to open logs
Feb 22 13:58:09 moemen apachectl[2791]: Action 'start' failed.
Feb 22 13:58:09 moemen apachectl[2791]: The Apache error log may have more information.
Feb 22 13:58:09 moemen systemd[1]: apache2.service: Control process exited, code=exited status=1
Feb 22 13:58:09 moemen systemd[1]: apache2.service: Failed with result 'exit-code'.
Feb 22 13:58:09 moemen systemd[1]: Failed to start The Apache HTTP Server.
我是新手你能帮帮我吗
6条答案
按热度按时间oxosxuxt1#
我也面临同样的问题。
第一次检查
如果
nginx
处于活动状态,则使用以下命令停止此操作然后再次尝试在不同的终端中启动Apache2服务器。
68bkxrlz2#
首先删除apache2
一个月一个月一个月一个月一个月
之后,如果有文件(. conf)/etc/sites可用,请使用以下命令将其删除
然后重新安装
sudo apt-get install apache2
现在将修复并立即检查
sudo ufw allow 'Apache'
sudo systemctl status apache2
6yt4nkrj3#
让我给予一个比前2个更一般的答案。Apache的一个可能问题是,当我们试图运行它时,它可能会失败,因为端口80被另一个软件使用:
sudo apt install net-tools
),请使用它:sudo netstat -antup | grep 80
。它将显示一些可能包含:::80
或<your IP>:80
的行,这些行将说明正在侦听端口的内容一旦你找到了监听80端口的东西,你必须决定如何使用它,例如,如果它是nginx,而你不使用它,你可以像Devashish Mishra建议的那样:同样,你也可以停止或终止(
sudo killall -9 program-name
)其他程序。但是,如果你需要它们,你还需要进一步配置Apache并重新运行它们(具体步骤取决于具体情况)。p3rjfoxz4#
请仔细阅读。
执行以下命令,如果您看到它是apache,则在命令下面执行以下操作。
注意:在运行netstat之前,您需要安装net-tools软件包。运行
sudo apt install net-tools
来安装它。应该使用类似
<Your IP>:80
的语句检查该行。请注意,当您在Apache运行时卸载它时,也可能会发生这种情况。
该命令可以是:
如果在端口80上运行的程序不可停止,请用程序名替换程序名。让我知道它不起作用。谢谢。
mspsb9vt5#
我发现了这个问题,并能够通过创建一个文件夹
/var/log/apache2
来解决它,我检查了/var/log/
文件夹,结果发现没有apache2文件夹,就像mysql不会启动的情况一样。从你的日志上看到
Feb 22 13:58:09 moment apachectl[2791]: AH00015: Unable to open logs
也许这个能帮上忙
jv2fixgn6#
1.在你的终端上。
1.类型:
sudo stop /etc/init.d/apache2
响应将是:
停止apache2(通过systemctl):apache2.service.
1.现在启动服务器:
如果你安装灯正确,这应该工作