Apache на OSX: «не запущен» и «уже используется» для всех процессов?

Apache на OSX: «не запущен» и «уже используется» для всех процессов?

ОС: macOS Mojave 10.14.6
HTTP-сервер: Apache 2.4.55

При попытке перезапустить сервер Apache я получаю сообщение "Адрес уже используется...". Хм, так что должен быть процесс, который слушает этот порт, верно? С этой строкой (откуда-то) в Терминале, чтобы увидеть, что происходит:

ps auxw | grep  httpd

это дает

_www              1317   0.0  0.1  4361716   7452   ??  S    12:39AM   0:00.10 /usr/sbin/httpd -D FOREGROUND
_www              1303   0.0  0.1  4361716   7364   ??  S    12:39AM   0:00.23 /usr/sbin/httpd -D FOREGROUND
root               104   0.0  0.1  4359628   5956   ??  Ss   12:20AM   0:01.07 /usr/sbin/httpd -D FOREGROUND
ausername         7671   0.0  0.0  4277256    804 s003  S+   12:21PM   0:00.00 grep httpd
_www              7654   0.0  0.0  4359604   1004   ??  S    12:21PM   0:00.00 /usr/sbin/httpd -D FOREGROUND

Хорошо, теперь я попытаюсь это остановить.

httpd -k stop

который дает

httpd (no pid file) not running

Хорошо, тогда я попробую с

/usr/sbin/httpd -k stop
httpd (pid 104?) not running

Хм... может быть:

apachectl -k stop
httpd (no pid file) not running

Так что же тогда работает? И как мне его перезапустить? Это первый раз, когда я сталкиваюсь с такого рода ошибками, касающимися Apache на OSX.

Я проверилэта темано у меня ничего не получилось. Используя grep -ri listen /etc/apache2у меня есть список из нескольких, Listen: 80однако все они были в файлах httpd.conf с .bak, .original, ~previous, .pre-update. Все, кроме одного, используемого для httpd. Откуда я знаю? httpd -Vчто дает:

-D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/opt/local"
 -D SUEXEC_BIN="/opt/local/bin/suexec"
 -D DEFAULT_PIDLOG="var/run/apache2/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="etc/apache2/httpd.conf"

и в этом последнем файле есть такие строки:

Listen 8080
Listen 80

Так что теперь у меня нет идей.

PS: После того, как я покопался в логах, это стало явным признаком того, что у меня установлено несколько Apache (вероятно, остатки от установок Homebrew). Эти две строки:

[Fri Feb 17 00:22:56.067511 2023] [mpm_prefork:notice] [pid 104] AH00163: Apache/2.4.46 (Unix) PHP/7.3.33 LibreSSL/2.5.5 configured -- resuming normal operations
[Fri Feb 17 00:22:56.067613 2023] [core:notice] [pid 104] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

Первая строка говорит, что он работает под управлением Apache/2.4.46, но это не та версия, которую я получаю при запуске. httpd -vВторая строка, похоже, регистрирует команду запуска для процесса Apache. Где может находиться эта командная строка? Связано с процессом запуска, верно?

Связанный контент