Node.js 在Amazon Ubuntu EC2 web服务器上运行的SailsJS应用程序

Node.js 在Amazon Ubuntu EC2 web服务器上运行的SailsJS应用程序,node.js,amazon-ec2,sails.js,portforwarding,Node.js,Amazon Ec2,Sails.js,Portforwarding,我刚开始在EC2上运行我的SailsJS应用程序,我为此奋斗了很多。我无法使应用程序在端口80上运行。因此,我所做的是将默认的apache侦听端口80更改为8080 但仍然无法扬帆,我得到了这个错误 warn: error raised: Error: listen EACCES error: Server doesn't seem to be starting. error: error: Troubleshooting tips: error: error: -> Do you

我刚开始在EC2上运行我的SailsJS应用程序,我为此奋斗了很多。我无法使应用程序在端口80上运行。因此,我所做的是将默认的apache侦听端口80更改为8080

但仍然无法扬帆,我得到了这个错误

warn: error raised: Error: listen EACCES

error: Server doesn't seem to be starting.
error: 
error: Troubleshooting tips:
error: 
error:  -> Do you have permission to use port 80 on this system? (you might try `sudo`)
error: 
error:  -> Is something else already running on port 80 ?
error: 
error:  -> Are you deploying on a platform that requires an explicit hostname, like OpenShift?
error:     (Try setting the `explicitHost` config to the hostname where the server will be accessible.)
error:     (e.g. `mydomain.com` or `183.24.244.42`)
正如上面说的,我试过Sudo,但后来应用程序启动了。酷

然后我在终端上得到所有这些错误

warn: websocket connection invalid
warn: websocket connection invalid
warn: websocket connection invalid
warn: websocket connection invalid
这是我的浏览器控制台上的错误

连接到“ws://mywebsite.co/socket.io/1/WebSocket/GXGSRKCiYhST-7CMcXkm?”的WebSocket失败:在收到握手响应之前连接已关闭

这是ubuntu>netstat,如果这有助于理解为什么

$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:mysql         localhost:51432         TIME_WAIT  
tcp        0      0 localhost:mysql         localhost:51433         TIME_WAIT  
tcp        0    308 ip-172-31-28-139.ap:ssh 121.75.215.208:55402    ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  4      [ ]         DGRAM                    8490     /dev/log
unix  3      [ ]         STREAM     CONNECTED     8369     
unix  3      [ ]         STREAM     CONNECTED     7920     @/com/ubuntu/upstart
unix  3      [ ]         STREAM     CONNECTED     8392     
unix  3      [ ]         STREAM     CONNECTED     9978     
unix  2      [ ]         DGRAM                    9832     
unix  3      [ ]         STREAM     CONNECTED     8391     
unix  3      [ ]         STREAM     CONNECTED     9979     /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     8403     @/com/ubuntu/upstart
unix  3      [ ]         DGRAM                    7519     
unix  3      [ ]         STREAM     CONNECTED     8406     /var/run/dbus/system_bus_socket
unix  2      [ ]         DGRAM                    8696     
unix  3      [ ]         STREAM     CONNECTED     8483     
unix  3      [ ]         STREAM     CONNECTED     8484     /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     7890     
unix  3      [ ]         DGRAM                    7520     
unix  3      [ ]         STREAM     CONNECTED     8405     
unix  3      [ ]         STREAM     CONNECTED     7468     
unix  3      [ ]         STREAM     CONNECTED     9973     
unix  3      [ ]         STREAM     CONNECTED     7481     @/com/ubuntu/upstart
unix  3      [ ]         STREAM     CONNECTED     9972     
应用程序中似乎存在未关闭的连接

正如你在这里看到的。因此,该应用程序从未因为web套接字而关闭

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp      584      0 ip-173-31-28-139.a:1337 121.75.215.208:57749    CLOSE_WAIT  6468/node       
tcp      493      0 ip-173-31-28-139.a:1337 121.75.215.208:57748    CLOSE_WAIT  6468/node       
tcp        0    596 ip-173-31-28-139.ap:ssh 121.75.215.208:56740    ESTABLISHED -               
tcp      449      0 ip-173-31-28-139.a:1337 121.75.215.208:57872    ESTABLISHED -               
tcp      493      0 ip-173-31-28-139.a:1337 121.75.215.208:57745    CLOSE_WAIT  6468/node       
tcp        0      0 localhost:mysql         localhost:51494         ESTABLISHED -               
tcp        1      0 ip-173-31-28-139.a:1337 121.75.215.208:57873    CLOSE_WAIT  -               
tcp        7      0 ip-173-31-28-139.a:1337 121.75.215.208:57780    CLOSE_WAIT  6468/node       
tcp      499      0 ip-173-31-28-139.a:1337 121.75.215.208:57744    CLOSE_WAIT  6468/node       
tcp        0      0 localhost:mysql         localhost:51493         ESTABLISHED -               
tcp      584      0 ip-173-31-28-139.a:1337 121.75.215.208:57746    CLOSE_WAIT  6468/node       
tcp        0      0 localhost:51494         localhost:mysql         ESTABLISHED 6468/node       
tcp        0      0 localhost:51493         localhost:mysql         ESTABLISHED 6468/node       
tcp        0      0 ip-173-31-28-139.ap:ssh 121.75.215.208:55402    ESTABLISHED -               
tcp      499      0 ip-173-31-28-139.a:1337 121.75.215.208:57747    CLOSE_WAIT  6468/node       

如果你在生活中这样做过,请帮助我。我很高兴删除所有配置,从头开始。

从您提到的“默认Apache端口”的事实来看,我猜您是从一个AMI开始的,它不一定是节点应用程序的最佳配置。我建议从EC2上的开始。在使用该AMI的EC2实例上设置Sails应用程序时,我没有遇到任何问题。它可能不是随MySQL预装的,但这正是apt-get的用途,对吗?

您找到解决方案了吗?