2016-09-23 125 views
2

是否可以在一个节点(计算机)内运行多个deepstream.io服务器实例? 每个实例将监听不同的端口,存储在不同的存储器中,等等。 用例是指一个实例用于生产,其他用于分段 - 生产和分段使用不同的MongoDB数据库进行存储。一个节点内的多个deepstream.io服务器实例

回答

3

当然,确保在启动时将它们指向两个不同的配置文件。以下是它的工作原理AWS的Linux:

安装deepstream

sudo wget https://bintray.com/deepstreamio/rpm/rpm -O /etc/yum.repos.d/bintray-deepstreamio-rpm.repo 
sudo yum install -y deepstream.io 

复制许可文件和配置文件

cp /etc/deepstream/config.yml config-dev.yml 
cp /etc/deepstream/config.yml config-prod.yml 
cp /etc/deepstream/permissions.yml permissions.yml 

变化的两个版本的端口(和其他任何你需要)在配置文件

vim config

然后开始b与

deepstream start -c config-dev.yml 
deepstream start -c config-prod.yml 

导致

enter image description here

为了更好地处理在同一台机器上运行多个deepstream进程OTH,我建议使用的工具,像PM2

其基于节点的,所以你可以在AWS上安装它

curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash - 
sudo yum -y install nodejs 
sudo npm install -g pm2 

现在可以如下

pm2 start --name ds-dev deepstream -- start -c ~/config-dev.yml 
pm2 start --name ds-prod deepstream -- start -c ~/config-prod.yml 

导致

PM2 output

PM2允许使用它们的ID,例如容易开始/结束/重启/监视单个进程中运行具有不同配置的多个进程pm2 stop 0并跟踪您的日志,重新启动进程等...

+0

如何停止特定实例?如果我运行“深度停止”,它会停止稍后启动的实例。 – mvladic

+0

我已经添加了一个使用PM2的例子,应该解决这个问题 – wolframhempel

相关问题