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

时间:2016-10-03 10:33:09

标签: macos nginx host

我正在尝试将静态HTML网站移动到也运行PHP网站的服务器,但是当我在输入本地主机条目后尝试访问该网站时出现以下错误:

  

无法访问此网站

     

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

这是我的配置文件 / etc / nginx / sites-available

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

当然,我的网站文件位于 / var / www / example / html ,拥有完整的777权限(目前为止)和www-data:www-data ownership。

更新

我在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

我的其他主持人条目正在运作。

2 个答案:

答案 0 :(得分:0)

好的 - 只是为了清楚,这不是你的Nginx设置的问题。该错误来自您的网络浏览器,并且它说它不知道如何尝试与网络服务器通信。

您没有说出您正在使用的是什么网络浏览器,但我猜测它是错误消息中的Chrome。它应该尊重您放入/ etc / hosts的条目,但它似乎没有。

两个建议:

1)输入以下内容测试/ etc / hosts中的条目:

ping www.example.com

2)尝试使用其他网络浏览器,或完全重新启动Chrome。

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

答案 1 :(得分:0)

我不知道这是如何或为何有效,但当我做了以下工作时,它开始工作。

首先,我更改了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

我想如果对某人有任何帮助我会分享这个。