2

我正在使用 ec2 的微型实例来学习和测试我的 rails 应用程序,因为我过去从未使用过 ec2。我创建了帐户并能够 ssh。所以当我做 $pwd /home/ubuntu

现在做了一个 scp 并导入了项目。我无法通过 web 访问 ec2 实例。我在网上浏览了一下,发现端口应该是开放的。

        ~$ netstat -anp | grep LISTEN
        (No info could be read for "-p": geteuid()=1000 but you should be root.)
        tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
        tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -               
        tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      -               
        tcp6       0      0 :::22                   :::*                    LISTEN      -               
        unix  2      [ ACC ]     STREAM     LISTENING     7958     -                   /var/run/acpid.socket
        unix  2      [ ACC ]     STREAM     LISTENING     7726     -                   /var/run/dbus/system_bus_socket
        unix  2      [ ACC ]     STREAM     LISTENING     6185     -                   @/com/ubuntu/upstart
        unix  2      [ ACC ]     STREAM     LISTENING     40164    -                   /var/run/mysqld/mysqld.sock
        unix  2      [ ACC ]     SEQPACKET  LISTENING     6374     -                   /run/udev/control

$netstat -ln | grep 8080 没有反应

当我做

        $curl -v xx.xxx.xx.xxx
        * About to connect() to xx.xxx.xx.xxx port 80 (#0)
        *   Trying xx.xxx.xx.xxx...
        * Connection refused
        * couldn't connect to host
        * Closing connection #0
        curl: (7) couldn't connect to host

还有什么其他的基本安装要做。正如我所见,需要安装 apache,但会寻求更清晰的解决方案。

编辑: Ruby、rails、rvm 已安装并且示例应用程序正在运行..

4

2 回答 2

0

您必须在 AWS 管理控制台中为您的实例配置一个安全组才能打开端口 80。这是一个基本教程:http ://cloud.lib.wfu.edu/blog/tech/2010/09/28/managing- amazon-ec2-servers 上的防火墙规则/

还要确保 Webrick 在端口 80 上运行,默认为 8080 或 3000。

于 2012-11-15T08:57:33.730 回答
0

我只需要在端口 80 上启动 Thin/webrick。使用

    rvmsudo thin start -p 80 -d

所以现在服务器已经启动了。

于 2012-11-19T12:26:37.953 回答