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程序已经运行了。

原文链接:http://www.cnblogs.com/tt-0411/archive/2011/11/21/2257203.html

【编辑推荐】

  1. 给程序员介绍一些C++开源库
  2. C++11标准发布 附标准草案文本
  3. Dart之于JavaScript正如C#之于C++
  4. C++程序运行时的异常处理
  5. 深入理解gtest C/C++单元测试经验谈
责任编辑:彭凡 来源: 博客园
相关推荐

2010-05-21 11:50:54

IIS服务器

2010-05-17 16:50:38

IIS服务器

2009-07-06 17:34:38

JSP HTTP服务器

2018-10-15 09:39:12

服务器开发语言

2010-05-12 18:04:41

IIS服务器

2023-08-17 20:13:42

2022-06-13 08:55:01

aardio项目开发

2014-09-22 09:52:06

2019-01-30 14:42:00

Apache服务器web服务器

2018-05-04 12:22:47

2018-10-23 09:58:23

ApacheNGINXWeb

2009-12-30 10:09:08

Ubuntu Apac

2016-10-13 15:57:28

nginxphpwindows

2018-04-02 15:07:01

LinuxApacheWeb服务器

2017-08-22 15:39:14

Apache服务器API

2011-03-11 15:52:59

LAMP优化

2010-07-12 13:12:05

ApacheTomcat

2010-04-16 17:31:33

Apache服务器

2012-01-18 10:41:29

ibmdw

2012-02-07 14:47:03

ApacheHTTP服务器
点赞
收藏

51CTO技术栈公众号