Linux Apache使用CGI
CGI(Common Gateway Interface,通用网关接口)是网络服务器可以将查询传递到专门的程序中并且在网页上显示结果的标准机制。Apache等服务器默认是支持CGI的,只需要修改一下配置文件,有时甚至不需要修改,只需要查看下配置文件中CGI程序被放置在何处,然后只需要在对应的CGI目录中放入你要执行的CGI程序就可以啦。
默认的情况下,也就说你的机器的80端口没有被占用的情况下,其实你需要修改的东西特别少,甚至几乎是不需要动Apache的配置文件的。这样分两种情况来说明配置是如何进行的:
- 默认80端口未被占用的情况,
cd /etc/apache2进入到Apache的配置文件夹下,会看到site-available目录,这下面存放的是关于本机上配置的虚拟主机的配置信息,以前貌似很多信息都是配置在httpd文件里面的,但是现在好像主要是将这些配置信息配置到site-available目录下的文件里,打开下面的default文件,会看到
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
类似下面的配置,配置所示,你的CGI程序应该放到/usr/lib/cgi-bin目录下,当然,不同的机器安装apache的目录可能不一样,这里也就未必都是相同的,根据自己的机器的具体情况而定。这个信息如果有的话,其实,整个Apache支持CGI的配置就完成啦。
- 端口80已经被占用的情况,这时如果想启动APache的话,要么把占用80端口的服务关掉,然后启动Apache,要么,修改APache配置的端口,这里介绍第二种,Apache的端口配置信息在两个文件里,一个是
/etc/apache2/ports.conf文件中,将里面的80修改为其他的你的主机未被占用的端口即可。然后需要修改下/etc/apache2/sites-available下面的default文件中的端口号,这样修改完成后,做和上面的1相同的操作即可。
重启一下Apache,使得配置生效。可以使用service apache2 restart或者/etc/init.d/apache2 restart来重新启动Apache服务器。
之后只需要在你的cgi-bin目录下添加可执行的脚本文就可以啦,当然用C语言写的可执行文件也是可以的,比如你可以用一下cgic来试验一下。
当写完自己的cgi程序后,打开一个浏览器访问 http://你的服务器地址:端口号/cgi-bin/你的cgi程序 就可以啦,如果出错,可以查看下错误日志,错误日志的存放地点可以到/etc/apache2/envvars中查看。一般主要是两个错误:1.权限问题 2.你的代码确实有问题。
基本确保了这两个问题不存在啦,就可以顺利的执行你的CGI程序啦!
Linux Apache使用CGI的更多相关文章
- Linux服务器---apache支持cgi
Apache支持cgi 1.打开Apache配置文件httpd.conf,搜索“cgi”,找到下面的一段,去掉“addhandler”前面的“#“,这样就开启了Apache的cgi功能 [root@ ...
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...
- CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所 ...
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
- Which PHP mode? Apache vs CGI vs FastCGI
Which PHP mode? Apache vs CGI vs FastCGI There are multiple ways to execute PHP scripts on a web ser ...
- Linux+Apache+Mysql+Php
CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境 一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, My ...
- linux Apache安装
原文:linux Apache安装 1. 下载apache,http://httpd.apache.org/download.cgi 通过这个官方网站,我们可以下到最新的版本.现在版本都 ...
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】
本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...
- CentOS 6.3安装配置LAMP服务器(Linux+Apache+MySQL+PHP5)
服务器系统环境:CentOS 6.3 客户端系统环境:Windows 7 ultimate(x86)sp1 简体中文旗舰版 ※ 本文档描述了如何在Linux服务器配置Apache.Mysql.PHP ...
随机推荐
- SP Flash Tool版本对应MTK处理器型号(SP Flash Tool 版本速查)
SP Flash Tool v3.1224.0.100 MT6516,MT6573,MT6573,MT6575,MT6575,MT6577, SP Flash Tool v3.1332.0.187 M ...
- ESP8266WiFiGeneric---通用库--事件和配置
ESP8266WiFiSTAClass .ESP8266WiFiScanClass .ESP8266WiFiAPClass 可以访问 ESP8266WiFiGenericClass的private和p ...
- 【Spring】Spring-Session-Data-Redis实现session共享
前言 在开发中遇到一个关于用户体验的问题,每次当运维进行更新重启服务器时,都会导致会员平台中已登录的用户掉线.这是因为每个用户的会话信息及状态都是由session来保存的,而session对象是由服务 ...
- 016:URL命名与反转URL
为什么需要URL命名? 主要解决蛋疼url变化情况,比如:哪天项目经理或领导过来说,把login改成signin,把register改成signup等蛋疼的需求——因为一旦改了url后,相关视图函数里 ...
- php四种基础算法:冒泡,选择,插入和快速排序法PHP基础教程
许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一个初级phper,虽然很少接触到算法方面的东西.但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌 ...
- selenium,控制滚动条
今天写selenium用例的时候,遇见奇葩的问题,FF下是没有错误的,但是在chrome和ie下就会有问题,后来发现是 操作中点击一个按钮,在页面不可见,就会导致异常,解决方法如下: element ...
- VMware NAT 静态IP模式下上网
自从开始学Linux之后,对使用NAT模式上网,很是困惑.具体原理,还待求证. 使用方法(VMware): 简介: wmware在NAT使用方面很是轻松 打开本地的网络适配器. 修改虚拟网卡VMnet ...
- easyui 功能列传递一行数据
DeleteRow(' + JSON.stringify(row).replace(/"/g, '"') + ',0,' + Pindex + ',' + index + ')
- Springboot application 本地HTTPS配置
使用keytool 命令,生成一个数字证书: keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore key.p1 ...
- 20165218 《网络对抗技术》Exp6 信息收集与漏洞扫描
Exp6 信息收集与漏洞扫描 实践过程记录 一.各种搜索技巧的应用 1_搜索网址目录结构 dir_scanner use auxiliary/scanner/http/dir_scanner This ...