如何在PythonAnywhere上部署web2py?

12 投票
5 回答
5156 浏览
提问于 2025-04-17 07:44

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

5 个回答

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)"
4

你也可以直接运行这个bash脚本:

http://pastebin.com/zcA5A89k

如果没有HTTPS,admin账户会被禁用,除非你像之前的帖子那样绕过这个限制。这会造成安全隐患。

17

[更新 - 29/05] 我们现在在网页标签上有一个大按钮,可以帮你完成所有这些操作。只需点击上面写着 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 面板,点击重新加载网页应用,这样就应该能正常工作了!

撰写回答