这似乎是一个简单的问题,但经过一些谷歌search,我似乎无法find答案。
我有一个登台服务器,我想尽可能模仿生产服务器。 假设我拥有example.com并决定使用blog.example.com托pipe博客。 我希望能够在使用暂存地址blog.stage.example.com将其推送到生产之前对博客进行blog.stage.example.com 。 我宁愿这样做比购买另一个域,如stage-example.com或使用命名约定,如blog-stage.example.com 。
很显然,我想让blog.stage.example.com指向在临时环境(例如IP 1.1.1.1)上运行的服务器,而blog.example.com指向在生产环境中运行的服务器(例如IP 2.2 2.2)。
我使用Nginx作为我的networking后端,并将Gandi作为托pipe提供商pipe理我的DNS区域文件。
是否可以使用多级子域configuration我的域名? 或者,我是否坚持命名约定,如blog-stage.example.com ? 或者,也许有一个更好的方法来pipe理这个我不知道的?
如果可能的话,DNS区域文件是什么样的?
最后,如果可能的话,Nginxconfiguration文件将是什么样的?
子域和托pipe是有点不明确,你最好的问他们,如果他们支持这样的事情。 定义一个有多个标签的Alogging是很有可能的。 例如,你可以把它放在example.com的DNS区域中:
blog.stage 1.1.1.2 blog 1.1.1.1
它可能工作。 绑定DNS确实支持这种事情,但无论您的托pipe服务提供商是否允许您这样做,完全是另一回事。
一个更好的计划是使用博客以外的东西。
betablog 1.1.1.2 blog 1.1.1.1
因为这很可能得到你的提供者的支持。
对于Nginx来说,我没有足够的家族来提供多个虚拟主机的例子。
你的nginx虚拟主机将如下所示:
server { listen 1.1.1.1:80; server_name blog.stage.example.com; [...] } server { listen 2.2.2.2:80; server_name blog.example.com; [...] }
这假定您可以将两个IP地址分配给您的Web服务器。 通过以上configuration,一台虚拟服务器将绑定到1.1.1.1:80,并响应blog.stage.example.com,另一台服务器将绑定到2.2.2.2:80,并响应blog.example.com。 设置DNS将取决于您的DNS如何pipe理,但它应该是可行的。
正确答案来自@ sysadmin1138和@cjc:
Nginxconfiguration
你的nginx虚拟主机将如下所示:
server { listen 1.1.1.1:80; server_name blog.stage.example.com; [...] } server { listen 2.2.2.2:80; server_name blog.example.com; [...] }
这假定您可以将两个IP地址分配给您的Web服务器。 通过以上configuration,一台虚拟服务器将绑定到1.1.1.1:80,并响应blog.stage.example.com,另一台服务器将绑定到2.2.2.2:80,并响应blog.example.com。 设置DNS将取决于您的DNS如何pipe理,但它应该是可行的。
DNS
子域和托pipe是有点不明确,你最好的问他们,如果他们支持这样的事情。 定义一个有多个标签的Alogging是很有可能的。 例如,你可以把它放在example.com的DNS区域中:
blog.stage 1.1.1.2 blog 1.1.1.1
它可能工作。 绑定DNS确实支持这种事情,但无论您的托pipe服务提供商是否允许您这样做,完全是另一回事。
一个更好的计划是使用博客以外的东西。
betablog 1.1.1.2 blog 1.1.1.1
因为这很可能得到你的提供者的支持。
对于Nginx来说,我没有足够的家族来提供多个虚拟主机的例子。