FASTCGI程序,做个备份,以后用
11FastCGI 用来作为 Web 服务器的设计方案,有着很多优点。要搭建这样一个服务,有一个最简单的办法来搭建,可以使用 Apache 以及 mod_fcgid 模块来实现。
鉴于网上有关 FastCGI 的中文资料(尤其是实战资料)比较少,下面就用 Ubuntu 11.04 及 Apache2. 为例,说明一下 FastCGI 服务器配置的基本流程。
Apache 及 mod_fcgid 模块的配置 首先,正确安装 Apache,这个直接从命令行安装就可以了:
$ sudo apt-get install apache2
然后,再安装 mod_fcgid 模块,同样可以直接从命令行安装:
$ sudo apt-get install libfcgi-dev
安装好 Apache 及 mod_fcgid 模块以后,再到配置文件
/etc/apache2/sites-enabled/-default
里配置一下有关 mod_fcgid 的选项(注意,根据 Apache 版本及安装方式不同,配置文件所在路径会有所不同,详细情况请查阅 Apache 手册),配置示例如下所示:
<Directory /var/www/>
SetHandler fcgid-script
Options +ExecCGI # Customize the next two directives for your requirements.
Order allow,deny
Allow from all
</Directory>
这里配置的目录,是指把后面编译好的 FastCGI 程序放到目录 /var/www/ 下,当然,你也可以选择任意一个 Apache 有权限运行的目录。
安装 fcig 开发库 在 Linux 下,需要安装库 libfcgi 才能在 C, C++, Java, Perl 等程序下开发 FastCGI 功能,这样才能在 C/C++ 程序里正确使用 FastCGI,fcgi 库把 FastCGI 封装好了,你不需要关注 FastCGI 协议的任何细节。可以使用下面的命令来安装:
$ sudo apt-get install libfcgi-dev
在你的工作目录里新建一个 .c 文件,并输入下面这段代码,并保证可以正确编译:
#include "fcgi_stdio.h"
#include <stdlib.h> void main(void)
{
int count = ;
while(FCGI_Accept() >= )
printf("Content-type: text/html\r\n"
"\r\n"
"<title>FastCGI Hello!</title>"
"<h1>FastCGI Hello!</h1>"
"Request number %d running on host <i>%s</i>\n",
++count, getenv("SERVER_NAME"));
}
使用下面的命令编译上述代码:
$ gcc tiny-fcgi.c -o tiny-fcgi -lfcgi
编译好的 FastCGI 程序应该可以直接运行(是的,就像普通可执行程序一样),会输出相关的结果,你可以试试。
然后把编译出来的文件,拷贝到上面 Apache 设置的 FastCGI 程序可执行目录里:
$ cp tiny-fcgi /var/www/
访问你的 FastCGI 服务 重启 Apache 服务:
$ sudo /usr/sbin/apachectl restart
然后在浏览器里输入类似下面的网址,就可以访问这个 FastCGI 提供的服务了: http://127.0.0.1/tiny-fcgi 小结 上述整体配置还算很简单,以后再介绍一些 FastCGI 高级使用技巧。FastCGI 这种比较古老的协议,特别适合用来设计需要做分布式计算、用 C 来实现计算代码的场景。服务器与计算引擎的分开,能很方便地让 Web 开发人员与后台服务器人员不受干扰,各自发挥自己的特长。
FASTCGI程序,做个备份,以后用的更多相关文章
- Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
FastCGI编程包括四部分:初始化编码.接收请求循环.响应内容.响应结束循环. FCGX_Request request; FCGX_Init(); ); FCGX_InitRequest(& ...
- 用c++写一个 “hello,world” 的 FastCGI程序
原文:http://chriswu.me/blog/writing-hello-world-in-fcgi-with-c-plus-plus/ 上面的连接地址给出的是作者的原文地址. 另外一个作者稍微 ...
- 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
http://blog.csdn.net/allenlinrui/article/details/19419721 1.介绍 Nginx - 高性能web server,这个不用多说了,大家都 ...
- 用BenchmarkDotNet给C#程序做性能测试
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用BenchmarkDotNet给C#程序做性能测试.
- 针对C#程序做性能测试的一些基本准则
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:针对C#程序做性能测试的一些基本准则.
- centos6.5环境通过shell脚本备份php的web及mysql数据库并做远程备份容灾
centos6.5环境通过shell脚本备份php的web及mysql数据库并做远程备份容灾 系统:centos6.5 1.创建脚本目录 mkdir -p /usr/local/sh/ 创建备份web ...
- Nginx + FastCGI 程序(C/C++)搭建高性能web service的demo
http://blog.csdn.net/chdhust/article/details/42645313 Nginx + FastCGI 程序(C/C++)搭建高性能web service的Demo ...
- 用微信小程序做H5游戏尝试
微信小程序发布后,公司虽然没有拿到第一批内测资格,但作为微信亲密合作伙伴,一定要第一时间去尝试啦.现在微信小程序刚发布还在测试阶段,可以说是1.0版本,所以框架和结构内容都还不多,相关的文档跟微信AP ...
- macOS上实现Qt应用程序做文件关联打开
一.背景介绍 用Qt开发的应用程序要实现文件关联,双击时用默认关联的程序打开文件,在Windows上这个功能非常容易实现.Windows应用程序在安装的时候可以在注册表中写入相关的键值对.打开文件的时 ...
随机推荐
- nodejs中使用递归案例
var http = require('http'); //1.正常逻辑第一步正常请求,动作进行一次的方法: function seqRequest(i,limit){ var req = http. ...
- jquery绑定事件,解绑事件
unbind([type],[data]) 是 bind()的反向操作,从每一个匹配的元素中删除绑定的事件.如果没有参数,则删除所有绑定的事件.你可以将你用bind()注册的自定义事件取消绑定.如果提 ...
- delphi “Invalid floating point operation.”错误的解决方法
这两天用webbrower写东西,有时候打开SSL加密站点时会出现”Invalid floating point operation.”的错误,上网搜了下,把解决方法贴上. 导致原因 在Delphi2 ...
- 20141014C#面向对象抽象方法,抽象类,接口
里氏代换原则.可以用子类的对象替代父类的对象. 抽象依赖原则.依赖——形参,关联 一.抽象方法: 在一些父类中,某些行为不是非常明确,因此无法用代码来具体实现,但是类必须具备此方法,因此把这样的方法定 ...
- IOS开发-UIView之动画效果的实现方法(合集)
http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果.使用动画可以让我们的APP更酷更炫,最重要的是优化 ...
- spring mvc 简单搭建
文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下. web.xml配置: </load-on-startup> </servlet> ...
- Chrome NativeClient创建 (转)
Chrome NativeClient创建 该demo目标是让chrome扩展启动本地exe 1创建一个名叫nativeMsgDemo的控制台程序 #include <Windows.h> ...
- BZOJ 1951: [Sdoi2010]古代猪文( 数论 )
显然答案是G^∑C(d,N)(d|N).O(N^0.5)枚举N的约数.取模的数999911659是质数, 考虑欧拉定理a^phi(p)=1(mod p)(a与p互质), 那么a^t mod p = a ...
- selenium css(转)
如果button上有class属性的,如: <button id="ext-eng=1026" class="x-right-button"...&g ...
- 星际SC地图制作中生成随机位置,也包括所有需要随机的效果
星际SC地图制作中生成随机位置,也包括所有需要随机的效果 利用单位 kakaru T 开头那个, kakaru是随机变化位置 注意kakaru的放置位置和占用格子大小,kakaru周围放上LOCATI ...