好吧,如果您现在只是忽略 SSL(或者以后想自己弄清楚 SSL),那么下面的指南应该可以工作:
基本思想
.. 是根据基本 URL 生成具有不同数据库(mongo,通常情况下)的同一应用程序的多个实例。
我们将为虚拟主机使用以下设置:
- 网站#1:
www.example1.com
- 流星端口:
3000
- MongoDB端点/网址:
mongodb://localhost:27017/example1
- 站点#2:
www.example2.com
- 流星端口:
3001
- MongoDB端点/网址:
mongodb://localhost:27017/example2
准备meteor
实例
foreman
通过安装rubygems
:
在您的流星项目目录中创建一个foreman
Procfile
文件。使用上面的数据(不包括项目符号:D):
web1: ROOT_URL=http://www.example1.com/ PORT=3000 MONGO_URL=mongodb://localhost:27017/example1 meteor
web2: 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.js
web2: ROOT_URL=http://www.example2.com/ PORT=3001 MONGO_URL=mongodb://localhost:27017/example2 node bundle/main.js
然后您可以foreman start
直接在同一目录上运行(&
在末尾添加一个以发送到后台)。或者您可以通过以下方式将其安装为服务/新贵脚本foreman export
(对于其他 linux 发行版,这可能会有所不同,请参阅 Foreman 文档:http ://ddollar.github.io/foreman/ ):
sudo foreman export --app meteors --user <meteor files owner> upstart /etc/init
准备 nginx
从这里开始,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;
}
}
让我知道这是否适合您,尽管您提到您已经使用 SilkJS,但我将把它留在这里,供其他对解决方案感兴趣的人使用。