error apache2.service" and "journalctl -xe"

3

上次我尝试在本地主机上添加新的域名,并将其保留了几个星期,现在我尝试运行我的Apache此命令/etc/init.d/apache2 start,但是出现错误。

[....] Starting apache2 (via systemctl): apache2.serviceJob for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.
 failed!

如果我尝试重新安装apache2,但仍然无法正常工作。

好像是与http://serverfault.com/questions/717825/apache2-service-not-restarting-rails-ubuntu/755539#755539相同的问题。 - Sverre
停止nginx,如果正在运行。 - Mohammad Kholghi
9个回答

8

我刚才执行了这两行代码。它起作用了。

同一端口上不能同时启动两个web服务器

以下是适用于 apachenginx 的代码:

sudo systemctl stop apache2
sudo systemctl start nginx

或者

sudo systemctl stop nginx
sudo systemctl start apache2

如果出现错误,使用此代码:journalctl -xe

sudo apt-get install psmisc
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill

7

虚拟主机配置可能导致此错误

我通过正确配置我的虚拟主机.conf文件来解决了这个问题。

我创建了一个虚拟主机,然后从/etc/apache2/sites-avalable/中删除了example.conf文件,但我没有从/etc/apache2/sites-enabled/中删除example.conf文件,因此我一直出现这个错误。

然后我从两个文件夹(../sites-enabled和../sites-available)中都删除了example.conf文件,从而解决了这个问题。

如果您最近尝试设置任何虚拟主机,请尝试此解决方案。

祝你好运


7

终止运行在端口上的进程。希望它能起作用!

sudo apt-get install psmisc
sudo fuser 80/tcp
sudo lsof -i tcp:80
sudo lsof -i tcp:80 -s tcp:listen
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill

我刚刚执行了这两行代码:sudo apt-get install psmisc和sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill。 - Netwons
保存我的整个一天,非常感谢你!!! - Shurvir Mori

2

Go

sudo nano /etc/apache2/apache2.conf

请删除这一行:
Include /etc/phpmyadmin/apache.conf

那么

service apache2 start/restart

2
这个问题可能是由于apache中的某些配置文件丢失导致的。其中一种解决方案是清除apache2文件。 您可以输入以下命令: sudo apt-get purge apache2 然后通过输入以下命令重新安装apache2: sudo apt-get install apache2

0

你输入

sudo netstat -pant

您要检查一下是否使用了80端口。如果使用了,`

sudo service 'service_name' stop

并且

sudo service apache2 start

0
问题是因为某些配置文件已被删除。
您可以使用以下命令替换已被删除的配置文件,而无需清除软件包:
sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

0

正如错误信息中所述,我们只需要执行:

systemctl status apache2.service

或者

journalctl -xe

你将会得到更多关于错误的详细信息(错误所在行,或者命令拼写错误,或者模块未包含在配置中等): 例如,你可能会得到以下详细信息:无效命令 'SSLEngine',也许是拼写错误或由未包含在服务器配置中的模块定义 ==> 然后你需要执行 a2enmod ssl 命令,然后执行 service apache2 restart 命令。

此外,我注意到 service apache2 reload 和 service apache2 restart 命令之间存在差异。如果错误仍然存在,你应该执行 service apache2 restart 命令,然后执行 journalctl -xe 命令。


0
执行sudo service apache2 status命令并检查结果。它可能正在尝试绑定到已经被占用的端口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接