我使用Flask框架编写了一个小应用程序.我尝试使用cgi来托管这个.在文档之后,我创建了一个包含以下内容的.cgi文件:
#!/usr/bin/python
from wsgiref.handlers import CGIHandler
from yourapplication import app
CGIHandler().run(app)
Run Code Online (Sandbox Code Playgroud)
运行该文件会导致以下错误:
...
文件"/usr/lib/pymodules/python2.7/werkzeug/routing.py",第1075行,在bind_to_environ中wsgi_server_name = environ.get('HTTP_HOST',environ ['SERVER_NAME'])
KeyError:'SERVER_NAME'
状态:500内部服务器错误
内容类型:text/plain
Content-Length:59
在我的应用程序中,我设置:
app.config['SERVER_NAME'] = 'localhost:5000'
Run Code Online (Sandbox Code Playgroud)
当我使用Flask开发服务器运行应用程序时,它运行得非常好.你可以告诉我,我对这些东西很新,我已经找到了其他有类似错误但没有运气的人.所有帮助表示赞赏.
为了完整起见,这是作为上述评论之后的答案发布的。
如上所述,cgi 脚本应该由某个服务器执行。以下是CGI 1.1 RFC 的摘要:
通用网关接口(CGI)是一个简单的接口,用于以独立于平台的方式在信息服务器下运行外部程序、软件或网关。目前支持的信息服务器是HTTP 服务器。
对于环境变量(缺少并触发错误),请参阅 RFC 中的 sectuib 4.1。
| 归档时间: |
|
| 查看次数: |
8888 次 |
| 最近记录: |