MAMP – Mac OS X

Я использую MAMP на некоторое время сейчас на порту 8888, поэтому я посещаю веб-сайт в браузере следующим образом: http://localhost:8888/website

Однако я только что установил WordPress Multisite и поэтому хочу переключиться на порт 80, чтобы позволить мне посещать веб-сайты как обычно и иметь подкаталоги, например http://website.co.uk , http://subdomain.website.co.uk

Я установил файл vhosts в MAMP и изменил порт на 80 в настройках MAMP, но с тех пор, как MAMP не запускает Apache. MySQL запускается отлично, но Apache не запускается.

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

sudo ./startApache.sh

но каждый раз, когда я делаю это, я получаю следующие ошибки:

 (48)Address already in use: make_sock: could not bind to address [::]:80 (48)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs 

Если я вернусь к порту 8888, MAMP снова начнет работать. Может ли кто-нибудь указать мне в правильном направлении, чтобы это зафиксировалось?

 sudo lsof | grep LISTEN launchd 1 root 11u IPv6 0x8754c7c05566afd 0t0 TCP *:afpovertcp (LISTEN) launchd 1 root 12u IPv4 0x8754c7c0556bae5 0t0 TCP *:afpovertcp (LISTEN) launchd 1 root 30u IPv6 0x8754c7c0556671d 0t0 TCP localhost:ipp (LISTEN) launchd 1 root 31u IPv4 0x8754c7c0556b3ad 0t0 TCP localhost:ipp (LISTEN) httpd 21 root 4u IPv6 0x8754c7c0556633d 0t0 TCP *:http (LISTEN) kdc 43 root 6u IPv6 0x8754c7c05565f5d 0t0 TCP *:kerberos (LISTEN) kdc 43 root 8u IPv4 0x8754c7c0556a53d 0t0 TCP *:kerberos (LISTEN) httpd 191 _www 4u IPv6 0x8754c7c0556633d 0t0 TCP *:http (LISTEN) Dropbox 293 Ell 19u IPv4 0x8754c7c0a8db6cd 0t0 TCP *:17500 (LISTEN) Dropbox 293 Ell 25u IPv4 0x8754c7c0a8da125 0t0 TCP localhost:26164 (LISTEN) mysqld 454 Ell 10u IPv4 0x8754c7c0ba8085d 0t0 TCP *:ddi-tcp-2 (LISTEN) 

Обновить:

 ps 21 PID TT STAT TIME COMMAND 21 ?? Ss 0:00.39 /usr/sbin/httpd -D FOREGROUND 

благодаря

Вы можете проверить, какие процессы прослушивают порты с lsof :

 sudo lsof | grep LISTEN 

Ищите процессы, слушающие *:http и т. Д.

Обновить:

Вы видите, что один процесс уже использует *:http который является процессом с именем httpd с pid 21. httpd , скорее всего, является процессом Apache. Поэтому я бы предположил, что у вашей системы уже есть установка Apache где-нибудь (которая может запускаться автоматически) или что MAMP Apache уже запущен по какой-либо причине.

Попробуйте запустить ps 21 чтобы получить дополнительную информацию об этом процессе. В моей системе, где у меня установлен MAMP, я вижу это: (65696 – это pid httpd в моей системе).

 mattias@waderbook:~$ ps 65696 PID TT STAT TIME COMMAND 65696 ?? Ss 0:00.57 /Applications/MAMP/Library/bin/httpd -k start 

Если вы видите /usr/sbin/httpd скорее всего, Apache в комплекте с OS X, который работает. Попробуйте отключить его, перейдя в раздел «Совместное использование» в разделе «Настройки» и отключите «Обмен через Интернет».

В моем случае ничего не было найдено при использовании grep на lsof .

Я искал несколько часов, чтобы найти то, что создавало директивы Listen для перекрытия, но без результата.

Поэтому я использовал quickfix, и это должно было изменить мой порт прослушивания в httpd.conf на 8000

Listen 8000

измените это и перезапустите apache2. Должен сделать трюк …