Apache2 配置 CGI 支持 Python3

CGI (Common Gateway Interface) 通用网关接口。是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

Web 服务器常用的有 Apache 和 Nginx,Nginx 配置更为简单,这里以 Apache2 为例,介绍如何使用 Apache 的 CGI 功能在 Web 端运行 Python3。

一、安装 Apache

安装 Apache2 网上教程很多,也很简单,这里不做详述。

我们以 Ubuntu 14.04 系统为例。

安装 Apache:

注意:

ubuntu 发行版的 Apache配置文件和其他 Linux 发行版有些许不同,其他 Linux 发行版的主配置文件是 。

Ubuntu 的配置文件都在 目录下

主配置文件:apahce2.conf

监听端口和主机配置:port.conf

虚拟主机文件:sites-available

虚拟主机软连接:sites-enabled

模块文件:mods-available

模块软连接:mods-enabled

配置文件:conf-available

配置软连接:conf-enabled

二、配置 CGI

1. 修改 配置文件

打开 文件:

这行的注释去掉

2. 修改 配置文件

打开 配置文件:

添加

这行代码在文件末尾

3. 修改 配置文件

打开 配置文件:

修改

三项配置文件配置好后重启 Apache

若配置没有错误就可以正常使用 CGI 了

三、测试

因为刚刚我们在配置文件中配置 为代码的实际目录,所以代码也必须放在这个目录下,而且要注意权限是 。

运行结果:

运行结果:

运行结果:

运行结果:

运行结果:

因为 C 语言是编译型语言,源码不能直接执行,所以先将其编译为可执行的二进制文件,在执行。

由此,我们也看出了 CGI 的强大之处。能执行所有的解释型语言和几乎所有的编译型语言。

四、实例

测试通过后我们来做点有意义的事情,用 CGI 和原生 Python3 代码封装一个 API。

运行结果:

仔细看两个页面的 URL 是不一样的,一个是 一个是 ,但获得内容却是一模一样,为什么会这样呢?

还记得我们刚刚修改配置文件 中的

这行代码吗?

访问 就相当于访问文件的实际目录,而访 则相当于是访问软连接。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180305G1C1HR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券