无法在MAC OSX上使用本地主机条目访问新的NGINX服务器

问题描述:

我试图将静态HTML网站移动到也在运行PHP网站的服务器,但在尝试访问时出现以下错误进入我的本地主机项之后的网站:无法在MAC OSX上使用本地主机条目访问新的NGINX服务器

这个网站无法达到

www.example.com的DNS服务器地址无法找到。

这是我的配置文件的/ etc/nginx的/网站可用

server { 
    listen 80; 
    listen [::]:80; 

    server_name www.example.com example.com; 

    autoindex off; 
    index index.html index.php; 

    root /var/www/example/html; 
    access_log /var/www/example/logs/access.log; 
    error_log /var/www/example/error.log; 
} 

我也跑了这些命令:

sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled 
sudo service nginx restart 

而且我已经添加了一个主机条目在我的本地机上以/etc/hosts ??。??? ?? ?? www.example.com ??。?? ?? ?? ?? example.com

当然我还有位于/无功/网络/例子/ HTML满777个权限(现在)和www数据网站的文件:www数据所有权。

UPDATE

我得到在Firefox同样的错误,当我尝试ping该网站,我得到下面,它只是似乎是超时。

ping www.example.com 
PING www.example.com (??.???.??.??): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2 
Request timeout for icmp_seq 3 
Request timeout for icmp_seq 4 
Request timeout for icmp_seq 5 
Request timeout for icmp_seq 6 
Request timeout for icmp_seq 7 
Request timeout for icmp_seq 8 
Request timeout for icmp_seq 9 
Request timeout for icmp_seq 10 
Request timeout for icmp_seq 11 
Request timeout for icmp_seq 12 
Request timeout for icmp_seq 13 
Request timeout for icmp_seq 14 
Request timeout for icmp_seq 15 
Request timeout for icmp_seq 16 
Request timeout for icmp_seq 17 
Request timeout for icmp_seq 18 
Request timeout for icmp_seq 19 
Request timeout for icmp_seq 20 
Request timeout for icmp_seq 21 
Request timeout for icmp_seq 22 
Request timeout for icmp_seq 23 
Request timeout for icmp_seq 24 
Request timeout for icmp_seq 25 
Request timeout for icmp_seq 26 
Request timeout for icmp_seq 27 
Request timeout for icmp_seq 28 
Request timeout for icmp_seq 29 
Request timeout for icmp_seq 30 
Request timeout for icmp_seq 31 
Request timeout for icmp_seq 32 
Request timeout for icmp_seq 33 
Request timeout for icmp_seq 34 
Request timeout for icmp_seq 35 
Request timeout for icmp_seq 36 
Request timeout for icmp_seq 37 
Request timeout for icmp_seq 38 
Request timeout for icmp_seq 39 
Request timeout for icmp_seq 40 
Request timeout for icmp_seq 41 
Request timeout for icmp_seq 42 
Request timeout for icmp_seq 43 
Request timeout for icmp_seq 44 
Request timeout for icmp_seq 45 
Request timeout for icmp_seq 46 
# still going 

我的其他主机项正在工作。

+1

* www.example.com的服务器DNS地址找不到* - 这是一个DNS错误。不是HTTP错误。它与nginx无关。 – Quentin

好的 - 只是要清楚,这不是你的Nginx设置的问题。错误来自您的网络浏览器,它表示它不知道如何去尝试与Web服务器交谈。

你不会说你使用的是什么网页浏览器,但我猜测它是来自错误信息的Chrome。它应该尊重你放入/ etc/hosts的入口,但看起来它没有做。

两个建议:

1)通过打字测试在/ etc/hosts中的条目:

ping www.example.com 

2)尝试不同的网页浏览器,或者完全重新启动浏览器。

请注意,错误消息在某种意义上是正确的 - 您尚未为您的服务器设置DNS条目,因此浏览器无法找到它是合理的。/etc/hosts中的条目应该首先使用 - 但您确定已将其放入运行Web浏览器的计算机上的/ etc/hosts中,不是吗?

+0

谢谢我在FireFox上试过并得到相同的错误。当我尝试ping站点时,我只是不断收到icmp_seq的请求超时。我还应该尝试什么?我的其他主机条目也适用。 – Holly

我不知道如何或为什么这工作,但当我做了以下它开始工作。

首先,我改变了NGINX配置使用IP地址作为服务器名称,以便我可以检查它是否正常工作,而无需使用主机条目:

# server_name www.example.com; 
server_name ??.???.??.??; 

autoindex off; 
#index index.php index.html; 
index index.html; 

它然后工作了,当我去到http://??。???。??。??。

我相信这只是我的本地主机条目中的问题,那么,但当我改变了服务器名称回server_name www.example.com;它的工作,当我去http://www.example.com

只是想我会分享这个,如果它可以有任何帮助的人。