如何使用StrongLoop Nginx 控制器将Nginx设置为负载均衡器

3

我正在尝试使用StrongLoop Nginx Controller将Nginx设置为负载均衡器。 Nginx将作为负载均衡器,用于独立的StrongLoop Process Manager托管的StrongLoop LoopBack应用程序。 然而,我无法按照StrongLoop的官方说明成功部署Nginx。 我采取了以下步骤:

第一步 -- 我首先在AWS EC2实例上安装了Nginx和StrongLoop Nginx Controller。 我启动了一个EC2服务器(Ubuntu 14.04)来托管负载均衡器,并将弹性IP附加到服务器上。 然后我执行了以下命令:

$ ssh -i ~/mykey.pem ubuntu@[nginx-ec2-ip-address]
$ sudo apt-get update
$ sudo apt-get install nginx
$ sudo apt-get install build-essential
$ curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
$ sudo apt-get install -y nodejs
$ sudo npm install -g strong-nginx-controller 
$ sudo sl-nginx-ctl-install -c 444

接下来,我使用自定义TCP规则在EC2实例的安全组中打开了444端口。

步骤 #2 -- 我的第二步是设置两个回环应用程序服务器。为了实现这一点,我启动了另外两个EC2服务器(都是Ubuntu 14.04),作为应用程序服务器,并为每个服务器附加了一个弹性IP。然后,在每个应用程序服务器上各运行以下一系列命令:

$ ssh -i ~/mykey.pem ubuntu@[application-server-ec2-ip-address]
$ sudo apt-get update
$ sudo apt-get install build-essential
$ curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
$ sudo apt-get install -y nodejs
$ sudo npm install -g strong-pm
$ sudo sl-pm-install
$ sudo /sbin/initctl start strong-pm

第三步 -- 我的第三个步骤是将应用程序部署到每个应用服务器上。为此,我使用了StrongLoop Arc:

$ cd /path/to/loopback-getting-started-intermediate # my application
$ slc arc

在 StrongLoop Arc web 控制台中,我为应用程序构建了一个tar文件,并将其部署到两个应用程序服务器上。然后在 Arc 进程管理器中,我连接到了这两个应用程序服务器。连接成功后,我点击“负载均衡器”,并在表单中输入了 Nginx 主机和端口,然后点击保存。这导致弹出一条消息,显示“负载均衡器配置已保存”。

此时发生了一些奇怪的事情:我刚才在 StrongLoop Arc 中输入负载均衡器设置的字段(主机和端口),现在回到了我开始输入之前的原始值。(原始端口值为555,主机字段的原始值为我的第二个应用程序服务器的地址)

不知道接下来该怎么做 - 这就是我真正不知道接下来该怎么做的地方。(我尝试打开浏览器,使用几个不同的端口值导航到 Nginx 负载均衡器的 IP 地址。我尝试了 80、8080、3001 和 80 等各种端口,在安全组中打开了每个端口,试图找到需要导航到以查看“负载均衡”的操作。但是,通过导航到这些地方,我什么也没有看到,除了端口80之外,它提供了“欢迎来到 Nginx 页面”,而不是我要查找的东西)

如何使用 StrongLoop Nginx 控制器设置 Nginx 作为负载均衡器?假设我列出的所有步骤都正确,请问下一步该怎么做。


这个问题正在论坛上详细讨论 https://groups.google.com/forum/#!topic/loopbackjs/ZKA6xDJYPJg - snathan
1个回答

0

我的通常做法是这样的:

sudo sl-nginx-ctl-install -c http://0.0.0.0:444

也许这可以解决你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接