我个人不喜欢的CGI方式,所有这些东西的工作(慢产卵过程中,需要使用某种类似“FastCGI的”招数来绕过这个,等...)
我想你可以将你的Python程序作为一个HTTP服务器来构建(例如使用cherrypy或者任何你想要的),启动你的Python程序来监听localhost:然后,从Apache端,只需要配置一个代理到localhost:whatever。
优点:
- 无需阿帕奇到餐桌一个Python过程中的每个请求(昂贵的操作)
- 你会很容易地改变你的Web服务器(如切换到Nginx的)作为nginx的也支持代理。
- 您就可以启动多个Python的服务器和它们之间的负载均衡
- 您可以举办不同的主机上的蟒蛇服务器负载均衡充电
- 您就可以完全地绕过阿帕奇如果您在应用程序前放置清漆来缓存结果。
- Cherrypy可以自动重新加载文件,如果它们被更改,不需要重新启动Apache。
- 你会坚持使用HTTP,不需要使用像fastcgi这样的协议。
- 容易测试您的开发机无阿帕奇,只需将浏览器指向到localhost:无论
配置Apache 2到您的请求传递到您的蟒蛇守护程序一样简单:
<VirtualHost *:80>
ServerName example.com
ProxyPass/http://localhost:8080/
</VirtualHost>
而且从cherrypy文档的世界你好:
import cherrypy
class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True
cherrypy.quickstart(HelloWorld())
什么在你的httpd.conf? – Foon
你有安装并运行Apache扩展'mod_cgi'吗? – furas
mod_cgi existe和它的标记为httpd.conf我已经遵循这个教程http://editrocket.com/articles/python_apache_windows.html,它不起作用 – Souf