我正在尝试使用 StrongLoop Nginx Controller 将 Nginx 设置为负载均衡器。 Nginx 将充当由独立的 StrongLoop Process Manager 托管的 StrongLoop LoopBack 应用程序的负载平衡器。但是,我在 the official directions 之后未能成功部署 Nginx。来自 StrongLoop。以下是我采取的步骤:
第 1 步 -- 我的第一步是在 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 步 -- 我的第二步是设置两个 Loopback 应用程序服务器。为此,我为应用程序服务器启动了另外两台 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
第 3 步 -- 我的第三步是将应用程序部署到每个应用程序服务器。为此,我使用了 StrongLoop Arc:
$ cd /path/to/loopback-getting-started-intermediate # my application
$ slc arc
进入 StrongLoop Arc Web 控制台后,我为应用程序构建了一个 tar,并将其部署到两个应用程序服务器。然后在 Arc Process Manager 中,我连接到两个应用程序服务器。连接后,我单击“负载均衡器”,然后将 Nginx 主机和端口输入到表单中,然后按保存。这会导致弹出一条消息,提示“负载均衡器配置已保存”。
此时发生了一些奇怪的事情:我刚刚键入负载均衡器设置(主机和端口)的 StrongLoop Arc 中的字段恢复为我开始键入之前字段的原始值. (原端口值为555,host字段原值为我的第二个应用服务器地址。)
Don't know what to do next -- 这是我真的不知道下一步该做什么的地方。 (我尝试打开我的网络浏览器并导航到 Nginx 负载均衡器的 IP 地址,使用几个不同的端口值。我尝试了 80、8080、3001 和 80,在安全组中分别打开,试图找到我需要导航到的地方以查看“负载平衡”的运行情况。但是,通过导航到这些地方,我什么也没看到,除了服务于“欢迎使用 Nginx 页面”的端口 80,不是我在找什么。)
如何使用 StrongLoop Nginx Controller 将 Nginx 设置为负载均衡器?假设我列出的所有步骤都是正确的,流程的下一步是什么。
请您参考如下方法:
我通常做的是:
sudo sl-nginx-ctl-install -c http://0.0.0.0:444
也许这可以解决您的问题。