Я только что обновил сервер с 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]

1 ответ1

1

Я бы порекомендовал проверить системный журнал в /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 с помощью a ; как это ;extension=apc.so
  • В общем, что-то не так в Apache2: если ничего не помогает , выполните sudo apt-get purge apache2 а затем переустановите его с помощью sudo apt-get install apache2 и посмотрите, что происходит с установкой по умолчанию.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .