OS X Yosemite에서 작동하지 않는 localhost


11

Mac의 로컬 아파치 서버가 실행 중입니다. localhost를 방문하면 표준 "It Works"페이지가 표시됩니다."작동"페이지가 캐시되었습니다. 실제로 127.0.0.1과 동일합니다. 그러나 127.0.0.1을 방문하면 크롬이 제공합니다 Error code: ERR_CONNECTION_REFUSED. 그래서 나는을 달렸다 telnet. 결과:

harryg$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host

그러나 scutil이것을 제공합니다 :

harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address

왜 작동하지 않는지 아십니까? 아파치는 다른 포트에서 듣고 있습니까? 그렇다면 어떻게 확인합니까? .dev호스트 파일에 추가 한 일부 로컬 가상 호스트가 액세스 할 수있는 로컬 vhost가 있습니다 . 예를 들어 127.0.0.1 home.dev위의 오류도 발생합니다.

편집하다

포트 80에서 아무것도 수신하지 않는 것 같습니다. 실행할 때 sudo lsof -iTCP:80 -sTCP:LISTEN출력이 없습니다. 아파치가 실행되고있는 것 같습니다- apachectl여러 번 재시작 을 실행 했습니다.


웹 공유가이 도구와 작동하는지 확인할 수 있습니까? clickontyler.com/web-sharing
siniradam

당신 localhost은 완벽하게 잘 작동하고 있습니다. 아파치는 아닙니다. 이 사실을 나타내도록 질문을 업데이트하고 Apache 구성 및 관련 로그 파일의 관련 비트를 포함하는 것을 잊지 마십시오.
Daniel B

비슷한 문제가 있었고 그것을 해결할 수있었습니다 : stackoverflow.com/questions/26454160/…
Xaver

Mavericks / Yosemite에서이 작업을 수행하는 일반적인 방법은 포트 80에서 포트 8080으로 포트 포워드 하는 것입니다. pfctl을 사용하여이를 설정하는 방법에 대한 예는 gist.github.com/mindw0rk/dcc6c02a92b49bde0f13참조한 다음 사용하도록 Apache 구성을 변경하십시오. 8080을 들어보십시오. 포트 80에 연결하면 트래픽이 아파치로 전달됩니다. (우리의 dev 상점에서는 모두 nginx를 제외하고
모두이

답변:


11

이 명령으로 Apache 설정을 확인하십시오.

sudo apachectl -t

구성 파일을 테스트하고 오류가 있는지 알려줍니다. 실행으로 sudo apachectl start인해 구성 파일 구문 오류가 로그에 출력되지 않습니다.


동일한 문제가 여기에 있습니다. sudo apachectl -t을 반환합니다 Syntax OK. 그럼 뭐야?
Pmpr

2

이 명령은 Apache가 수신하는 포트 및 IPv (4/6) 주소를 알려줍니다.

sudo lsof -P -n -iTCP -sTCP:LISTEN | grep httpd

듣는 것이 없다면, 이것으로부터 무엇을 얻습니까?

sudo serveradmin status web
sudo serveradmin settings web
ps -acx | grep http

.

마지막 수단 :

sudo serveradmin stop web

Console.app을 열고 책갈피를 배치하십시오

sudo serveradmin start web

로그 확인


Apache가 전혀 시작되지 못하게하는 구성 파일 문제가있었습니다! 캐시 된 페이지는 로컬 호스트가 아닌 로컬 호스트에서는 실행되고 있다고 믿었습니다.
harryg

좋아, serveradmin 트리거 httpd, 일반적으로 시작 로그를 생성합니다. 문제를 해결할 수 있었습니까? 오류 메시지 plz는 무엇입니까 (다른 회원의 경우)?
Florian Bidabe

그래 해결되었습니다. Apache vhosts 모듈의 주석 처리를 잊어 버렸으므로 Apache가 VirtualDocumentRoutevhosts 구성 파일에서 보았을 때 오류가 발생했습니다 .
harryg

2
harryg, 당신이 기회를 얻는다면 상태를 해결로 업데이트하십시오.
Florian Bidabe

아파치를 시작할 때이 문제와 자동 실패가 발생했습니다. 구성의 구문 오류로 인해 로그에 아무것도 없습니다. 이 명령은 그것을 표면화했다 :sudo apachectl -t
Matt Gibson

0

기본 포트는 8080이라고 생각하지만 Apache가 수신 대기중인 포트에 대해서는 httpd.conf 파일을 확인할 수 있습니다.


8080이 작동하지 않고 구성 파일에 Listen 80이 있습니다.
harryg

아마도 "ps aux"로 Apache가 실행되고있는 것을 볼 수 있습니까? 또한 오류 로그에 아무것도 표시됩니까? 기본 위치는해야한다은 / var / / 아파치 / error_log에 로그

출력은 netstat -tulpn | grep :80무엇입니까?
sardean
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.