AWS EC2 Linux上的Web2Py

我在亚马逊AWS EC2上有一个实例运行Linux,仔细按照Amazon提供的说明进行操作: 设置在AWS上托pipeWeb应用程序 。 我已经build立了亚马逊提供的文档中提到的安全组。

默认安全组具有打开的所有端口上的所有通信,所有协议。

除了上面的安全规则之外,我还在端口22上设置了SSH,然后使用CyberDuck (一个很棒的FTP应用程序),将Web2Py源代码上传到AWS的一个名为web2py的文件夹中。

在成功将源代码FTP到这个web2py文件夹后,我使用terminal(在本地Mac上)将my-keys-file.pem写入AWS机器:

 ssh -i my-keys-file.pem ec2-user@ec2-xx-xx-xx-xx.compute-1.amazonaws.com 

(其中xx是公共DNS中的数字,因为它们出现在EC2页面上的实例中)

然后我检查了我的AWS实例是否安装了python,它是否有。 因此,我开始安装Web2Py。

 python2.6 web2py.py password = pwd 

它警告说GUI不可用,因为Tlk库没有安装,但Massimo在这里说( http://comments.gmane.org/gmane.comp.python.web2py/129181 )它并不重要。

运行Web2Py ….

  1. 如果我尝试:

    python web2py.py -a pwd -i 0.0.0.0 -p 80

它说:

 there is an error with the Rocket Server with that specific port (used by another process that is not willing to share...) 
  1. 如果我尝试:

    python web2py.py -a pwd

它没有说什么(这引出了问题:是web2py运行?),当我尝试访问web2py服务器http://ec2-xx-xx-xx-xxx.compute-1.amazonaws.com/或https:// ec2-xx-xx-xx-xxx.compute-1.amazonaws.com/admin在这两种情况下,它说,页面不可用,因为它需要太长的时间来访问它(没有任何关于安全原因)。

  1. 如果我尝试:

    python web2py.py -a pwd -i 0.0.0.0 -p 8000

再次 – 它没有说什么(是web2py运行?)试图访问Web2Py服务器在http://ec2-xx-xx-xx-xxx.compute-1.amazonaws.com/或https:// ec2-xx-xx -xx-xxx.compute-1.amazonaws.com/admin在这两种情况下,它说,页面不可用,同上。

  1. 我曾尝试使用IP地址,但它被立即转换为ec2-xx-xx-xx-xxx.etc的亚马逊格式…
  2. 我试图通过明确提到地址中的端口(8000)来访问web2py – 仍然无效,除非页面不可用

我的问题:

  1. 有没有关于如何在AWS EC2上安装和运行Web2Py的详细配方?
  2. web2py服务器是否运行? 我怎么知道它是否在运行? 如果不是 – 我做错了什么?
  3. 如果web2py服务器正在运行,我如何访问它?

任何帮助将非常感激。 谢谢

我已经将我的Web2py部署到运行Ubuntu的EC2实例,但是我想你可以使用相同的方法到你的系统。

部署Web2py最简单的方法是在官方的Web2py书中介绍的“ 一步生产部署 ”脚本。

 wget http://web2py.googlecode.com/hg/scripts/setup-web2py-ubuntu.sh chmod +x setup-web2py-ubuntu.sh sudo ./setup-web2py-ubuntu.sh 

运行这将安装和配置你需要的一切。 完成后,只需输入您的IP或域名到网络浏览器,您将看到默认的web2py网站。