我应该如何设置我的 nginx 配置以使用带有 CNAME 主机记录的子域?

我应该如何设置我的 nginx 配置以使用带有 CNAME 主机记录的子域?

运行 Debian 11。

我应该如何使用 CNAME DNS 记录将子域名添加到我的网站?我的网站目录位于 /var/www/,我想知道是否可以在该目录中为子域名创建一个子目录。

即/var/www/domain-dir/subdomain-dir

我可以在站点可用配置文件中添加子域名 server_name 吗?

我不想创建大量的 A/AAAA 记录来指向我的子域名,因为这可能会变得混乱,因为我以后可能会创建更多的子域名,blog.example.com、git.example.com 等等。

抱歉这篇文章太长了,我是新手,不知道如何让它更简洁!

答案1

nginx 中的实际目录可以是任何内容,您只需要root在子域的虚拟主机中正确设置指令。

我建议为每个虚拟主机设置一个完全独立的目录,例如:

/var/www/example.com
/var/www/sub.example.com

如果目录中有子域文件,则可能会遇到重复内容问题,因为和/var/www/example.com/subdomain中会提供相同的内容。http://sub.example.comhttp://example.com/subdomain

答案2

  1. 将子域名作为条目添加到同一服务器配置文件中,并将子域名指向包含子域名文件的特定文件路径。创建子目录应该可以工作。https://stackoverflow.com/questions/17568981/nginx-two-subdomain-configuration

  2. 使用您的 DNS 提供商更新 cname。

您可以使用 nginx -t 来检查文件中的语法。

相关内容