Mac OS X Mavericks에서 로컬 호스트에 액세스하는 데 문제가 있습니다… 오늘 재부팅 할 때까지 제대로 작동했습니다.


16

나는 내가 겪고있는 문제에 당황하고 있으며 그것을 해결하는 데 도움을 주셔서 감사합니다.

Mac OS X Mavericks 10.9.2를 실행하는 iMac이 있습니다.

서버 루트 / Volume / sites /에서 문서를 제공하도록 아파치를 설정했습니다.

동적 가상 호스트를 사용하고 있으므로 * .dev 접미사가있는 디렉토리를 추가하기 만하면 가상 호스트가됩니다.

내 호스트 파일은 매우 기본적입니다.

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1         localhost
255.255.255.255   broadcasthost
::1               localhost
fe80::1%lo0       localhost

내 httpd-vhosts.conf 파일은 다음과 같습니다.

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

#allow access to the Hosts directory where your sites are
<Directory "/Volumes/sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    #you could configure the following to only allow access from localhost
    Order allow,deny
    Allow from all
</Directory>

#get the server name from the Host: header
UseCanonicalName Off
VirtualDocumentRoot /Volumes/sites/%0/

이 모든 것이 효과가있었습니다. 그리고 내 httpd.conf 파일에서 아무것도 변경하지 않았습니다.

그러나 localhost를로드 할 수 없습니다

127.0.0.1도로드 할 수 없습니다

sudo lsof -i :80 | egrep "PID|LISTEN"포트 80에서 수신 대기중인 PID가 있는지 확인하기 위해 명령 을 실행했습니다 . 결과가 비어있었습니다.

나는 아파치를 다시 시작하려고 시도하고 또한 중지하고 아파치를 사용하여 시작했다.

sudo apachectl stop sudo apachectl start

sudo apachectl restart

아무것도 작동하지 않습니다.

명령을 실행하여 아파치가 실행 중인지 확인했습니다. httpd -v

그 결과는 다음과 같습니다.

Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

커맨드 라인을 통해 localhost와 127.0.0.1에 연결하려고 시도한 결과는 다음과 같습니다.

alisamii at alisamii in ~
$ 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
alisamii at alisamii in ~
$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ lynx http://localhost

Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://localhost/
alisamii at alisamii in ~
$ lynx http://127.0.0.1

Looking up 127.0.0.1
Making HTTP connection to 127.0.0.1
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://127.0.0.1/
alisamii at alisamii in ~

도와주세요.


내가 여기서 정확히 똑같은 일을 경험
하면서이

답변:


38

같은 문제가 있었다. 프로젝트 폴더 중 하나를 삭제했는데 폴더가 손상되었습니다. 이 경우 사이트 구성을 httpd-vhosts.conf 및 httpd.conf에서 제거해야합니다.

시험 ping 127.0.0.1

apachectl configtest 문제를 감지하는 데 도움이 될 수 있습니다.


7
절대적으로 맞습니다. apachectl configtest첫 번째 시도가 필요합니다! 감사.
Lucas Serafim

경고 : DocumentRoot에 [/ 사용자 / 날 / ㅋ / ㅋ] 존재하지 않는 신속로 잘못된 라인을 찾을 수 있습니다sudo cd / && grep -rn "/Users/me/blah/blah" *
Shanimal

4

호스트 파일이 원래 ASCII 인코딩으로 손상되었을 수 있습니다. 모든 공간을 지우고 탭을 넣고 실행 sudo killall -HUP mDNSResponder한 다음 다시 부팅하는 대신 작업을 수행했습니다.


1
네, /etc/hosts손상되었습니다. 중복 된 줄, 한 번 탭이 있던 공간 ... 이제 어떻게 된 일인지 알아 내기 위해 ...
LeeGee

3

필자의 경우 문제는 / private / var / log / apache2 / 폴더가 알 수없는 이유로 누락 된 것입니다. 그것으로 다시 만들기

sudo mkdir /private/var/log/apache2

와 아파치를 다시 시작

sudo apachectl restart

트릭을 만들었습니다!


2

거부 된 연결은 일반적으로 포트를 수신하지 않는 서버에 의해 발생합니다.

구문 오류 또는 일반 구성 파일 오류는 시작할 때 (일반적으로 오류 로그 나 터미널에보고하지 않고) 아파치를 죽입니다.

실행 해보고 sudo apachectl configtest오류 메시지가 출력되는지 확인하십시오.


-1

Mac 전용입니다. 먼저 웹 공유를 활성화해야합니다. Maveric의 경우이 자습서에서와 같이 수행 할 수 있습니다. https://www.youtube.com/watch?v=TgiZiTU9JVY 둘째, Mac의 경우 포트 이상이 필요한 경우 Maveric에서 pfctl (예 : man pfctl)을 통해 필터링되고 이전 버전의 Mac OS에서 ipfw (man ipfw)를 통해 필터링 된 경우 트래픽 80


Ask Different에 대한 답변은 단순한 링크 그 이상이어야합니다. 링크를 포함해도 괜찮지 만 답변에 요약하거나 발췌하십시오. 아이디어는 독립형으로 만드는 것입니다.
nohillside

-2

쿼리에 도움이 될 수 있습니다. http://mallinson.ca/web-development-with-mavericks/


링크를 게시하는 대신 쿼리에 대한 답변을 설명하십시오.
Jash Jacob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.