如何在 nginx 中调试和查找子域的默认文档根目录?

Posted

技术标签:

【中文标题】如何在 nginx 中调试和查找子域的默认文档根目录?【英文标题】:How to debug and find default document root for sub domains in nginx? 【发布时间】:2018-04-09 17:10:34 【问题描述】:

我无法调试nginx 中配置的子域之一的默认文档根目录,我已经尝试了here 中描述的所有有效解决方案。

在nginx版本上运行的Web服务器:nginx/1.10.3

问题是我需要弄清楚,这个 URL http://w.knexusgroup.com/ 或 http://w.knexusgroup.com/index.php 的根目录在哪里打印 1

在/usr/share/nginx/html/index.php我已经写了2。

下面是一些 nginx conf 的 sn-p:

include /etc/nginx/static/*.conf;
include /etc/nginx/saas_clients/*.conf;
index   index.php index.html index.htm;

server 
    listen       80;
    server_name  localhost;
    root         /mnt/codebase/httpdocs/saas;

    location / 
       root   /usr/share/nginx/html;
       index index.php  index.html index.htm;
    

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    location ~ \.php$ 
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
    
    .
    .
    .

nginx -V

nginx版本:nginx/1.10.3

由 gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) 构建

使用 OpenSSL 1.0.1k-fips 构建,2015 年 1 月 8 日

启用 TLS SNI 支持

配置参数:--prefix=/usr/share/nginx

【问题讨论】:

我尝试从这个***.com/a/42815312/1589444 回答,但没有解决我,*.knexusgroup.com 的记录在 54.235.222.119,w3.knexusgroup.com 但它没有记录任何域.knexusgroup.com 。它适用于有正确定义根目录的地方,我无法弄清楚是什么问题,为什么我找不到任何与任何 ngiinx 配置不匹配的子域的根目录。 【参考方案1】:

似乎您已经覆盖了根目录。 调试此类问题的步骤:

    尝试使用 w.knexus 创建 1 个虚拟主机文件。

    重启 nginx。这次它会报告重复条目。 注意不是新创建的配置。 确定配置后,您可以删除新创建的配置。

    查看 conf 的根目录:

    一个。根据位置可能有多个根目录,因此请确保您看到正确的根目录路径。

    b.您可能有代理,因此可能还需要在代理应用程序中进一步调试

干杯

【讨论】:

让我看看你描述的步骤 @Uday Shiwakoli 下次请记住格式,然后再发布您的答案。预览对于这类事情真的很有帮助 @uday-shiwakoti 非常感谢,它帮助我解决了,我创建了一个新服务器,注释了所有启用的配置,它是来自 /etc/nginx/static 的一个文件/*

以上是关于如何在 nginx 中调试和查找子域的默认文档根目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地机器上添加子域

Nginx 如何找到默认根目录

如何在 Virtualmin 子服务器中设置文档根目录?

Nginx默认的根目录是哪里?

如何使子域指向在根目录中安装了 Laravel 的自定义文件夹?

如何使用python在每个域和子域中查找站点地图