Apache не работает после обновления сервера Ubuntu с 10.04 до 12.04

571
beacon_bonanza

Я только что обновил сервер с Ubuntu 10.04 LTS до Ubuntu 12.04 LTS, учитывая окончательную поддержку 10.04. Обновление прошло хорошо; Я уже проверил все это с виртуальной машиной заранее. Однако веб-сервер больше не работает.

Когда я бегу

sudo /etc/init.d/apache2 restart 

Это дает

* Restarting web server apache2 [ OK ] 

Так что сообщения об ошибке нет, однако выходные ps axданные не показывают никаких доказательств фактической работы apache, аналогично, выходные данные netstat -tuplnне показывают ничего на порту 80. Я фактически скопировал всю /etc/apache2папку с другого сервера Ubuntu 12.04 LTS, который работает в случае, если что-то в одном из файлов конфигурации, но это не исправило это.

Кто-нибудь знает, почему он не будет выдавать сообщение об ошибке, но на самом деле не работает?

Я проверил журнал ошибок и ничего не добавлено. Выход из /var/log/syslogвне

 Apr 28 16:28:37 ubuntu-server kernel: [ 9061.735298] apache2[13102]: segfault at 0 ip 00007fe46d8d7476 sp 00007ffd6f130ba8 error 4 in libc-2.15.so[7fe46d7a6000+1b4000] 
0

1 ответ на вопрос

1
JakeGould

Я бы порекомендовал проверить вход в систему /var/log/syslogпри перезагрузке Apache2. Это означает, что у вас открылось одно окно терминала, когда вы просматриваете syslogканал tailследующим образом:

sudo tail -f -n 10 /var/log/syslog 

А в другом окне попытайтесь перезапустить Apache. Но ваш синтаксис sudo /etc/init.d/apache2 restartкажется неуклюжим, когда вы можете просто использовать serviceвот так:

sudo service apache2 restart 

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

sudo service apache2 stop  sudo service apache2 start 

Любые более глубокие системные проблемы с Apache должны отображаться в syslog. Как отладить это? Зависит от того, что вы видите / читаете. Но я выполнил тонны обновлений Ubuntu с более ранних версий до Ubuntu 12.04 LTS без каких-либо проблем.

ОБНОВЛЕНИЕ: Так как оригинальный постер опубликовал результаты syslog, может также прокомментировать это. Это показывает, что при попытке запустить Apache происходит какая-то ошибка сегментации:

Apr 28 16:28:37 ubuntu-server kernel: [ 9061.735298] apache2[13102]: segfault at 0 ip 00007fe46d8d7476 sp 00007ffd6f130ba8 error 4 in libc-2.15.so[7fe46d7a6000+1b4000] 

Подобные ошибки сегментации могут быть болезненными для отслеживания. Но по моему опыту это может быть вызвано несколькими важными вещами:

  • Плохой / испорченный код PHP или HTML: Во-первых, я сомневаюсь, что это так, но я все равно упоминаю об этом: я предполагаю, что вы используете PHP с Apache, но это относится и к HTML. Лучший способ проверить это - установить простую index.phpстраницу и посмотреть, что произойдет. Но, как я уже сказал, если Apache не работает при перезапуске, я сомневаюсь, что это так, но это идея.
  • Несовместимая или поврежденная конфигурация или настройка Apache2: вы заявляете, что используете рабочую конфигурацию Apache2 с другого работающего сервера Ubuntu 12.04 LTS, но все еще может быть проблема конфигурации, которую вы пропустили. Например, /etc/apache2правильны ли разрешения для каталога и его дочерних каталогов? Если вы их скопировали, всегда существует риск того, что вы могли не заметить владельца и разрешения при настройке, поэтому обязательно перепроверьте это.
  • Поврежденный модуль Apache2. Возможно, модуль, подключенный к Apache, сам по себе поврежден. Если у вас установлено что-либо, например, APC (альтернативный кэш PHP), я бы порекомендовал отключить его или даже переустановить. Чтобы отключить его, откройте /etc/php5/conf.d/apc.iniи закомментируйте строку, которая считывает extension=apc.soс ;так: ;extension=apc.so.
  • Что-то винт в Apache2 В целом: если ничего не помогает, выполните a, sudo apt-get purge apache2а затем переустановите через a sudo apt-get install apache2и посмотрите, что происходит с установкой по умолчанию.

Если бы все это еще не вернуло процесс Apache2 к жизни, я бы также проверил другие системные службы и выяснил, работают ли они вообще; они тоже могут показывать ошибки сегментации в syslog.

Кроме того, вы не указываете глубину или конфигурацию настроек этой системы. Но если это совсем не сложно - запускать только несколько сервисов, где вы знакомы с конфигурацией, - возможно, лучше просто отказаться от этой установки и переустановить Ubuntu 12.04 LTS с нуля.

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

Похожие вопросы