开发者社区> 问答> 正文

apache支持python吗

apache支持python吗

问题来源于python学习网

展开
收起
保持可爱mmm 2019-12-11 16:54:05 398 0
1 条回答
写回答
取消 提交回答
  • 1、安装apache

    如果安装了apache,确保配置没有进行大幅的修改,否则可能会有影响。如果没有安装apache,通过apt-get安装:

    $ sudo apt-get install apache2

    Tips:如果是自行编译安装,下面提到的配置和目录根据实际情况修改。

    2、安装mod_python模块

    这个模块内嵌了python解释器,apache就可以通过该模块运行python脚本,然后将内容输出到浏览器。这个模块就像个桥一样,连接apache和python。安装也非常简单,apt-get直接安装:

    $ sudo apt-get install libapache2-mod-python

    安装完成后,查看/etc/apache2/mods-enabled/python.load,可以看到模块已经被加载进来了,完全不用自己手动添加。

    $ less /etc/apache2/mods-enabled/python.load

    LoadModule python_module /usr/lib/apache2/modules/mod_python.so

    3、告诉apache在碰到py后缀的文件时用python执行

    修改/etc/apache2/sites-enabled/000-default配置文件,找到如下配置:

    <Directory /var/www/>

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    allow from all

    如果你的配置没有改动,看到的应该和上面一样。在Directory内增加三行配置,最终如下:

    <Directory /var/www/>

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    allow from all

    AddHandler mod_python .py

    PythonHandler test

    PythonDebug On

    保存后,重新启动下apache:

    $ sudo /etc/init.d/apache2 restart

    至此环境就全部完成了,下面进行测试下。

    测试

    在站点根目录/var/www/下新建hello.py文件,内容如下:

    from mod_python import apache

    def handler(req):

    req.write("Hello World!")

    return apache.OK

    确保该文件有执行权限,为了方便直接改成777:

    $ chmod 777 hello.py

    用浏览器访问下该文件:

    http://localhost/hello.py

    如果看到hello world!就表示成功了。

    问题来源于python学习网

    2019-12-11 16:54:16
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载