如何在 PythonAnywhere 上部署 web2py?

Posted

技术标签:

【中文标题】如何在 PythonAnywhere 上部署 web2py?【英文标题】:How do I deploy web2py on PythonAnywhere? 【发布时间】:2012-01-13 05:57:12 【问题描述】:

我如何启动并运行一个基本的 web2py 服务器 PythonAnywhere?

【问题讨论】:

让管理站点运行是一个额外的挑战,因为 HTTPS 尚不支持 - 我在答案中包含了一个解决方法... 【参考方案1】:

[更新 - 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 控制台,然后将cd 放入主web2py 文件夹,然后运行

python web2py.py --port=80

输入管理员密码

按 ctrl-c

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

然后转到 PythonAnywhere 上的 Web 面板,点击 reload web app, 事情应该会奏效!

【讨论】:

没有app = web.application(urls, globals())【参考方案2】:

您也可以简单地运行这个 bash 脚本:

http://pastebin.com/zcA5A89k

admin 将因为没有 HTTPS 而被禁用,除非你像上一篇文章那样绕过它。这会造成安全漏洞。

【讨论】:

请解释python -c "from gluon.main import save_password; save_password(raw_input('admin password: '),433)"【参考方案3】:

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】:

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

希望对你有帮助 NeoToren

【讨论】:

【参考方案5】:

我会尝试在讨论中添加一些新内容。我发现的最简单的方法是在您未登录时转到此处。这样您就不必乱搞终端了:

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

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

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

【讨论】:

PythonAnywhere 开发人员在这里:澄清一点——免费帐户可以永久保留他们的网络应用程序,但您必须至少每三个月登录并单击一次按钮以保持它们运行。这是为了防止我们的服务器被人们设置为尝试但不再想要的网站堵塞。如果您真的需要,我们很乐意无限期地托管您的网站 :-)

以上是关于如何在 PythonAnywhere 上部署 web2py?的主要内容,如果未能解决你的问题,请参考以下文章

在PythonAnyWhere上部署Django项目

简易博客开发----django1.9 博客部署到pythonanywhere上

尝试使用 PythonAnyWhere 部署 Web Flask 应用程序时出现 WSGI 错误

Django 在 Pythonanywhere 上使用 Office365 发送电子邮件

如何在 PythonAnywhere 上使用 ffmpeg?

pythonanywhere 部署 webpy