masalah mengakses localhost di Mac OS X Mavericks ... itu berfungsi dengan baik sampai saya reboot hari ini


16

Saya bingung tentang masalah yang saya hadapi dan akan sangat menghargai bantuan untuk menyelesaikannya.

Saya memiliki iMac yang menjalankan Mac OS X Mavericks 10.9.2

Saya telah menyiapkan apache saya untuk melayani dokumen dari root server / Volume / situs /

Saya menggunakan host Virtual Dinamis, jadi hanya dengan menambahkan direktori dengan akhiran * .dev, itu menjadi host virtual.

File host saya cukup mendasar:

##
# 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

File httpd-vhosts.conf saya adalah sebagai berikut:

#
# 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/

Ini semua berhasil. Dan saya belum mengubah apa pun di file httpd.conf saya.

Namun saya tidak dapat memuat localhost

Saya juga tidak dapat memuat 127.0.0.1

Saya menjalankan perintah sudo lsof -i :80 | egrep "PID|LISTEN"untuk melihat apakah ada PID yang mendengarkan pada port 80. Hasilnya kosong.

Saya telah mencoba untuk me-restart apache dan juga untuk berhenti dan kemudian mulai menggunakan apache

sudo apachectl stop sudo apachectl start

sudo apachectl restart

Tidak ada yang berhasil.

Saya memeriksa apakah apache berjalan dengan mengeluarkan perintah httpd -v

Pengembaliannya adalah:

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

Saya mencoba untuk terhubung ke localhost dan 127.0.0.1 melalui baris perintah dengan hasil sebagai berikut:

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 ~

Tolong bantu.


Apa yang Anda lakukan dengan masalah ini, karena saya mengalami hal yang persis sama di sini :(
Pmpr

Jawaban:


38

Punya masalah yang sama. Saya menghapus salah satu folder proyek saya dan menjadi rusak. Dalam hal ini konfigurasi situs harus dihapus dari httpd-vhosts.conf dan httpd.conf.

Mencoba ping 127.0.0.1

apachectl configtest dapat membantu Anda mendeteksi masalah.


7
Benar sekali, apachectl configtestperlu menjadi percobaan pertama Anda! Terima kasih.
Lucas Serafim

Peringatan: DocumentRoot [/ Users / me / blah / blah] tidak ada, Anda dapat dengan cepat menemukan garis yang menyinggung dengansudo cd / && grep -rn "/Users/me/blah/blah" *
Shanimal

4

Masalahnya mungkin bahwa file host mungkin telah rusak dari penyandian ASCII asli. Saya membersihkan semua spasi dan meletakkan tab di dalamnya, berlari sudo killall -HUP mDNSResponder(Anda bisa melakukan itu daripada me-reboot) dan setelah itu, berhasil.


1
Ya, /etc/hostsrusak - duplikat baris, beberapa ruang di mana dulu ada tab ... sekarang untuk mencari tahu bagaimana itu terjadi ....
LeeGee

3

Dalam kasus saya, masalahnya adalah folder / private / var / log / apache2 / hilang karena alasan yang tidak diketahui. Rekreasi dengan

sudo mkdir /private/var/log/apache2

dan mulai ulang apache dengan

sudo apachectl restart

membuat trik!


2

Koneksi yang ditolak biasanya disebabkan oleh server yang tidak mendengarkan port.

Kesalahan sintaks atau kesalahan file konfigurasi umum akan mematikan apache saat startup (biasanya tanpa melaporkan ke log kesalahan atau terminal).

Coba jalankan sudo apachectl configtestdan lihat apakah itu menghasilkan pesan kesalahan.


-1

Ini spesifik untuk Mac. Pertama, Anda harus mengaktifkan Berbagi Web. Untuk Maveric dapat dilakukan seperti dalam tutorial ini. https://www.youtube.com/watch?v=TgiZiTU9JVY Kedua, untuk Mac lalu lintas jika difilter melalui pfctl (yaitu man pfctl) di Maveric dan ipfw (man ipfw) untuk versi Mac OS yang lebih lama jika Anda membutuhkan lebih dari port 80


Jawaban tentang Tanya yang berbeda harus lebih dari sekadar tautan. Tidak apa-apa untuk memasukkan tautan, tapi tolong rangkum atau kutip dalam jawabannya. Idenya adalah untuk membuat jawabannya berdiri sendiri.
nohillside

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.