【发布时间】:2008-10-21 03:14:15
【问题描述】:
我正在考虑使用以下架构在同一台服务器上部署多个(和不同的)Web 应用程序:
www.mydomain.com/app1
www.mydomain.com/app2
这是一个好习惯吗?有什么建议吗?
【问题讨论】:
标签: web-applications
我正在考虑使用以下架构在同一台服务器上部署多个(和不同的)Web 应用程序:
www.mydomain.com/app1
www.mydomain.com/app2
这是一个好习惯吗?有什么建议吗?
【问题讨论】:
标签: web-applications
我看不出你应该不这样做的任何明显理由。毕竟,并不是每个网站都只专注于一个任务或应用程序。另一种方法是使用子域,例如:
app1.mydomain.com
app2.mydomain.com
例如,雅虎和谷歌都使用这些。不过,文件夹方法是启动和运行测试的好方法。
【讨论】:
一个原因是如果您想支持与您的 Web 服务器的 SSL 连接。
如果您使用基于文件夹的方法,那么 SSL 证书不会有任何问题。
如果您选择子域方法(app1.mydomain.com、app2.mydomain.com 等),您可能需要更昂贵的通配符 SSL 证书,或者多个证书。
如果您不需要 SSL 或很少有需要 SSL 的应用程序,这不是问题。
【讨论】:
这种方法的唯一缺点是,如果任何应用程序最终移动到不同的服务器,您将需要进行一些重定向或反向代理,而对于子域,您只需更改已移动应用程序的 A 记录。域名.com。
因此,为了使其面向未来,我将创建子域。
【讨论】:
如果应用程序都与域相关,我认为这样做没有问题。
【讨论】:
您没有提及任何技术,但如果您碰巧为此使用 Java,则网络应用程序(默认情况下)不会共享任何会话信息。如果您希望用户登录到一个 Web 应用程序并同时登录到另一个 Web 应用程序,这可能会成为一个问题。
某些容器(Tomcat、Glassfish)具有单点登录功能,可用作特定于实现的功能。
该决定的一些后果仅供参考。
【讨论】:
我通常的做法是将网站视为服务于单一目的。 “单一”实际上在这里定义了一个广泛的目标和使用模式。如果多个应用程序都可以组合在一起并协同工作以实现网站的单一目的,那么
mydomain.com/app1 和 mydomain.com/app2 很好。
这意味着它们的存在和存在是为了增加主站点。
如果应用程序彼此之间没有太大关系,并且几乎都生活在它们的“自己的世界”中,那么它们可能应该作为它们自己的子域存在。
app1.mydomain.com 和 app2.mydomain.com
这允许您将 DNS 策略设置为不同的 IP 地址(网络服务器/场),而不是将它们聚集在同一个池中。
【讨论】: