当启动httpd
systemctl 时,出现错误:
Warning: The unit file, source configuration file or drop-ins of httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
我运行systemctl daemon-reload
,错误仍然存在。
这是输出systemctl status httpd
:
Warning: The unit file, source configuration file or drop-ins of httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Tue 2018-05-29 08:08:09 CDT; 4min 6s ago
Docs: man:httpd.service(8)
Main PID: 19471 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 4500)
Memory: 18.8M
CGroup: /system.slice/httpd.service
├─19471 /usr/sbin/httpd -DFOREGROUND
├─19472 /usr/sbin/httpd -DFOREGROUND
├─19473 /usr/sbin/httpd -DFOREGROUND
├─19474 /usr/sbin/httpd -DFOREGROUND
└─19475 /usr/sbin/httpd -DFOREGROUND
我可以做什么来进一步诊断问题?
运行 Fedora 28、systemd 238 和 apache 2.4.34。
答案1
我遇到了同样的问题。与文件相比,我的服务器上的日期已关闭overides.conf
。所以我刚刚做了一个touch overides.conf
.那位于/etc/systemd/system/httpd.service.d
.
systemctl daemon-reload
如果日期错误,显然不会按预期工作?
答案2
我遇到了类似的问题。我有一个名为 的单元foo-1.2.3
,它被启用为systemctl enable foo-1.2.3
,以便它创建一个名为 的别名,但foo
不带版本号。
当我这样做时systemctl edit foo
,它创建了一个名为 的覆盖文件/etc/systemd/system/foo.service.d/override.conf
,然后我不断收到“挂在磁盘上。运行'systemctl daemon-reload'以重新加载单元”消息,即使我确实运行了 daemon-reload。
我将目录重命名为/etc/systemd/system/foo-1.2.3.service.d
,即不使用别名,错误消息消失了。里面根本没有任何线索journalctl
。我觉得这是一个错误。如果 systemd 不喜欢在edit
命令中使用别名,它应该会提前失败。或者覆盖目录应该一致命名,而不是使用别名。
也就是说,systemd 仍然不支持覆盖文件!我在覆盖文件中设置了一个环境变量,但该进程没有获取该环境变量。我还有调试工作要做...