Web applications 在同一服务器中部署多个web应用

Web applications 在同一服务器中部署多个web应用,web-applications,Web Applications,我正在考虑使用以下模式在同一台服务器上部署多个(和不同的)web应用程序: www.mydomain.com/app1 www.mydomain.com/app2 这是一种好的做法吗?有什么建议吗?如果应用程序都与域相关,我认为这样做没有问题。我看不出任何明显的理由说明你不应该这样做。毕竟,并非每个网站都只专注于一项任务或应用程序。另一种方法是使用子域,如: app1.mydomain.com app2.mydomain.com 例如,雅虎和谷歌都使用这些。文件夹方法是一种很好的测试方法。该方法

我正在考虑使用以下模式在同一台服务器上部署多个(和不同的)web应用程序:

www.mydomain.com/app1

www.mydomain.com/app2


这是一种好的做法吗?有什么建议吗?

如果应用程序都与域相关,我认为这样做没有问题。

我看不出任何明显的理由说明你不应该这样做。毕竟,并非每个网站都只专注于一项任务或应用程序。另一种方法是使用子域,如:

app1.mydomain.com
app2.mydomain.com


例如,雅虎和谷歌都使用这些。文件夹方法是一种很好的测试方法。

该方法唯一的缺点是,如果任何应用程序最终移动到另一台服务器,则需要进行一些重定向或反向代理,而对于子域,则只需更改movedapp.domain.com的a记录


因此,为了将来证明这一点,我将创建子域。

您没有提到任何技术,但如果您碰巧使用Java实现这一点,web应用程序(默认情况下)将不会共享任何会话信息。如果您希望用户登录到一个web应用程序,同时也登录到另一个web应用程序,则这可能是一个明显的问题

一些容器(Tomcat、Glassfish)具有单点登录功能,可以作为特定于实现的功能使用


我通常的做法是将网站视为服务于单一目的。“Single”实际上定义了一个广泛的目标和使用模式。如果多个应用程序都配合在一起并协同工作以实现站点的单一目的,那么

mydomain.com/app1和mydomain.com/app2相当不错

这意味着它们的存在和生存是为了扩大主站点

如果应用程序彼此之间没有太多关系,并且几乎生活在“自己的世界”中,那么它们可能应该作为自己的子域存在

app1.mydomain.com和app2.mydomain.com


这允许您将DNS策略设置为不同的IP地址(web服务器/服务器场),而不是将它们集中在同一个池中。

一个原因是您希望支持到web服务器的SSL连接

如果使用基于文件夹的方法,则SSL证书没有任何问题

如果使用子域方法(app1.mydomain.com、app2.mydomain.com等),则可能需要更昂贵的通配符SSL证书或多个证书

如果您不需要SSL或只有少数应用程序需要SSL,则这不是问题