安装fcig

此步骤是为了让spawn-fcgi能够识别自定义的demo

  • 下载fcgi:wget ftp://ftp.ru.debian.org/gentoo-distfiles/distfiles/fcgi-2.4.1-SNAP-0910052249.tar.gz

  • 解压安装包:tar -xvf fcgi-2.4.1-SNAP-0910052249.tar.gz

  • 修改文件

    1. find . -name fcgio.h
    2. vim ./include/fcgio.h
    3. 在头部添加代码:#include <cstdio>

编译文件

fcgi-2.4.1-SNAP-0910052249目录下执行:./configure

然后顺序执行命令:makemake install

自定义c文件

  • 创建一个.c结尾的文件,代码如下
#include <iostream>
#include <string> #include <stdio.h>
#include <stdlib.h>
#include <fcgi_stdio.h> int main() { int count = 0;
while(FCGI_Accept() >= 0) {
printf("Content-type: text/html\r\n"
"\r\n"
""
"Hello Badou EveryBody!!!"
"Request number %d running on host %s "
"Process ID: %d\n ", ++count, getenv("SERVER_NAME"), getpid());
}
return 0;
}
  • 编译c文件,命令:g++ -g -o test test.c -lfcgi,编译之后会产生同名的编译文件

  • 运行编译文件test可能提示找不到lib库,修改ld.so.conf文件,然后执行命令ldconfig命令

    • 修改文件:vim /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    /usr/include/boost/
    /usr/local/lib/
    • 执行命令ldconfig
  • 运行编译后的文件,命令:./test

    打印结果

    Hello Badou EveryBody!!!
    Request number 1 running on host (null) Process ID: 36010

测试成功后,启动spawn cgi进行代理托管

  • 运行命令:/usr/local/src/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 8088 -f /test/thrift_test/cgi_demo/test,之后会提示:spawn-fcgi: child spawned successfully: PID: 36213,然后使用命令:netstat -antup | grep 8088查看端口是否被监听

【五】安装fcig的更多相关文章

  1. Pycharm(五)安装库和虚拟环境

    随便进入一个项目 进入设置    Ctrl + alt + S Project *********  - Project Interpreter     ******是你的项目名字 Project I ...

  2. 【转】windows环境下安装win8.1+Mac OS X 10.10双系统教程

    先要感谢远景论坛里的各位大神们的帖子  没有他们的分享我也不能顺利的装上Mac OS X 10.10! 写这篇随笔主要是为了防止自己遗忘,同时给大家分享下我的经验. 本教程适用于BIOS+MBR分区的 ...

  3. 004.测试解析php,安装discuz

    一.配置解析php 编辑nginx配置文件/usr/local/nginx/conf/nginx.conf [root@huh ~]# vim /usr/local/nginx/conf/nginx. ...

  4. windows环境下安装win8.1+Mac OS X 10.10双系统教程

    首先要感谢远景论坛里的各位大神们的帖子  没有他们的分享我也不能顺利的装上Mac OS X 10.10! 写这篇随笔主要是为了防止自己遗忘,同时给大家分享下我的经验. 本教程适用于BIOS+MBR分区 ...

  5. CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: #停止firewall服务 sys ...

  6. python 相关安装和配置

    永久链接: http://michaelzqm.iteye.com/blog/1841966 预览文章: python环境搭建   2013-04-04 博客分类: 综合   一. window环境安 ...

  7. Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书

    伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...

  8. 详解Linux安装GCC方法

    转载自:http://blog.csdn.net/bulljordan23/article/details/7723495/ 下载: http://ftp.gnu.org/gnu/gcc/gcc-4. ...

  9. 【转】在Ubuntu上下载、编译和安装Android最新源代码

    原文网址:http://blog.csdn.net/luoshengyang/article/details/6559955 看完了前面说的几本书之后,对Linux Kernel和Android有一定 ...

随机推荐

  1. Oracle Merge Into的用法详解

    1.    MERGE INTO 的用途         MERGE INTO 是Oracle 9i以后才出现的新的功能.那这个功能 是什么呢?         简单来说,就是:“有则更新,无则插入” ...

  2. jquery使页面滚动到底部

    function scrollToEnd(){//滚动到底部 var h = $(document).height()-$(window).height(); $(document).scrollTo ...

  3. 模块复习 staticmethod和classmethod的区别

    Python中classmethod与staticmethod区别 classmethod:类方法staticmethod:静态方法 在python中,静态方法和类方法都是可以通过类对象和类对象实例访 ...

  4. 小米OJ 有多少个等差数列

    题目链接 https://code.mi.com/problem/list/view?id=20 代码 #include <bits/stdc++.h> using namespace s ...

  5. Java学习---JAVA的类设计

    基础知识 JAVA是由C/C++语言发展而来的纯面向对象语言,其基本元素包括:简单数据类型 和 复合数据类型(即类).类是对客观事物的抽象描述,它有面向对象的四个特点,即:封装性.继承性.多态性和通信 ...

  6. SQL连接的分类

    连接的分类 内连接 等值连接(INNER JOIN) 自然连接(NATURAL JOIN) 交叉连接(CROSS JOIN) 不等连接 外连接 左外连接(LEFT OUTER) 右外连接(RIGHT ...

  7. Radix Sorts

    基数排序 Strings In Java Char Data Type C 语言中的字符数据类型占一个字节(8 比特),最多只能表示 256 个字符.支持 7 位的标准 ASCII(American ...

  8. PDF文件如何转成markdown格式

    百度上根据pdf转makrdown为关键字进行搜索,结果大多数是反过来的转换,即markdown文本转PDF格式. 但是PDF转markdown的解决方案很少. 正好我工作上有这个需求,所以自己实现了 ...

  9. 为什么JS中0.1+0.2 != 0.3

    为什么JS中0.1+0.2 != 0.3 在我曾经的一篇< javascript入门教程 (2) >中,讲到JS中数字运算时,我们提到过一个叫做 数字运算中的精度缺失的问题,当时我们只是简 ...

  10. JavaScript的事件的处理函数(鼠标,键盘,HTML)

    事件处理函数概述 JavaScript 可以处理的事件类型为:鼠标事件.键盘事件.HTML 事件 所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如 click 事件的事件处理函数就是: ...