Macports Apache2 "주소에 바인딩할 수 없습니다"

Macports Apache2 "주소에 바인딩할 수 없습니다"

Mac OS X 10.7.4에 apache2를 설치했습니다.맥포트

최근에 localhost 디렉토리에 액세스할 수 없습니다. 404가 표시되지만 127.0.0.1에는 액세스할 수 있습니다.

아파치를 다시 시작해 보았습니다.

sudo /opt/local/apache2/bin/apachectl stop
sudo /opt/local/apache2/bin/apachectl start

다음과 같은 오류가 발생합니다.

(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 [::]:443

웹 공유가 꺼져 있는 것을 확인했습니다. Apache가 이미 이러한 포인트를 사용하고 있거나 서비스가 올바르게 중지되지 않는 것 같습니다.

포트를 사용하는 것이 무엇인지 어떻게 알 수 있습니까?

답변1

"lsof" 쉘 명령은 시스템에서 어떤 프로세스가 어떤 파일과 소켓 주소를 사용하고 있는지 정확하게 알려줍니다. 그냥 시도해 보세요

sudo lsof

또는 출력이 많이 나오므로 더 좋습니다.

sudo lsof | less

http 포트에서 뭔가를 찾아보세요. 평소처럼

man lsof

출력을 사용자 정의하는 방법에 대한 자세한 정보를 제공합니다.

답변2

참고로 Mountain Lion 10.8.2에서는 apache2 서비스를 중지하는 것만으로도 효과가 있었습니다.

sudo apachectl stop

그렇게 하면 httpd 프로세스가 다시 시작되지 않고 Macports apache2 서버가 그 후에 정상적으로 시작됩니다.

답변3

Mojave(10.14.1)가 설치된 Mac에서 갑자기 Apache가 더 이상 IPv4를 제공할 수 없어 오류 403이 발생했습니다. 모든 Apache( )를 종료하려고 했습니다 sudo killall httpd... PID를 확인하는 중입니다.

sudo lsof | grep AMP | grep apache

작동하지도 않았습니다... IPv6만 사용할 수 있었습니다... 여전히 오류 403

나에게 맞는 방법: macOS의 내장 Apache 서버를 비활성화합니다.

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

이후:

sudo apachectl -k restart

행복해요 :)

관련 정보