C语言CGI和Apache服务器的开发环境-阿里云开发者社区

开发者社区> 寒凝雪> 正文

C语言CGI和Apache服务器的开发环境

简介:
+关注继续查看

今天中午在研究c语言gui时看到了cgi。之前花了些时间找c语言的gui框架,也找到了几个暂时比较满意的,但是看到了cgi后觉得也可以尝试一下。在web开发方面有点经验,或许会简单一些。Google了一下,现在讨论cgi,尤其是c语言cgi的话题已经很少了,花了些精力,总算搭建好了一个可用的开发环境,也运行出了程序。下面简单分享一下,我的实验过程。其实是很简单的事情。

  首先,需要用到的这些工具和代码:

  C语言编译器,我用了IDE(Vsiual C++ 2008 Express Edition,下面称VC2008),其他编译器(gcc、tcc等)也可;

  Apache服务器,我用的是USBWebSever中包含的Apache服务器(下载地址) ,这是个AMP服务器套装,不用安装即可使用,而本地安装的Apche服务器也可以使用;

  cgic(下载地址 ),这是用ANSI C写的一个cgi库,这里用它提供的代码来测试我们的运行环境,其他规范的c代码也是可以的;

  接着,编译C语言的cgi程序。

  在VC2008里面建一个Visual C++空项目;

  从刚才下载的cgic代码压缩包中提取cgic.h、cgic.c和cgictest.c三个文件,添加到新建的项目里面;

  打开当前项目的属性页(在解决方案资源管理器右击项目名称,选菜单中的属性),在配置属性-C/C++-预处理器中找到预处理器定义,添加WIN32;

  这时可以按F7生成解决方案,VC2008开始编译代码和链接,生成可执行文件(.exe)。报出若干警告,忽视之。这样cgi程序就做好了。

  然后,配置和启动Apache服务器。

  对于本地安装的Apache服务,需要修改配置文件httpd.conf若干内容(参考文章链接),如下:

  1. ScriptAlias /cgi-bin/ "E:/apache2/Apache2/cgi-bin/"  
  2. <Directory "E:/apache2/Apache2/cgi-bin"> 
  3. AllowOverride None  
  4. Options ExecCGI  
  5. Order allow,deny  
  6. Allow from all  
  7. </Directory> 
  8. AddHandler cgi-script .exe .pl .cgi

  其中E:/apache2/Apache2/cgi-bin/要改成你准本放cgi程序的目录。修改好httpd.conf后可能需要重启Apache服务器

  对USBWebSever,似乎不用修改httpd.conf。如果需要,应该对settings目录下的httpd.conf类比上面的内容进行修改,文中{rootdir}/cgi-bin/这类文字最好不要修改!修改好以后,双击USBWebSever.exe就可以启动Apache服务器了。

  最好把刚才生成的cgi程序(.exe文件),复制放到上文中提到的/cgi-bin/目录下,文件名最好改成index.cgi这样的形式。对于USBWebSever,cgi-bin目录应该是root目录下的cgi-bin目录(如果没有要新建一个),不是和USBWebSever在同一目录下的cgi-bin目录。我的目录结构是这样的

  打开浏览器输入http://localhost:8080/cgi-bin/index.cgi(地址取决于你自己的具体设置),就可以看到cgi程序已经运行了。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Apache Thrift - 可伸缩的跨语言服务开发框架
http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/   前言: 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。
755 0
Linux下apache服务器安装,sqlite安装,apache启动,关闭,重启,编写cig程序进行测试,浏览器访问cig程序
 1安装ubuntu 14.04 64位操作系统 2安装apache和sqllite以及依赖的sqllite开发库 3配置目录 /etc/apache2 4 html页面目录 var/www/ 5 cgi-bin目录 /usr/lib/cgi-bin 6日志文件:/var/log/apache2 7站点配
1856 0
使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
原文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 摘要 主要讲解初期的开发环境搭建,Maven的简单教学。 IDEA Spring MVC 目录[-] 文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
1611 0
阿里云服务器搭建小程序环境开发教程
阿里云服务器搭建小程序环境开发教程
1411 0
Apache Mina开发手册之三
Apache Mina开发手册之三 2、Mina服务器的架构 Mina服务器的架构图如下所示: 1)IOAcceptor即I/O接收器,负责监听网络连接和发过来的数据包。
762 0
Apache再次接受阿里开源产品捐赠:移动开发框架Weex进入孵化
12月15日,阿里巴巴宣布将移动开源项目Weex捐赠给Apache基金会开始孵化,Weex有望成为中国移动领域的首个Apache顶级项目,这意味着中国移动技术开始反哺世界。据悉,这也是继JStorm、RocketMQ之后,阿里向Apache捐赠的第三个项目。
9709 0
Apache Mina开发手册之二
Apache Mina开发手册之二 四、NIO概述 NIO API是Java 1.4版引入的,NIO的意思是非阻塞的I/O通信。 要知道Mina的NIO是基于NIO-1开发的,而在JDK 7中引入了NIO-2的库,但Mina还没有从NIO-2中获得各方面的提升,因此Mina还是基于NIO-1的。
870 0
Ubuntu 中用 delphi 开发 apache
经过近15年的沉默。delphi 10.2 终于重新开始支持linux 开发了。 今天说一下在ubuntu中开发apache的方法。 首先安装ubuntu 的delphi 开发环境,请参考以前的文章 http://www.cnblogs.com/xalion/p/6368899.html   在delphi 10.2 中,只支持apache 2.4(既然有新的,不支持2.2也就无所谓了)。
1105 0
+关注
5854
文章
223
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载