javascript – 创建在单个服务器上运行的meteor.js应用程序的多个实例所需的主要步骤是什么?

前端之家收集整理的这篇文章主要介绍了javascript – 创建在单个服务器上运行的meteor.js应用程序的多个实例所需的主要步骤是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我设计了一个meteor.js应用程序,它在localhost上工作得很好,甚至在部署到互联网时也是如此.现在我想创建一个注册站点,该站点将为在后端注册的每个客户端启动应用程序的新实例.假设一个meteor.js应用程序和 pythonjavascript用于注册站点,需要采取哪些高级步骤来实现这一点?

我正在寻找一个更正确和完整的答案,采取我想象不到的版本的形式:

>使用类似node或python的东西来调用可能或不可能以sudo身份运行的shell脚本
>该脚本可能会创建一个新文件夹来保存特定于实例的内容(如客户端文件,配置和/或实例数据库).
>脚本或python代码会将应用程序的实例部署到该文件夹​​和特定端口
> Python可能会将配置信息添加到像Pound这样的工具,以将子域转发到端口
>其他事情……!?

我真的不明白这里需要采取的高级步骤,所以如果有人可以提供这些步骤,甚至可能提供一些有用的工具或教程,我将非常感激.

解决方法

首先我要说的是,我认为启动同一个应用程序的多个实例是一个糟糕的设计选择.如果是一个止损措施,这就是我的建议:

>创建可以轻松部署的存档. (捆绑应用程序,必要时重新安装光纤,重新压缩).使用脚本创建新实例时,将存档部署(解压缩)到新文件夹.
>创建init脚本的模板并使用forever或daemonize或jesus等在重新启动时启动站点并在正常操作期间保持站点正常运行.有关示例,请参见Meteor deploying to a VM by installing meteorHow does one start a node.js server as a daemon process?.部署新实例时,使用新值(即端口号,数据库名称,文件夹)填充模板.将填写的模板复制到init.d并链接到运行级别.或者,在init.d中创建一个脚本,执行其他脚本以启动站点.
>每个实例都应该监听自己的端口,因此您需要一个反向代理.更改配置时,AFAIK,Apache和Nginx需要重新启动,因此您可能希望查看Hipache https://github.com/dotcloud/hipache.Hipache使用redis存储配置信息.添加新实例需要向redis添加密钥.有一个实验性的Hipache端口,它将功能带到了Nginx https://github.com/samalba/hipache-nginx

那么DNS更新呢?创建新实例后,是否需要在DNS配置中添加新记录?

猜你在找的JavaScript相关文章