如何在Apache 2.0中配置Python脚本?

23 投票
4 回答
33004 浏览
提问于 2025-04-11 00:15

我试着按照网上找到的几个教程来设置mod_python,但每次都失败。你有没有一个好的、一步一步的、非常可靠的指南?

我的开发环境是OS X,生产环境是Centos。

4 个回答

5

你是在UNIX系统还是Windows系统上运行Python呢?

除了mod_python和FastCGI,还有一个选择叫mod_wsgi。你可以在modwsgi上了解更多信息。

我在Solaris系统上构建并安装了这个,没遇到什么问题。我之前试过mod_python,但在构建过程中遇到了共享库的问题。这里有一些很好的安装文档可以参考。

10

是的,mod_python的设置确实让人感到困惑。下面是我怎么做的。

在httpd.conf文件中:

LoadModule python_module modules/mod_python.so

<Directory "/serverbase/htdocs/myapp">
  AddHandler mod_python .py
  PythonHandler myapp
  PythonDebug On

然后在你的应用程序目录里:

$ /serverbase/htdocs/myapp$ ls -l
total 16
-r-xr-xr-x 1 root sys        6484 May 21 15:54 myapp.py

对于每个你希望在mod_python下运行的Python程序,都要重复这个配置。

12

在Apache上运行Python主要有两种方法。最简单的方式是使用CGI,直接写普通的Python脚本;第二种方法是使用像Django或Pylons这样的网络框架。

使用CGI非常简单。你需要确保你的Apache配置文件中有设置cgi-bin。如果没有,可以参考他们的文档(http://httpd.apache.org/docs/2.0/howto/cgi.html)。接下来,你只需要把你的Python脚本放到cgi-bin目录里,程序的标准输出就会变成HTTP响应。想了解更多信息,可以查看Python的文档(https://docs.python.org/library/cgi.html)。

如果你想使用网络框架,就需要设置mod_python或FastCGI。这些步骤会根据你选择的框架有所不同。Django提供了清晰的说明,教你如何在Apache上设置mod_python和Django(http://www.djangoproject.com/documentation/modpython/)。

撰写回答