Apache не вдається перезапустити


71

Спроба перезапустити apache з терміналу за допомогою наступної команди:

 sudo service apache2 restart

під час виконання цієї команди потрапляючи нижче помилки:

Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.

При виведенні "systemctl статус apache2.service" потрапив нижче виходу

apache2.service - (null)
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since Sat 2015-05-30 02:22:41 IST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4866 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

apache error.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'

6
після запуску перезапуску apache2 і отримання цієї помилки, запустіть, sudo journalctl -xeщо дасть вам краще уявлення про те, що сталося. якщо у вас все ще виникають проблеми з його розумінням. Опублікуйте результати тут.
граг42

гаразд. Це мені теж не допомогло. Що знаходиться у файлах журналу apache. /var/log/apache2/error.log
grag42

@ grag42 спасибі за Вашу пропозицію, я запустив sudo journalctl -xe і виявив, що проблема з перезаписати правила була там, і виправила її та працює зараз.
Гаутам Савалія

4
Можливий дублікат Apache не починається
ранчо

3
@rancho: Що змушує вас вважати, що питання є дублікатом? Пов'язане запитання містить досить специфічне повідомлення про помилку, якого у нас тут немає. Можливі причини випуску ОП на даний момент досить незрозумілі.
Девід Фоерстер

Відповіді:


61

Можливо, це допоможе знайти причину:

journalctl | tail

У моєму випадку це була помилка у файлі конфігурації:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf

6
No journal files were found.
Стіві Г

5
@StevieG, спробуйтеsudo journalctl | tail
Dherik

1
Що ви зробили, щоб виправити річ?
Лео Леопольд Герц 준영

у моєму випадку я також помилився у файлі
apache2.config

Дякую. Я неправильно набрав свій каталог для моєї недавно доданої конф. Сторінки.
Ліннель Еммануель Нері

48

У файлі є деяка синтаксична помилка apache2.conf.

У терміналі введіть:

cd /etc/apache2

Тоді:

apache2ctl configtest

Він покаже, де помилка у apache2.confфайлі виправити.


1
чудовий підхід tnx, врятував мій час
Джордж Гарчагудашвілі

1
Це фантастично.
abalter

1
Дякую. Виникла проблема з варіантом redmine та PassengerResolveSymlinksInDocumentRoot.
Вадим

LOL, після Execute: apache2ctl configtestотримав синтаксис нормально, але коли я запускаю, apache2 --helpотримав apache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot і помилок в apache error.log!
Володимир Ч.

після того, як уважно ознайомився з /etc/apache2/sites-enabled/режисером, я помітив, що я отримав файл, а не символічний linc to site.conf + reenable mod php5.6 (sudo a2dismod php5.6; sudo a2enmod php5.6), моя служба apache2 була запущена без "ой- ах »
Володимир Ч.

18

Проблема полягає в тому, що деякі файли конфігурації видалено, вам доведеться її перевстановити.

ВСТАНОВИТИ APACHE2:

Щоб замінити файли конфігурації, які були видалені, не очищаючи пакет, ви можете зробити:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

Щоб повністю видалити конфігураційні файли apache2, слід:

sudo apt-get purge apache2

що дозволить вам встановити його звичайним способом за допомогою:

sudo apt-get install apache2

Для видалення всіх конфігураційних файлів потрібна очистка - якщо ви видалите конфігураційні файли, але видалите лише пакунок, це пам’ятається, а відсутні конфігураційні файли не перевстановлюються за замовчуванням.

Потім встановіть PHP5:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5

1
Чому, на вашу думку, деякі файли конфігурації видалено?
Лео Леопольд Герц 준영

2

Проблема:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Рішення:

  • Щоб повністю видалити конфігураційні файли apache2, слід:

    1) sudo apt-get purge apache2

  • що дозволить вам встановити його звичайним способом за допомогою:

    2) sudo apt-get install apache2

==> Це добре працює ...

Дякую....


2

Я отримав таку ж помилку після видалення віртуального хоста. Проблемою був довгий файл конфлікту SSL, пов’язаний з цим хостом, що знаходиться в /etc/apache2/sites-enabled. SSL пройшов через давайте шифрувати, так що код, який потрібно видалити, був:

sudo rm yourdomain.com-le-ssl.conf

1

Я отримав ті самі помилки під час роботи з .htaccess

Я просто поставив цю команду

<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

у /etc/apache2/sites-enabled/000-default.confцій папці

після додавання цього у мене є помилка

тоді я видаляю ці спокійні команди з файлу, і моя помилка усунена.


1

ви, швидше за все, маєте помилку синтаксису. для мене це було в моїй папці "включені сайти".

я неправильно написав "ServerAlias" на "ServerAlisa".


Моє, я неправильно написав свою папку.
Ліннель Еммануель Нері

0

Це здебільшого помилка конфігурації. У мене щойно увімкнено старий сайт на апачі, що спричинило цю помилку. Тому мені довелося відключити його перед тим, як перезавантажити апаш.

sudo a2dissite <my-site>
sudo service apache2 reload

Проблема вирішена :)


0

Дякую за твою допомогу! Мені вдалося встановити правильно за допомогою рішення:

Щоб повністю видалити конфігураційні файли apache2, слід:

  1. sudo apt-get purge apache2 що дозволить вам встановити його звичайним способом за допомогою:

  2. sudo apt-get install apache 2

Зараз це прекрасно працює.


0

Я думаю, що проблема полягає в тому, що у вас увімкнено якийсь сайт, але ви видалили його файл конфігурації. Спробуйте відключити сайт за допомогою "name" sudo a2dissite та перезапустіть сервер apache. Принаймні, це була проблема для мене, і ця дія її вирішила.


0

У моєму випадку помилка почала з’являтися після цього apt upgrade. Погравши багато, я пішов у наступні каталоги, щоб подивитися, що я можу відключити.

  • / etc / apache2 / mods-включено - a2dismod (щоб увімкнути a2enconf)
  • / etc / apache2 / conf-enable - a2disconf (щоб увімкнути назад a2enconf)

У моєму випадку мені довелося включити ці MODS.

введіть тут опис зображення

Здається, що, apt-upgradeмабуть, видалили / зламали php7.2, оскільки як тільки я його відключив і перезапустив все, що працювало. Звичайно, в будь-якому іншому випадку це може бути щось інше. Коли Apache виходить з ладу, це може бути поганий конфігурація або поганий мод. Ви повинні вибрати свої битви.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.