我正在尝试使用StrongLoop Nginx控制器将Nginx设置为负载平衡器。 Nginx将充当由独立StrongLoop进程pipe理器托pipe的StrongLoop LoopBack应用程序的负载平衡器。 不过,我在根据StrongLoop 的官方说明进行Nginx部署方面一直没有成功。 以下是我采取的步骤:
步骤1 – 我的第一步是在AWS EC2实例上安装Nginx和StrongLoop Nginx控制器。 我启动了一台EC2服务器(Ubuntu 14.04)来托pipe负载均衡器,并将Elastic 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应用程序服务器。 为了实现这个function,我为应用服务器又推出了两台EC2服务器(都是Ubuntu 14.04),并且在每台服务器上附加了一个Elastic 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控制台后,我为应用程序构build了一个tar,并将其部署到两个应用程序服务器。 然后在Arc Process Manager中,我连接到两个应用程序服务器。 一旦连接,我点击“负载平衡器”,并inputNginx的主机和端口的forms,并按下保存。 这导致一条消息popup,说“负载平衡器configuration保存”。
在这一点上发生了一些奇怪的事情: StrongLoop Arc中我刚input负载均衡器(主机和端口)设置的字段恢复为字段在开始input之前的原始值。 (原始端口值是555,主机字段中的原始值是我的第二个应用程序服务器的地址。)
不知道接下来该做什么 – 这是我真的不知道下一步该怎么做的地方。 (我尝试打开我的网页浏览器,并使用几个不同的端口值导航到Nginx负载均衡器的IP地址,我尝试了80,8080,3001和80,在安全组中尝试查找我需要浏览的地方,以便看到“负载平衡”的行动。但是,我没有看到任何导航到这些地方的任何东西,除了端口80,其中“欢迎Nginx页”,而不是我在找什么。)
如何使用StrongLoop Nginx控制器将Nginx设置为负载平衡器? 如果我列出的所有步骤都是正确的,那么下一步是什么?
我通常做的是这样的:
sudo sl-nginx-ctl-install -c http://0.0.0.0:444
也许这可以解决你的问题。