Я новичок в обслуживании серверов и использую Apache 2.4 на Ubuntu 14.10 на VPS, который я только что настроил вчера. Кажется, что у меня есть два разных Apache, установленных в разных местах на машине, по следующим причинам.
Когда я бегу 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
Однако, если я убегу 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.
Если у вас нет очень конкретной причины поступить иначе, лучше всего придерживаться пакетов, поставляемых вашим дистрибутивом. Обновления будут управляться через систему диспетчера пакетов, и она должна оставаться синхронизированной с остальной частью вашей ОС.
У вас установлен Apache из репозиториев ubuntu, установленный в /usr
У вас установлен Apache из источника, установленного в /usr/local/apache2
Теперь вы заявили в комментарии, что пытались удалить apache перед переустановкой из источника. Похоже, что удаление не было завершено должным образом.
sudo /usr/local/sbin/apache2/apachectl stop
.sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 stop
sudo aptitude remove apache2
sudo /usr/local/apache2/bin/apachectl graceful