Nginx 服务器块不工作? - 已经在运行其他虚拟主机,但只有这一个不工作

Nginx 服务器块不工作? - 已经在运行其他虚拟主机,但只有这一个不工作

我运行的是 Debian 6 LEMP 服务器,它有多个虚拟主机,大约 5 个站点运行正常。但我刚刚尝试添加另一个,但不知为何就是不起作用。我所说的不起作用是指在 Chrome 中我收到“哎呀!Google Chrome 无法连接到 subdomain.domain.net”错误。

出于安全考虑,我已将域名更改为子域名.example.com并且 IP 已被屏蔽。

Hosts 文件(我有多个子域):

xxx.xxx.xx.xxx *.example.com *.example

服务器块:

server {
    listen 80;
    server_name     subdomain.example.com;

    access_log      /srv/www/subdomain.example.com/logs/access.log;
    error_log       /srv/www/subdomain.example.com/logs/error.log;
    root            /srv/www/subdomain.example.com/public_html;

    location / {
        index       index.html index.htm index.php;
    }

    location ~ \.php$ {     
        include         fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }
}

我已经创建了指向目录中文件的系统链接/etc/nginx/sites-enabled/并重新启动/重新加载了 nginx。

DNS 似乎很好:

# ping -c 2 subdomain
PING subdomain.example.com (xxx.xxx.xx.xxx) 56(84) bytes of data.
64 bytes from www.example.com (xxx.xxx.xx.xxx): icmp_req=1 ttl=64 time=0.035 ms
64 bytes from www.example.com (xxx.xxx.xx.xxx): icmp_req=2 ttl=64 time=0.048 ms

使用 cURL 检查文件是否有效:

# curl http://subdomain.example.com
HTML - OK

清空了浏览器缓存,但仍然没有结果。

我遗漏了什么吗?正如我提到的,我目前在服务器上运行着几个网站,所以 php-fpm 等都运行正常。任何帮助都将不胜感激!

干杯,

戴夫

答案1

由于您没有提供足够的信息,因此很难为您提供帮助...但我还是会尝试一下

  • hosts 文件不支持屏蔽,因此您不能在 hosts 文件中使用“*.”
  • 您执行的 ping 命令来自哪里?服务器还是客户端?
  • 对于 curl 使用 -v 检查你的主机/IP
  • 你的 chrome 是否启用了某种代理?这可能会路由到你期望的路径。

答案2

为我设置域名的人将其指向错误的服务器 IP,所以这就是问题所在。

小学生的错误,很抱歉打扰了大家!

顺便提一下,hosts 文件中的 *.domain.com 引用确实有效。

相关内容