我在 test.py 文件中的 web.py 中有一个简单的 hello world 网站
import web
urls = ("/.*", "hello")
app = web.application(urls, globals())
class hello:
def GET(self):
return 'Hello, world!'
def wsgiHandler():
return web.application(urls, globals(), autoreload=False).wsgifunc()
if __name__ == "__main__":
app.run()
在 azure 网站配置中,我有:
1、开启python 2.7.3
2、app设置PYTHONPATH为D:\home\site\wwwroot
3、app设置WSGI_HANDLER为test.wsgiHandler() 这匹配文件名到文件中的函数。
4、新增handler mappings *, d:\Python27\python.exe, D:\python27\scripts\wfastcgi.py
我已经保存并重新启动了网站,但仍然看到蔚蓝的登陆页面显示“这里什么都没有”。我已经在控制台中检查了 dir 并且我的所有文件都在那里(我使用 bitbucket 持续部署)。我可以在本地运行它,它会在浏览器中呈现“hello world”。
我在 azure 配置中尝试了不同的默认文档,目前只有“index.html”。
我觉得我在这里遗漏了一些小东西,但我不知道为什么它不起作用?!默认文档是否必须具体,“WEBSITE_NODE_DEFAULT_VERSION”是否需要更改?
编辑 23/10/14
我尝试了一个 hello world 烧瓶应用程序,但它也无法正常工作。但是我确实注意到天蓝色的“这里什么都没有”登陆页面显示“该网站正在运行 Python 2.7.8”。这与 azure 网站配置中列出的 python 版本不同。这可能有关系吗?
编辑 28/10/14 已解决
我已经解决了这个问题,所以这是其他人的解决方案。
似乎 azure 没有根据用户在 azure 门户网站配置中的输入更新 web.config 文件。因此,虽然我的网站配置如上,但 web.config 文件仍然具有默认的 WSGI_HANDLER 作为“hostingstart-oython.application”,这意味着它认为“什么都没有”。使用 Kudu 帮助,即 websitename.scm.azurewebsites.net