我在 ubuntu 19.04 桌面上安装了 Apache 2,并且能够通过 localhost 进行测试访问。然后我发现该服务被屏蔽了。我知道如何取消屏蔽,但我不想这样做,直到我理解它被屏蔽的原因并纠正了任何错误情况。我应该如何排除这种情况的故障?我是 apache2 的新手。systemctl 的输出如下:
gossage@jgossage-XPS-8700:~$ sudo systemctl status apache2
● apache2.service
Loaded: masked (Reason: Unit apache2.service is masked.)
Active: inactive (dead)
答案1
看起来您的服务文件为空,或者您在 中有重复的服务文件/etc/systemd/system/
。这通常会被屏蔽。
检查文件是否/etc/systemd/system/apache2.service
存在。如果存在,请将其删除并继续下面的操作。
Apache2 服务文件应该存在于 中/lib/systemd/system/
。请检查该文件是否/lib/systemd/system/apache2.service
存在。如果是,请对照以下内容检查内容:
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=https://httpd.apache.org/docs/2.4/
[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=on-abort
[Install]
WantedBy=multi-user.target
如果没有,请创建文件并将上述内容复制并粘贴到其中。然后尝试通过运行来启用该服务:
sudo systemctl enable apache2
如果成功,请重新启动系统