在同一服务器中部署多个Web应用程序

时间:2008-10-21 03:14:16

标签: web-applications

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

www.mydomain.com/app1

www.mydomain.com/app2

这是一个好习惯吗?有什么建议吗?

6 个答案:

答案 0 :(得分:4)

我没有看到为什么这样做的明显原因。毕竟,并非每个网站都专注于单个任务或应用程序。另一种方法是使用子域,例如:

app1.mydomain.com
app2.mydomain.com

例如,雅虎和谷歌都使用这些。文件夹方法是一种很好的方法,可以开始运行以进行测试。

答案 1 :(得分:2)

一个原因是您希望支持与Web服务器的SSL连接。

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

如果你选择子域方法(app1.mydomain.com,app2.mydomain.com等),你可能需要一个更昂贵的通配符SSL证书,或者需要多个证书。

如果您不需要SSL或几乎没有需要SSL的应用程序,则不会出现问题。

答案 2 :(得分:1)

这种方法的唯一缺点是,如果任何应用程序最终移动到不同的服务器,您将需要进行一些重定向或反向代理,而使用子域,您只需要更改movingapp的A记录。 domain.com。

因此,为了使其面向未来,我将创建子域。

答案 3 :(得分:0)

如果应用程序都与域名相关,我认为以这种方式做事情没有问题。

答案 4 :(得分:0)

您没有提及任何技术,但如果您恰好使用Java,则Web应用程序(默认情况下)将不会共享任何会话信息。如果您希望用户登录到一个Web应用程序并登录到其他Web应用程序,这可能会成为一个问题。

某些容器(Tomcat,Glassfish)具有单点登录功能,可用作特定于实现的功能。

仅仅是该决定的一些后果的一个FYI。

答案 5 :(得分:0)

我通常的做法是将网站视为单一用途。 “单一”实际上定义了一个广泛的目标和使用模式。如果多个应用程序全部融合在一起并协同工作,那么

mydomain.com/app1和mydomain.com/app2非常好。

这意味着他们存在并活着来扩充主要网站。

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

app1.mydomain.com和app2.mydomain.com

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