我该如何在PythonAnywhere上部署web2py?

12

我该如何在PythonAnywhere上搭建一个基本的web2py服务器?


让管理员网站运行起来是一个额外的挑战,因为目前还不支持HTTPS - 我在我的答案中包含了一个解决方法... - hwjp
5个回答

17

[更新 - 29/05] 现在我们在Web选项卡上有一个大按钮,可以为您完成所有这些操作。只需单击“Web2Py”所在的位置,填写管理员密码,然后您就可以开始使用了。

以下是用于历史兴趣的旧内容...

我是PythonAnywhere的开发人员。虽然我们还不是web2py专家(可能会成为),但我已经成功地运行了web2py:

第一步是下载并解压缩web2py:

wget http://www.web2py.com/examples/static/web2py_src.zip
unzip web2py_src.zip

前往PythonAnywhere的"Web"面板并编辑你的wsgi.py文件。添加以下行:

import os
import sys

path = '/home/my_username/web2py'
if path not in sys.path:
    sys.path.append(path)

from wsgihandler import application

my_username替换为您的用户名。

您还需要在wsgi.py中注释掉最后两行,其中有默认的hello world web.py应用程序...

# comment out these two lines if you want to use another framework
#app = web.application(urls, globals())
#application = app.wsgifunc()

感谢Juan Martinez在此部分的指导,你可以在这里查看: http://web2py.pythonanywhere.com/

然后打开Bash控制台,并进入主要的web2py文件夹,然后运行

python web2py.py --port=80

输入管理员密码

按下 ctrl-c 键

(这将生成 parameters_80.py 配置文件)

然后进入 PythonAnywhere 上的您的Web面板,点击重新加载Web应用程序,然后应该可以正常工作!


没有 app = web.application(urls, globals()) - Pacerier

4
您也可以直接运行此bash脚本:
http://pastebin.com/zcA5A89k
如果不绕过HTTPS,管理员将被禁用。这将导致安全漏洞。请注意。

请解释一下 python -c "from gluon.main import save_password; save_password(raw_input('admin password: '),433)" - Pacerier

2

Pastebin宕机了,我从缓存中取回了这个。

cd ~
wget -O web2py_srz.zip http://web2py.com/examples/static/web2py_src.zip
unzip web2py_src.zip
echo "
PATH = '/home/"`whoami`"/web2py'
import os
import sys
sys.stdout = sys.stderr
os.chdir(PATH)
if not './' in sys.path[:1]: sys.path.insert(0,'./')
from gluon.main import wsgibase as application
" > /var/www/wsgi.py
cd web2py
python -c "from gluon.main import save_password; save_password(raw_input('admin  password: '),433)"

1

我最近总结了在PythonAnywhere上部署Web2Py的经验这里

希望对您有所帮助 NeoToren


0

我会尝试在讨论中添加一些新内容。我发现最简单的方法是在未登录时前往此处。这样可以避免您必须在终端上操作:

https://www.pythonanywhere.com/try-web2py

首先,想一个域名,然后您将被重定向到一个页面,显示该域的登录信息和创建的仪表板。从那里,只需创建一个帐户,以便您的应用程序不会在24小时后被删除。注册时,如果您没有付款,您的应用程序将有3个月的有效期。我相信这是一项新政策。然后,只需转到https://appname.pythonanywhere.com/admin,然后输入您获得的密码,然后将您的Web2Py文件上传到仪表板,然后访问该页面。

我不确定如何为现有帐户在PythonAnywhere上上传Web2Py应用程序,但这是我找到的最简单的方法。


PythonAnywhere的开发人员在这里:只是想澄清一点-免费账户永久保留其Web应用程序,但您必须每三个月登录并单击一次按钮以保持其运行。那是为了防止我们的服务器被那些人设置来尝试一些东西但不再需要的网站堵塞。如果您真的需要,我们很高兴无限期地继续托管您的站点 :-) - Giles Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接