Как мне узнать, как macPorts украл мой порт: 80? - PullRequest
4 голосов
/ 13 сентября 2010

У меня был установлен MAMP (и он работает нормально), затем я попытался установить mongoDB через macPorts.Затем macports начал устанавливать кучу зависимостей.после этого http://localhost начал давать "Это работает!"экран.после перезагрузки, чтобы посмотреть, может ли это исправить, я обнаружил, что не могу запустить свой сервер MAMP.консоль сказала следующее:

9/13/10 1:20:54 PM  [0x0-0x12012].de.appsolute.MAMP[133]    (48)Address already in use: make_sock: could not bind to address [::]:80

Я знаю, что macPorts сделал что-то глупое, чтобы связываться со мной.Как я могу узнать, что он установил, это порт для кражи: 80?

Вот некоторые команды, которые я пытался: (: 80 не работает, поэтому я просто использовал 80)

$ sudo netstat -an | grep 80 
Password:
tcp46      0      0  *.80                   *.*                    LISTEN
udp6       0      0  fe80::21e:52ff:f.123   *.*                    
udp6       0      0  fe80::1%lo0.123        *.*   

и:

$ lsof -i :80
COMMAND   PID        USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
firefox-b 451 biting_duck   39u  IPv4 0x0ab806b0      0t0  TCP 192.168.0.198:49515->stackoverflow.com:http (ESTABLISHED)
firefox-b 451 biting_duck   40u  IPv4 0x0ab87ec8      0t0  TCP 192.168.0.198:49517->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   41u  IPv4 0x0ab88aec      0t0  TCP 192.168.0.198:49516->pz-in-f95.1e100.net:http (ESTABLISHED)
firefox-b 451 biting_duck   42u  IPv4 0x0ab97334      0t0  TCP 192.168.0.198:49518->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   47u  IPv4 0x0ab87abc      0t0  TCP 192.168.0.198:49519->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   48u  IPv4 0x0ab886e0      0t0  TCP 192.168.0.198:49520->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   50u  IPv4 0x0ab89b1c      0t0  TCP 192.168.0.198:49521->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   51u  IPv4 0x0ab86680      0t0  TCP 192.168.0.198:49522->peak-colo-196-216.peak.org:http (ESTABLISHED)
firefox-b 451 biting_duck   54u  IPv4 0x0ab81ef8      0t0  TCP 192.168.0.198:49523->gravatar.com:http (ESTABLISHED)
firefox-b 451 biting_duck   55u  IPv4 0x0ab82710      0t0  TCP 192.168.0.198:49524->gravatar.com:http (ESTABLISHED)
firefox-b 451 biting_duck   56u  IPv4 0x0ab8a334      0t0  TCP 192.168.0.198:49526->64.34.80.176:http (ESTABLISHED)
firefox-b 451 biting_duck   57u  IPv4 0x0ab812d4      0t0  TCP 192.168.0.198:49525->pv-in-f101.1e100.net:http (ESTABLISHED)

Ответы [ 6 ]

16 голосов
/ 15 сентября 2010

Из того, что вы описываете об ошибках launchd и /private/etc/apache2/httpd.conf, похоже, что копия Apache, установленная с базовой ОС, включена.Проверьте Системные настройки -> Сервисы -> Веб-сервис и отключите его при необходимости.Если он там не включен, попробуйте:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

... и если , что не работает, загляните в / Library / LaunchDaemons, чтобы узнать, было ли что-то ещеустановлено, что запускает системную копию Apache (/usr/sbin/httpd).

3 голосов
/ 17 января 2014

В Max OS 10.1, Mountain Lion отключение apache устранило эту проблему для меня.

sudo apachectl stop
1 голос
/ 15 декабря 2017

Если какой-либо сервис определит, что он будет прослушивать порт 80, launchd зарезервирует его во время начальной загрузки. Это может быть apache, но это может быть и что-то еще. Если у вас нет apache, но есть проблема, попробуйте

cd ~/Library/LaunchAgents
grep -R 80 .
cd /System/Library/LaunchDaemons
grep -R 80 .

На нем должны отображаться агенты, прослушивающие порт 80. Удалите и перезапустите!

1 голос
/ 26 ноября 2014

В OS X установлен встроенный веб-сервер apache, который находится в / etc / apache2.Сообщение «Это работает!» Отображается, когда каким-либо образом запускается веб-сервер Apache. Ниже приведен процесс его остановки / запуска.

sudo apachectl stop
sudo apachectl start

В качестве порта 80 доступа к веб-серверу требуется sudo.

1 голос
/ 06 августа 2013

Убедитесь, что ваши httpd.conf файлы правильные. Это означает: не более 1 «Слушай 80». Если у вас есть Listen 80 (или любой другой порт) более одного раза, это вызовет ошибку привязки.

Надеюсь, это пригодится вам:)

1 голос
/ 14 сентября 2010

Порт MongoDB не устанавливает ничего, что потребовало бы или использует порт 80. Ни одна из его зависимостей.Кроме того, порт MacPorts может захватить порт 80 только при запуске, если он установил демон запуска, но MacPorts не активирует никаких демонов запуска самостоятельно (вы должны сделать это вручную).

Однако, вы можете узнать, какая программа прослушивает определенный порт, выполнив

$ lsof -i :<port>

Например,

$ lsof -i :80

покажет вам программу, прослушивающую порт 80. Это должно сузитьчто захватывает порт.

...