在Apache2中嵌入Python使用mod_python(Debian Etch)

嵌入Python在Apache2与mod_python(Debian Etch)

版本1.0
作者:Falko Timme

本教程将介绍如何使用Apache2在Debian Etch服务器上安装和使用mod_python 。 mod_python是一个Apache模块,它将Python解释器嵌入到服务器中。 它允许您在Py​​thon中编写基于Web的应用程序,该应用程序的运行速度比传统的CGI快多倍,并且可以访问高级功能,例如保留数据库连接以及访问Apache内部部件之间的数据库连接和其他数据的能力。

我不会保证这将为您工作!

1初步说明

我已经在Debian Etch服务器上测试了这个IP地址192.168.0.100 ,其中已经安装了Apache2。

在这个例子中,我使用的文件是root / var / www的虚拟主机。

2安装mod_python

要安装mod_python,我们只需运行:

apt-get install libapache2-mod-python

3配置Apache

现在我们必须配置Apache,以便它可以处理Python文件。 有两种方法可以这样做。 第一个(和默认)一个是使用Publisher处理程序 。 它允许您编写纯Python脚本,扩展名为.py,将由Apache解释。 第二种方式是PSP处理程序 。 PSP代表Python服务器页面。 它允许您将Python代码直接嵌入到HTML代码中,类似于PHP。 PSP文件的扩展名为.psp

3.1出版者处理程序

要启用发布商处理程序,我们必须打开我们的vhost配置(我使用Debian上的默认文件root / var / www ;该vhost的配置位于/ etc / apache2 / sites-available / default中 )并添加AddHandler mod_python .pyPythonHandler mod_python.publisherPythonDebug On的行:

vi /etc/apache2/sites-available/default
[...]
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddHandler mod_python .py
                PythonHandler mod_python.publisher
                PythonDebug On
        </Directory>
[...]

之后重新启动Apache:

/etc/init.d/apache2 restart

现在我们用纯Python代码创建一个Python测试脚本(例如/var/www/test.py

vi /var/www/test.py
def index(req):
  return "Test successful";

...并在浏览器中调用它(例如http://192.168.0.100/test.py )。 如果一切顺利,应在浏览器中显示测试成功

3.2 PSP处理程序

要启用发布商处理程序,我们必须打开我们的vhost配置(我使用Debian上的默认文件root / var / www ;该vhost的配置位于/ etc / apache2 / sites-available / default中 )并添加AddHandler mod_python .pspPythonHandler mod_python.pspPythonDebug On的行:

vi /etc/apache2/sites-available/default
[...]
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddHandler mod_python .psp
                PythonHandler mod_python.psp
                PythonDebug On
        </Directory>
[...]

之后重新启动Apache:

/etc/init.d/apache2 restart

现在我们用HTML和Python代码创建一个小的PSP测试脚本(例如/var/www/test.psp

vi /var/www/test.psp
<html>
<body>
<h1><% req.write("Hello!") %></h1>
</body>
</html>

...并在浏览器中调用它(例如http://192.168.0.100/test.psp )。 如果一切顺利,应该显示你好! 在你的浏览器

4个Python模块

如果您需要更多的Python模块,可以像这样搜索:

apt-cache search python

选择您需要的并安装它们如下所示:

apt-get install python-mysqldb python-xml

之后重新启动Apache:

/etc/init.d/apache2 restart

5链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏