在仔细按照 Amazon 此处提供的说明进行操作后,我在 Amazon AWS EC2 上有一个运行 Linux 的实例:Setting Up to Host a Web App on AWS . 我已经设置了 Amazon 提供的文档中提到的安全组。
默认安全组在所有端口上打开所有流量、所有协议(protocol)。
除了上述安全规则外,我还在端口 22 上设置了 SSH,然后使用 CyberDuck
(一个很棒的 FTP 应用程序)上传了 Web2Py
源代码将代码写入 AWS 上名为 web2py 的文件夹中。
成功将源代码通过 FTP 传输到这个 web2py 文件夹后,我使用终端(在本地 Mac 上)通过 SSH 连接到 AWS 机器,手头有 my-keys-file.pem:
ssh -i my-keys-file.pem ec2-user@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
(其中 xx 是公共(public) DNS 中的数字,因为它们出现在我的 EC2 页面上的实例上)
然后我检查了我的 AWS 实例是否安装了 python 并且确实安装了它。 因此,我开始安装 Web2Py。
python2.6 web2py.py
password = pwd
它警告 GUI 不可用,因为未安装 Tlk 库,但 Massimo 在这里 ( http://comments.gmane.org/gmane.comp.python.web2py/129181 ) 说这并不重要。
运行 Web2Py ....
如果我尝试:
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...)
如果我尝试:
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 在这两种情况下,它都表示页面不可用,因为访问它的时间太长(与安全原因无关)。
如果我尝试:
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 在这两种情况下,它都表示页面不可用,与上面相同。
- 我曾尝试使用 IP 地址,但它立即被转换为 ec2-xx-xx-xx-xxx.etc 的 amazon 格式...
- 我已尝试通过在地址中明确提及端口 (8000) 来访问 web2py - 仍然无法正常工作,除了页面不可用之外没有给出任何理由
我的问题:
- 是否有任何关于如何在 AWS EC2 上安装和运行 Web2Py 的详细方法?
- web2py 服务器是否在运行?我怎么知道它是否正在运行?如果不是 - 我做错了什么?
- 如果 web2py 服务器正在运行,我该如何访问它?
任何帮助将不胜感激。 谢谢
最佳答案
我已将我的 Web2py 部署到运行 Ubuntu 的 EC2 实例,但我想您可以将相同的方法应用于您的系统。
部署 Web2py 的最简单方法是遵循 ' One step production deployment ' 官方 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 网站。
关于linux - AWS EC2 Linux 上的 Web2Py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27750211/