我有一台运行 Angstrom Linux (v2012.12) 的 Beaglebone Black (BBB)。由于我的其他 Linux 机器都没有 systemd,而 Angstrom 有,所以我想在将 systemd 强加给我 Debian 之前,先熟悉一下它。我对 systemd 的使用/功能相当清楚,但在尝试启动 lighttpd 时,我遇到了一个错误。我认为错误消息的格式是 systemd 服务错误的典型格式。
当我尝试启动 lighttpd 服务时,出现以下信息:
root@beaglebone:/etc# systemctl start lighttpd.service lighttpd.service 作业失败。请参阅“systemctl status lighttpd.service”和“journalctl -xn”了解详情。
如果我运行systemctl status lighttpd.service
,我会得到以下内容
root@beaglebone:/etc# systemctl status lighttpd.service lighttpd.service - 具有轻量系统要求的闪电般快速的 Web 服务器 已加载:已加载(/lib/systemd/system/lighttpd.service;已启用) 活动:失败(结果:退出代码)自 2015-02-16 星期一 07:23:30 PST;3 分钟 3 秒前 进程:872 ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd.conf(代码=exited,状态=255) CGroup:名称=systemd:/system/lighttpd.service
运行journalctl -xn
得到以下内容:
2 月 16 日 07:28:04 beaglebone systemd[1]: 启动速度极快、系统要求低的 Web 服务器... 2 月 16 日 07:28:04 beaglebone systemd[1]: lighttpd.service: 主进程已退出,代码=已退出,状态=255/n/a 2 月 16 日 07:28:04 beaglebone systemd[1]: 无法启动具有轻量系统要求的闪电般快速的 Web 服务器。 2 月 16 日 07:28:05 beaglebone systemd[1]: 单元 lighttpd.service 进入失败状态
我找到的所有 systemd 文档都没有详细介绍此类错误。我从未遇到过使用老式守护进程启动方式的任何问题,而且我从 1995 年就开始使用 Linux。救命!
答案1
我假设您已经检查过没有其他任何东西在使用端口 80(我假设 lighttpd 配置为使用该端口)。检查 bonescript 是否仍未绑定端口,然后使用以下命令停止它:
systemctl stop bonescript.service
systemctl stop bonescript.socket