Intereting Posts
Ubuntu 12.04.3 Проблемы с графикой: поврежденные каналы, переустановка Xorg и шмель Вне пространства, даже когда у меня есть около 300 гб бесплатно youtube-dl установлен, но не найден в тире или приложениях Получение списка установленных приложений (пакетов NOT) Установка программы на сенсорный телефон ubuntu Где я могу предложить предложения для Ubuntu? Беспроводная связь не работает после установки Xubuntu – Как добавить быстрый запуск на панель Apt-get не может установить какое-либо программное обеспечение с момента последнего обновления Как изменить резервный шрифт CJK? Как отменить открытый ключ gnupg без закрытого ключа? Есть ли приложение для виртуального взаимодействия с рабочим столом с клавиатурой? Как получить подстроку для строки с использованием анализа шаблонов? Плагины клавиатуры Плагин забывает настройки, не может найти обходной путь Как открыть ссылку с помощью кнопки

Сервер Apache не запускается автоматически

Я установил Apache долгое время как часть настройки среды разработки на моем ноутбуке.

Однако, так как я остановил его несколько месяцев назад, он больше не запускается автоматически при загрузке. У меня эта проблема на моем ноутбуке дома и на моем ноутбуке на работе.

В обоих случаях я установил Apache в Ubuntu 10.10 несколько месяцев назад, использовал его в течение нескольких недель без сбоев, но однажды я остановил его, и теперь он больше не запускается автоматически. Я попробовал запустить rc для него вручную, но мне сказали, что скрипт init уже используется.

Однако запуск / перезапуск вручную

sudo service apache2 start/restart 

работает отлично. В обоих случаях я допускаю это только после обновления до 11.04, потому что я надеялся, что он будет разрешен новой версией. Но это не так! Я был бы признателен, если кто-нибудь скажет мне, как снова запустить Apache.

Попробуйте запустить

 update-rc.d apache2 enable [list of run levels] 

как корень.

Вам может быть интересно прочитать

 man update-rc.d 

Я добавляю этот ответ, основываясь на недавних проблемах, с которыми я сталкивался с теми же симптомами.

Сначала некоторые исходные данные:

  • Ubuntu использует сценарии в папке /etc/init.d/ для запуска / остановки служб.
  • Ubuntu использует символические ссылки на те /etc/init.d/ скрипты, хранящиеся в папках /etc/rc#.d/ , для запуска / остановки служб на основе «уровня запуска».
  • Символы, начинающиеся с «S», указывают на то, что служба должна быть запущена.
  • Символы, начинающиеся с «K», указывают на то, что служба должна быть остановлена ​​(убита).
  • Уровень выполнения 1 выполняет скрипты, символически связанные в /etc/rc1.d/ , в runlevel 2 используется /etc/rc2.d/ и т. Д.
  • Уровень запуска по умолчанию для Ubuntu равен 2.
  • Установка Apache по существу запускает sudo update-rc.d apache2 defaults который создает соответствующие символические /etc/rc#.d/ папках /etc/rc#.d/ .

Поэтому кажется, что на моем сервере что-то или кто-то в какой-то момент запустил sudo update-rc.d apache2 disable который удалил все символические ссылки «S» и заменил их символическими ссылками «K». Таким образом, убивая или просто не запуская Apache при инициализации любого из уровней выполнения.

Мое решение состояло в том, чтобы снова включить Apache:

 sudo update-rc.d apache2 enable 

Теперь Apache запускается / останавливается, как ожидалось, при запуске или переключении уровней запуска.

NB:

Стоит отметить, что просто запуск sudo update-rc.d apache2 defaults снова недостаточен, потому что он видит, что существуют символические ссылки и считает, что они нужны. Он просто отвечает:

 System start/stop links for /etc/init.d/apache2 already exist. 

В этом случае я узнал, почему Apache не запускался. Я не мог найти след этого в журналах запуска, только на выходе, напечатанном на экране при загрузке.

Но здесь вы идете: Последняя строка в скрипте /etc/apache2/apache2.conf не удалась.

Зачем?

В нем говорится:

Include sites-enabled/

Однако два из сайтов, которые я установил, находятся в моем собственном домашнем каталоге, который зашифрован!

Таким образом, при загрузке (во время запуска Apache) эти сайты не существуют, и Apache не работает и отказывается запускаться.

Решение?

Я создал небольшой скрипт под названием «disable_sites» и связал его в /etc/rc0.d и /etc/rc6.d (выключение и перезагрузка):

 #!/bin/bash /usr/sbin/a2dissite vvsshop /usr/sbin/a2dissite neoflex /etc/init.d/apache2 reload exit 0 

Я также создал сценарий для повторного включения сайтов во время входа в систему и добавления его в качестве начальной программы в свои настройки системы. Так что теперь это работает!

Итак, я полагаю, урок здесь заключается в том, что, когда Apache необъяснимо не загружается во время загрузки, вы не можете найти ошибок в журналах или при запуске сервера вручную, проверьте, доступны ли все необходимые ему каталоги. Возможно, это также можно было бы решить каким-то другим способом.

Для других, смотрящих (googling) для этой проблемы, проверьте, что если вы запустите:

 chkconfig |grep httpd 

Вы получаете

httpd 0: off 1: off 2: on 3: on 4: on 5: on 6: off

иначе выполните:

 chkconfig httpd on 

(извините за эквивалент ubuntu chkconfig update- rc.d см. альтернативу Chkconfig для сервера Ubuntu? )

У меня была такая же проблема, и я запускаю Ubuntu 14 на локальной настройке Vagrant. Я удалил каталог /etc/apache2/sites-enabled ссылку в мой домашний каталог, который, конечно же, монтируется на моем локальном диске в соответствии с конфигурациями Vagrant.

Оказывается, apache не видел каталог, потому что ресурс еще не был установлен. Я переписал свое положение о Vagrant, чтобы просто скопировать каталоги с sites-enabled вместо добавления символической ссылки.

Я также сделал sudo update-rc.d apache2 enable как предложил Karl Wilbur чтобы убедиться, что apache init включен.