Назад | Перейти на главную страницу

Выявление служебной ошибки в Fedora 16

Как найти причину неудачного запуска службы в Fedora 16? Новая команда systemctl в Fedora 16, похоже, ужасно скрывает любую полезную информацию для ведения журнала.

[root@host ~]# systemctl start httpd.service
Job failed. See system logs and 'systemctl status' for details.
[root@host ~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server (prefork MPM)
      Loaded: loaded (/lib/systemd/system/httpd.service; enabled)
      Active: failed since Thu, 21 Jun 2012 16:26:56 -0400; 1min 23s ago
     Process: 2119 ExecStop=/usr/sbin/httpd $OPTIONS -k stop (code=exited, status=0/SUCCESS)
     Process: 2215 ExecStart=/usr/sbin/httpd $OPTIONS -k start (code=exited, status=1/FAILURE)
    Main PID: 1062 (code=exited, status=0/SUCCESS)
      CGroup: name=systemd:/system/httpd.service

Итак, первая команда не работает ... и она говорит мне запустить другую команду ... которая просто сообщает мне, что команда вернула код ошибки. Где настоящая ошибка?

Еще более досадно то, что в журналы вроде ничего не было написано:

[root@host ~]# ls -lah /var/log/httpd/
total 8.0K
drwx------.  2 root root 4.0K Jun 21 16:19 .
drwxr-xr-x. 21 root root 4.0K Jun 20 16:33 ..
-rw-r-----   1 root root    0 Jun 21 16:19 modsec_audit.log
-rw-r-----   1 root root    0 Jun 21 16:19 modsec_debug.log

В Fedora вы можете запустить следующую команду, которая должна дать вам полное сообщение об ошибке: / usr / sbin / httpd -t

Флаг -t запускает проверку синтаксиса файлов конфигурации, поэтому, если есть какие-либо синтаксические ошибки, это должно помочь.

Хорошо - похоже, проблема, с которой вы столкнулись, обсуждалась и будет обновлена ​​в новой версии Fedora, но пока вы можете сделать следующее:

Измените файл /etc/systemd/system.conf - измените параметр DefaultStandardError на DefaultStandardError = syslog

Когда вы запустите это и на сервере возникнет синтаксическая ошибка, он предложит вам проверить журналы на наличие ошибки:

[root @ Acer-Laptop ~] # systemctl start httpd.service Не удалось выполнить задание. См. Системные журналы и 'systemctl status' для подробностей.

Я вижу, что это тоже было написано успешно:

[root @ Acer-Laptop ~] # меньше / var / log / messages | grep httpd 23 июня, 09:24:03 Acer-Laptop httpd [4896]: синтаксическая ошибка в строке 32 файла /etc/httpd/conf/httpd.conf: 23 июня 09:24:03 Acer-Laptop httpd [4896]: недействительно команда 'SyntaxError', возможно, неправильно написана или определена модулем, не включенным в конфигурацию сервера 23 июня 09:24:03 Acer-Laptop systemd [1]: httpd.service: процесс управления завершен, code = exited status = 1 июня 23 09 : 24: 03 Acer-Laptop systemd [1]: Устройство httpd.service перешло в состояние ошибки.

Надеюсь это поможет!