我的任务是将 apache 设置从旧的 linux 系统转移到新系统(Ubuntu 20.04.5 LTS)。将 /etc/apache2 文件夹复制到新服务器并重新启动 apache 后,我遇到了一些问题,这些问题是由于配置文件中缺少库引起的。我修好了那些
$ sudo /usr/sbin/apachectl -t
Syntax OK
让我确定我的配置文件。
但是,当我尝试再次启动 apache 时,会发生这种情况:
$ sudo service apache2 start
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
journalctl -xe 什么都没有, v 给了我以下信息:
$ systemctl status apache2.service
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-10-13 16:05:54 UTC; 50s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 41669 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
所以信息基本上是“你有一个错误,因为你有一个错误”
我怎样才能让 apache 开始更详细地提示问题可能是什么?
我已经在这里看了
systemd 在 20.04 和其他地方的建议的问题在于,您不能保证在日志中获得对这些有用的数据。
journalctl -xe
包括与 Apache 无关的额外噪音和垃圾,systemctl status
只会为您提供最后一个运行/加载节,不会为您提供有用的信息。要真正找出您遇到的问题,您需要使用
journalctl
不同的选项。运行journalctl -u apache2.service -n 50
以从日志日志中获取最后 50 行。将该数字50
增加到 oyu 需要获取错误消息的行数。(请注意,在 22.04 及更高版本中,systemd 错误输出指示添加
u
参数并指定无法获取特定服务日志的服务。)根据您的评论,您表示您按照以下说明发现了这些错误:
您可以在此处的单独讨论线程或简单的 Google 中追踪该错误,但至少您知道您现在遇到的错误!