Eri*_*ric 4 virtual hosts meteor
Meteor如何处理多个虚拟主机?
www.Some-Client-Domain.com - > www.Our-CName-URL.com - > Meteor app.
我们需要Meteor应用程序提供相同的站点/应用程序,但需要特定于所请求的原始URL的数据(Some-Client-Domain.com).
在我们当前的原型中,我们在Rails前面有NGINX,并且有几种不同的方法可以做到这一点,包括将NGINX连接到数据库以获取MANY虚拟主机的定义.这很好用,因为如果新客户注册,我们可以更新数据库,然后NGINX立即知道该虚拟主机,而无需进一步的NGINX配置.
如何在Meteor中完成?
谢谢!
好吧,如果你现在只是忽略SSL(或者想稍后自己想出SSL),下面的指南应该有效:
..是使用不同的数据库(mongo,通常情况)生成相同应用程序的多个实例,具体取决于基本URL.
我们将对虚拟主机使用以下设置:
www.example1.com
3000mongodb://localhost:27017/example1www.example2.com
3001mongodb://localhost:27017/example2meteor实例安装foreman途径rubygems:
foreman Procfile在meteor项目目录中创建一个文件.使用上面的数据(不包括子弹:D):
web1: ROOT_URL=http://www.example1.com/ PORT=3000 MONGO_URL=mongodb://localhost:27017/example1 meteorweb2: ROOT_URL=http://www.example.com/ PORT=3001 MONGO_URL=mongodb://localhost:27017/example2 meteor- 或 - 如果您使用的meteor bundle版本:
web1: ROOT_URL=http://www.example1.com/ PORT=3000 MONGO_URL=mongodb://localhost:27017/example1 node bundle/main.jsweb2: ROOT_URL=http://www.example2.com/ PORT=3001 MONGO_URL=mongodb://localhost:27017/example2 node bundle/main.js然后,您可以foreman start直接在同一目录上运行(&在末尾添加一个发送到后台).或者您可以将其安装为服务/ upstart脚本foreman export(这可能因其他Linux发行版而异,请参阅Foreman文档:http://ddollar.github.io/foreman/):
sudo foreman export --app meteors --user <meteor files owner> upstart /etc/init从现在开始,nginx的配置现在应该非常简单:
server {
listen 80;
server_name www.example1.com example1.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
server_name www.example2.com example2.com;
location / {
proxy_pass http://localhost:3001;
proxy_set_header X-Real-IP $remote_addr;
}
}
Run Code Online (Sandbox Code Playgroud)
让我知道这是否适合你,虽然你提到你已经使用过SilkJS,但我会把这个留给其他对解决方案感兴趣的人.