如果我运行fcgi服务器并使用浏览器访问它,会发生什么?

时间:2010-10-28 09:38:49

标签: python fastcgi flup

我有以下设置 - 当我在浏览器中访问服务器时,没有得到任何响应。

我应该期待一些吗?这是测试设置,使用python& flup。

#test.py

def myapp(environ, start_response):
  start_response('200 OK', [('Content-Type', 'text/plain')])
  return ['abc\n']

import os
os.environ['FCGI_WEB_SERVER_ADDRS']="127.0.0.1:8000"
from flup.server.fcgi import WSGIServer
WSGIServer(myapp, bindAddress=('127.0.0.1',8000)).run()

python test.py

lynx http://127.0.0.1:8000

unexpected network read error; connection aborted

如果我注释掉OS的东西并重新启动服务器:

lynx http://127.0.0.1:8000

HTTP request sent; waiting for response.

并且什么都没有回来。

2 个答案:

答案 0 :(得分:2)

您的FCGI服务器不会说HTTP。您需要一个可以说FCGI的HTTP代理。你可以运行类似nginx的东西,它可以说HTTP并且可以传递给FCGI。

http://wiki.nginx.org/NginxFcgiExample

答案 1 :(得分:0)

您可以使用telnet连接到fcgi服务器,但是(至少在Windows上)您将看不到任何内容,因为服务器希望您先发送一些二进制消息。 因此,在输入几个字符后,服务器会断开连接。 如果telnet根本没有连接,这可能意味着防火墙或地址:端口绑定问题(即您要么连接到错误的地址而不是绑定到服务器)。