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 是不一样的,一个是 一个是 ,但获得内容却是一模一样,为什么会这样呢?
还记得我们刚刚修改配置文件 中的
这行代码吗?
访问 就相当于访问文件的实际目录,而访 则相当于是访问软连接。
领取专属 10元无门槛券
私享最新 技术干货