Hello Krishna (and everybody else), thank you for your guidance!
It doesn't look like the StrongLoop Nginx Controller is listening on the control port. I used the "lsof" command to list the open ports on the host, and the control port is not one of those listed. How do I get the StrongLoop Nginx Controller to listen on the control port? Here's a detailed break down:
I terminated all of my EC2 instances, and ran though all the steps described in my original post again, but this time instead of choosing a control port of 444, I picked a port above 1024 to address your concern about privileged ports:
$ sudo sl-nginx-ctl-install -c 4444
Interestingly, it wasn't until rebooting the instance that the StrongLoop Nginx Controller process became active. Before rebooting the instance, running "ps aux | grep nginx" returned nothing, but after the reboot it returns:
999 1905 82.0 6.8 653972 69956 ? Rsl 14:36 0:00 /usr/bin/nodejs /usr/lib/node_modules/strong-nginx-controller/bin/sl-nginx-ctl.js --control 4444 --listen
http://0.0.0.0:8080 --base /var/lib/strong-nginx-controller/.strong-nginx-controller
You mentioned that the welcome page is there because of the installation of the Nginx package, and recommended stoping the Nginx service to remove the page. Does this mean that I don't need to install the Nginx package to use the StrongLoop Nginx Controller? In other words, does the Nginx Controller come bundled with Nginx itself? To explore the possibility that the Nginx package many not be necessary, I installed the Nginx Controller without the Nginx package, and ran the following command:
$ sudo lsof -i -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 595 root 5u IPv4 7826 0t0 UDP *:68
dhclient 595 root 20u IPv4 7759 0t0 UDP *:16120
dhclient 595 root 21u IPv6 7760 0t0 UDP *:50048
sshd 936 root 3u IPv4 8731 0t0 TCP *:22 (LISTEN)
sshd 936 root 4u IPv6 8733 0t0 TCP *:22 (LISTEN)
sshd 24223 root 3u IPv4 60033 0t0 TCP [private ip of nginx host]:22->[my home ip]:62887 (ESTABLISHED)
sshd 24274 ubuntu 3u IPv4 60033 0t0 TCP [private ip of nginx host]:22->[my home ip]:62887 (ESTABLISHED)
As you can see, the Nginx Controller is not listening on any ports, although the process is active, as you can see from the output above from when I ran "ps aux | grep nginx." Next, I installed the Nginx package, and ran the command to list open ports again:
$ sudo lsof -i -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 595 root 5u IPv4 7826 0t0 UDP *:68
dhclient 595 root 20u IPv4 7759 0t0 UDP *:16120
dhclient 595 root 21u IPv6 7760 0t0 UDP *:50048
sshd 936 root 3u IPv4 8731 0t0 TCP *:22 (LISTEN)
sshd 936 root 4u IPv6 8733 0t0 TCP *:22 (LISTEN)
sshd 24223 root 3u IPv4 60033 0t0 TCP [private ip of nginx host]:22->[my home ip]:62887 (ESTABLISHED)
sshd 24274 ubuntu 3u IPv4 60033 0t0 TCP [private ip of nginx host]:22->[my home ip]:62887 (ESTABLISHED)
nodejs 25152 strong-nginx-controller 10u IPv4 61951 0t0 TCP *:3000 (LISTEN)
nginx 25193 root 6u IPv4 61933 0t0 TCP *:80 (LISTEN)
nginx 25193 root 7u IPv6 61934 0t0 TCP *:80 (LISTEN)
nginx 25194 www-data 6u IPv4 61933 0t0 TCP *:80 (LISTEN)
nginx 25194 www-data 7u IPv6 61934 0t0 TCP *:80 (LISTEN)
nginx 25195 www-data 6u IPv4 61933 0t0 TCP *:80 (LISTEN)
nginx 25195 www-data 7u IPv6 61934 0t0 TCP *:80 (LISTEN)
nginx 25196 www-data 6u IPv4 61933 0t0 TCP *:80 (LISTEN)
nginx 25196 www-data 7u IPv6 61934 0t0 TCP *:80 (LISTEN)
nginx 25197 www-data 6u IPv4 61933 0t0 TCP *:80 (LISTEN)
nginx 25197 www-data 7u IPv6 61934 0t0 TCP *:80 (LISTEN)
nginx 25212 strong-nginx-controller 5u IPv4 61959 0t0 TCP *:8080 (LISTEN)
nginx 25213 strong-nginx-controller 5u IPv4 61959 0t0 TCP *:8080 (LISTEN)
The Nginx service is now active. As you can see, not only is Nginx now listening on some ports, but the Nginx Controller is now listening on some ports. This leads me to conclude that the Nginx package is indeed necessary to use the Nginx Controller. What's important to note is that the Nginx Controller isn't listening on the control port, port 4444. How do I get the StrongLoop Nginx Controller to listen on the control port?
I tried navigating my web browser to port 8080 of the address of the server running Nginx, and received the following message:
http://[public ip of nginx host]:8080/
503: Service Unavailable
I was expecting that navigating to this address would allow me to see load balancing in action, but got this error message instead. The next thing I tried was to stop Nginx, and run the command which lists open ports again:
$ sudo service nginx stop
$ sudo lsof -i -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 595 root 5u IPv4 7826 0t0 UDP *:68
dhclient 595 root 20u IPv4 7759 0t0 UDP *:16120
dhclient 595 root 21u IPv6 7760 0t0 UDP *:50048
sshd 936 root 3u IPv4 8731 0t0 TCP *:22 (LISTEN)
sshd 936 root 4u IPv6 8733 0t0 TCP *:22 (LISTEN)
sshd 24223 root 3u IPv4 60033 0t0 TCP [private ip of nginx host]:22->[my home ip]:62887 (ESTABLISHED)
sshd 24274 ubuntu 3u IPv4 60033 0t0 TCP [private ip of nginx host]:22->[my home ip]:62887 (ESTABLISHED)
nodejs 25152 strong-nginx-controller 10u IPv4 61951 0t0 TCP *:3000 (LISTEN)
nodejs 25152 strong-nginx-controller 11u IPv4 62173 0t0 TCP [private ip of nginx host]:3000->[my home ip]:49591 (ESTABLISHED)
nginx 25212 strong-nginx-controller 5u IPv4 61959 0t0 TCP *:8080 (LISTEN)
nginx 25213 strong-nginx-controller 5u IPv4 61959 0t0 TCP *:8080 (LISTEN)
nginx 25213 strong-nginx-controller 6u IPv4 62171 0t0 TCP [private ip of nginx host]:8080->[my home ip]:49471 (ESTABLISHED)
As you can see, the Nginx Controller is still listening on the same ports as before, but still not on the control port. It would seem that it's necessary to have the Nginx package installed to use the Nginx Controller, but that it's not necessary to have Nginx started to use the Nginx Controller. Is this correct?
Incidentally, in my original post I neglected to mention that my "step 2" involved opening ports 8701 and 3001 in the security group.
Thanks again.