Назад | Перейти на главную страницу

Есть ли на моем VPS 2 разных установки Apache?

Я новичок в обслуживании серверов и использую Apache 2.4 на Ubuntu 14.10 на VPS, который я только что настроил вчера. Кажется, что у меня есть два разных Apache, установленных в разных местах на машине, по следующим причинам.

  1. Когда я бегу sudo /usr/local/apache2/bin/apachectl start с последующим ps -A Я получаю это:

     4408 ?        00:00:00 httpd
     4409 ?        00:00:00 httpd
     4410 ?        00:00:00 httpd
     4411 ?        00:00:00 httpd
    

    Обновляет журнал ошибок /usr/local/apache2/logs/error_log с чем-то вроде

    [Sat Feb 14 00:16:49.963014 2015] [mpm_event:notice] [pid 4542:tid 140160010012544] AH00489: Apache/2.4.12 (Unix) mod_wsgi/4.4.8 Python/2.7.8 configured -- resuming normal operations
    [Sat Feb 14 00:16:49.963260 2015] [core:notice] [pid 4542:tid 140160010012544] AH00094: Command line: '/usr/local/apache2/bin/httpd'
    

    как установлено файлом конфигурации, находящимся в usr/local/apache2/conf/httpd.conf

  2. Однако, если я убегу sudo apachectl start (после остановки примера в 1.), за которым следует ps -A Я получаю это:

    4743 ?        00:00:00 apache2
    4744 ?        00:00:00 apache2
    4745 ?        00:00:00 apache2
    

    Обновляет журнал ошибок var/log/apache2/error.log с чем-то вроде

    [Sat Feb 14 00:22:06.816281 2015] [mpm_event:notice] [pid 4743:tid 139905582937984] AH00489: Apache/2.4.10 (Ubuntu) configured -- resuming normal operations
    [Sat Feb 14 00:22:06.816480 2015] [core:notice] [pid 4743:tid 139905582937984] AH00094: Command line: '/usr/sbin/apache2'
    

    как установлено файлом конфигурации, находящимся в /etc/apache2/apache2.conf

Я пытался настроить приложение Django с помощью mod_wsgi и Apache, и при этом редактировал файл конфигурации в примере 1. Я немного погуглил, и люди, похоже, говорили, что apache2.conf и httpd.conf кажется хвалить друг друга, но в моем случае, поскольку они оба устанавливают разную информацию об ошибках и, как правило, управляют разными программами, я немного запутался.

Установлены ли на одном компьютере два разных экземпляра Apache? Или это нормально?

Да, они сообщают разные номера версий, следовательно, это разные экземпляры Apache.

/ usr / local / apache2 - это базовый каталог по умолчанию для apache, скомпилированного из исходного кода, а другой каталог с файлами в / usr / sbin и / etc - это распределенная версия Ubuntu.

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

Да, на вашем VPS установлено две установки Apache.

У вас установлен Apache из репозиториев ubuntu, установленный в /usr У вас установлен Apache из источника, установленного в /usr/local/apache2

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

Что с этим делать...

Вариант A: просто используйте apache из репозиториев:

  1. Остановите Apache, который вы создали из исходного кода. sudo /usr/local/sbin/apache2/apachectl stop.
  2. Просто используйте apache, установленный из репозиториев. Запустите его или, если он уже запущен, перезапустите: sudo /etc/init.d/apache2 restart
  3. Если вы не создали сценарии инициализации при сборке из исходного кода, вы можете спокойно игнорировать установку из исходного кода - просто не запускайте ее снова вручную, и все будет в порядке.

Вариант Б. Просто используйте apache, который вы создали из исходников

  1. Остановите репозиторий, предоставленный apache. sudo /etc/init.d/apache2 stop
  2. Удалите apache из репозиториев. sudo aptitude remove apache2
  3. Запустите (или перезапустите) созданный вами apache. sudo /usr/local/apache2/bin/apachectl graceful