
Я использую Ubuntu 16.02. Когда я пытаюсь sudo service apache2 restart
, он говорит:
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
и запрашиваю:
-- -- Начался запуск модуля apache2.service. 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: не найдено 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: не найдено 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: не найдено 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: не найдено 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: * Запуск веб-сервера Apache httpd apache2 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: * 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: * Тест конфигурации apache2 не пройден. 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: Вывод теста конфигурации был: 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: не найдено 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: не найдено 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)Нет такого файла или каталога: AH02291: Невозможно получить доступ к каталогу '/etc/apache2/logs/' для основного журнала ошибок 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: AH00014: Проверка конфигурации не удалась 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: Действие «configtest» не выполнено. 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: Журнал ошибок Apache может содержать дополнительную информацию. 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: apache2.service: Процесс управления завершен, код=завершен, статус=1 11 января 02:30:46 aleksandr-VirtualBox sudo[8171]: pam_unix(sudo:session): сеанс закрыт для пользователя root 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: Не удалось запустить LSB: веб-сервер Apache2. -- Тема: Произошел сбой модуля apache2.service -- Определено: systemd -- Поддержка: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Произошел сбой модуля apache2.service. -- -- Результат не удался. 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: apache2.service: Устройство перешло в состояние сбоя. 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: apache2.service: Ошибка с результатом «код выхода». 11 января 02:33:09 aleksandr-VirtualBox dhclient[792]: DHCPREQUEST из 192.168.56.101 на enp0s8 на 192.168.56.100 порт 67 (xid=0x204f076f) 11 января 02:33:09 aleksandr-VirtualBox dhclient[792]: DHCPACK 192.168.56.101 от 192.168.56.100 11 января 02:33:09 aleksandr-VirtualBox NetworkManager[619]: [1484073189.4253] адрес 192.168.56.101 11 янв. 02:33:09 aleksandr-VirtualBox NetworkManager[619]: [1484073189.4260] плен 24 (255.255.255.0) 11 янв. 02:33:09 aleksandr-VirtualBox NetworkManager[619]: [1484073189.4266] идентификатор сервера 192.168.56.100 11 янв. 02:33:09 aleksandr-VirtualBox NetworkManager[619]: [1484073189.4273] время аренды 1200 11 января 02:33:09 aleksandr-VirtualBox NetworkManager[619]: [1484073189.4279] dhcp4 (enp0s8): состояние изменилось привязано -> привязано 11 янв. 02:33:09 aleksandr-VirtualBox dbus[590]: [system] Активация через systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' 11 января 02:33:09 aleksandr-VirtualBox systemd[1]: Запуск службы диспетчера сценариев сетевого менеджера... -- Тема: Блок NetworkManager-dispatcher.service начал запуск -- Определено: systemd -- Поддерживать: -- -- Начался запуск модуля NetworkManager-dispatcher.service. 11 января 02:33:09 aleksandr-VirtualBox dhclient[792]: привязан к 192.168.56.101 -- обновление через 559 секунд. 11 января 02:33:09 aleksandr-VirtualBox dbus[590]: [system] Успешно активирована служба 'org.freedesktop.nm_dispatcher' 11 января 02:33:09 aleksandr-VirtualBox systemd[1]: Запущена служба диспетчера сценариев сетевого менеджера. -- Тема: Запуск модуля NetworkManager-dispatcher.service завершен -- Определено: systemd -- Поддерживать: -- -- Запуск модуля NetworkManager-dispatcher.service завершен. -- -- Результат запуска готов. 11 янв. 02:33:09 aleksandr-VirtualBox nm-dispatcher[8205]: req:1 'dhcp4-change' [enp0s8]: новый запрос (1 скрипт) 11 января 02:33:09 aleksandr-VirtualBox nm-dispatcher[8205]: req:1 'dhcp4-change' [enp0s8]: начать выполнение упорядоченных скриптов...
И когда systemctl status apache2.service
это требуется:
* apache2.service - LSB: веб-сервер Apache2 Загружено: загружено (/etc/init.d/apache2; плохо; предустановка поставщика: включено) Вставка: /lib/systemd/system/apache2.service.d `-apache2-systemd.conf Активно: не удалось (Результат: код выхода) с Ср 2017-01-11 02:30:46 +08; 33 мин назад Документы: man:systemd-sysv-generator(8) Процесс: 8023 ExecStop=/etc/init.d/apache2 stop (код=выполнено, статус=0/УСПЕШНО) Процесс: 2236 ExecReload=/etc/init.d/apache2 reload (код=выполнен, статус=0/УСПЕШНО) Процесс: 8177 ExecStart=/etc/init.d/apache2 start (код=выход, статус=1/СБОЙ) 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: не найдено 11 янв. 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: не найдено 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)Нет такого файла или каталога: AH02291: Невозможно получить доступ к каталогу '/etc/apache2/logs/' для основного журнала ошибок 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: AH00014: Проверка конфигурации не удалась 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: Действие «configtest» не выполнено. 11 января 02:30:46 aleksandr-VirtualBox apache2[8177]: Журнал ошибок Apache может содержать дополнительную информацию. 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: apache2.service: Процесс управления завершен, код=завершен, статус=1 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: Не удалось запустить LSB: веб-сервер Apache2. 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: apache2.service: Устройство перешло в состояние сбоя. 11 января 02:30:46 aleksandr-VirtualBox systemd[1]: apache2.service: Ошибка с результатом «код выхода».
Что не так? Где прерывание? Помогите, пожалуйста!
решение1
Есть две ошибки:
1.По какой-то причине ваш /etc/apache2/envvars
отсутствует:
от
journalctl -xe
:Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found ... Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
от
systemctl status apache2.service
:Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
В моей системе этот файл имеет следующие разрешения:
$ ls -l /etc/apache2/envvars
-rw-r--r-- 1 root root 1782 мар 19 2016 envvars
И его содержание ( $ cat /etc/apache2/envvars
) таково:
# envvars - default environment variables for apache2ctl
# this won't be correct after changing uid
unset HOME
# for supporting multiple apache2 instances
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
SUFFIX=
fi
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
# temporary state file location. This might be changed to /run in Wheezy+1
export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale
export LANG
## The command to get the status for 'apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export APACHE_LYNX='www-browser -dump'
## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'
## If you would like to pass arguments to the web server, add them below
## to the APACHE_ARGUMENTS environment.
#export APACHE_ARGUMENTS=''
## Enable the debug mode for maintainer scripts.
## This will produce a verbose output on package installations of web server mod ules and web application
## installations which interact with Apache
#export APACHE2_MAINTSCRIPT_DEBUG=1
Вы можете создать его вручную: sudo nano /etc/apache2/envvars
, вставьте указанное выше содержимое внутрь, сохраните ctrl+ oи выйдите ctrl+ x.
2.В вашей системе также отсутствует папка /etc/apache2/logs
:
от
journalctl -xe
:Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
от
systemctl status apache2.service
:Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
Это не папка журналов по умолчанию, она определена в вашей пользовательской конфигурации и должна быть создана:
$ sudo mkdir /etc/apache2/logs
решение2
Я удалил файлы .conf в sites-available и не удалил файлы ссылок в sites-enabled.
Теперь я удалил все эти файлы в разделе «Сайты с поддержкой»
перезапустил сервер apache2 (sudo service apache2 restart)
сработало для меня
надеюсь, это кому-то поможет :)
решение3
У меня была та же проблема. Я получил ту же ошибку sudo service apache2 restart
и запустил sudo systemctl status apache2.service
, и красная линия былаFailed to start LSB: Apache2 web server.
Решение
выполните следующую команду:
sudo apache2ctl configtest
Он проверит наличие ошибок (я думаю, синтаксических), а затем вы сможете устранить ошибку.
решение4
В моем случае я делаю так:
удалить и удалить Apache2
sudo service apache2 stop
sudo apt-get purge apache2
sudo apt-get autoremove
whereis apache2
sudo rm -rf /etc/apache2
переустановить apache2
sudo apt-get install apache2
sudo apache2ctl configtest
Он бежит за мной