我正在开发一个 Web 应用程序,用户将拥有自己的子域来登录和使用该应用程序。我正在为主网站运行 wordpress 来管理公共/前端。我们的应用程序是在 zend 框架中开发的。zf 项目目前位于主服务器上的子文件夹中。
我想将 zend 框架项目放在另一台服务器(不同的 IP)上,并将其与 wordpress 前端 www.domain.com 网站分开。
zf 应用服务器将运行 nginx。我不确定如何设置服务器以严格运行子域。在配置文件中设置虚拟主机没有问题。为用户提供 username.domain.com。但是主默认配置文件呢?由于顶级域在技术上是另一个 IP 上的另一台服务器(wordpress),因此如何配置?
答案1
您只需不要将主域设置为子域服务器上的 nginx vhost,并让 dns 指向旧服务器。
然后为子域名设置 vhost(或根据你的应用程序捕获所有子域名)并将 dns 指向你的子域名服务器
所以我猜测 DNS 看起来应该是这样的:
example.com A 123.456.789.123 www.example.com A 123.456.789.123 sub.example.com A 123.456.789.124 sub2.example.com A 123.456.789.124 等等...
就这么简单,主默认配置文件不需要编辑,事实上,如果您愿意,您可以删除它(虽然我建议保留它并将其服务器名称设置为 localhost 并设置为默认值,以便任何未监听的子域都可以获得默认页面:)
答案2
如果我理解正确,如果您的用户群很少,您可以通过 DNS 进行操作。但为每个用户更改 DNS 仍然很麻烦,而且需要花费传播时间。如果用户群很大,那么您可以选择 domain.com/ 格式,然后使用 PHP 脚本将请求相应地重定向到远程 IP。