多个Meteor应用程序、多个子域、共享数据库
我正在开发一个电子学习平台,并决定最好将网站分为三个部分(每个部分都有自己的meteor应用程序)。这三个部分是:多个Meteor应用程序、多个子域、共享数据库,meteor,subdomain,iron-router,Meteor,Subdomain,Iron Router,我正在开发一个电子学习平台,并决定最好将网站分为三个部分(每个部分都有自己的meteor应用程序)。这三个部分是: 营销网站(www.nvqhq.com) 未登录时自动从其他子域重定向到此 包含所有用户注册和电子邮件/组织验证页面 有所有面向公众的页面,如隐私政策等 管理员网站(Admin.nvqhq.com) 仅当以管理员/超级管理员身份登录时才可访问 学习者网站(Learner.nvqhq.com) 仅当作为学习者登录时才可访问 根据iron router的说法,没有子域路由
- 营销网站(www.nvqhq.com)
- 未登录时自动从其他子域重定向到此
- 包含所有用户注册和电子邮件/组织验证页面
- 有所有面向公众的页面,如隐私政策等
- 管理员网站(Admin.nvqhq.com)
- 仅当以管理员/超级管理员身份登录时才可访问
- 学习者网站(Learner.nvqhq.com)
- 仅当作为学习者登录时才可访问
创建此类应用程序的推荐方法是什么?或者,我是否可以更好地保留当前使用/admin/learner的整个应用程序。我反对此解决方案,因为它会导致代码库迅速变大(如果hasRole'admin'类型代码,则会有大量
代码),为了尽可能保证应用程序的安全,我喜欢完全订阅和发布的想法。在meteor前面设置nginx代理,将子域路由到同一位置的。因此,它实际上是同一个应用程序,但对用户来说,它看起来不像它
该配置的http部分如下所示:
http {
server {
listen 80;
server_name nvqhq.com;
location / {
proxy_pass http://localhost:3000/marketing;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
server {
listen 80;
server_name admin.nvqhq.com;
location / {
proxy_pass http://localhost:3000/admin;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
server {
listen 80;
server_name learners.nvqhq.com;
location / {
proxy_pass http://localhost:3000/learners;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
}
在此设置中,默认情况下,登录可能仅适用于/营销级别。因此,您可能必须更改meteor中会话cookie设置的域
但是首先尝试运行此安装程序
根据iron router问题223,没有子域路由选项,因此我将无法使用公共路由文件为所有三个子域提供服务
至少有一个简单的方法来处理这一部分。您只需要创建一个包含公共路由的本地共享包
记住并将PACKAGE\u DIRS
变量设置为指向您的共享软件包文件夹,然后您可以使用通常的meteor add myshared:PACKAGE
方式将软件包添加到两个应用程序中
注释
像你一样,我将大型应用程序分解为小型微型应用程序。虽然这是一项很好的技术,但它会立即产生如何访问共享组件的问题,如路由、模板、设计资产、集合等。要解决这个问题,我会根据我的模式构建我的应用程序,我会彻底推荐
这意味着我的应用程序完全由智能软件包组成,每个软件包实现与单个功能相关的特定于应用程序的功能,如果需要,还包括路由
文件。我还拥有一个共享功能包库,这些功能包实现了每个功能的通用、可重用部分,如果需要,还可以使用它们自己的路由
文件
单片路由文件和Meteor.IsClient
,Meteor.IsServer
交换机的日子一去不复返了