FastCGI开发学习

FastCGI开发学习http://www.xinze.me/fastcgi%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0/1.下载fastcgi开发包,编译安装http://www.fastcgi.com/dist/fcgi-current.tar.gz1wgethttp://www.fastcgi.com/dist/fcgi-curren

大家好,又见面了,我是你们的朋友全栈君。

http://www.xinze.me/fastcgi%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0/

1. 下载fastcgi开发包,编译安装

http://www.fastcgi.com/dist/fcgi-current.tar.gz

2 tar zvzf fcgi-current.tar.gz
3 cd fcgi-current
4 ./configure
5 make
6 make install

2. 下载spawn-fcgi,编译安装

http://www.lighttpd.net/download/spawn-fcgi-1.6.0.tar.gz

2 tar zxvf spawn-fcgi-1.6.0.tar.gz
3 cd spawn-fcgi-1.6.0
4 ./configure
5 make
6 make install

3. 编写测试的c fastcgi代码,存为 hello.c

01 #include <fcgi_stdio .h="">
02 int main(int argc, char*argv[] )
03 {
04     while( FCGI_Accept() >= 0 ) {
05         printf("Content-Type: text/plain\n\n" );
06         printf("Hello FastCGI\n" );
07     }
08     return0;
09 }
10 </fcgi_stdio>

编译c源文件,运行时有可能会报找不到lib包,这里我复制了一份,也可以做一个软链接。我这里用的是64位的机器,所以复制到了:/usr/lib64,32位的用:/usr/lib。

gcc -o hello hello.c -lfcgi

4. 修改nginx.conf配置文件,重新启动nginx

01 server {
02             listen   80;
03             server_name _;
04  
05             location / {
06                   root   /home/user/www;
07                   index  index.html;
08                   fastcgi_pass 127.0.0.1:9000;
09             }
10 }

5. 启动hello

1 spawn-fcgi -a127.0.0.1 -p9000 -n ./hello

6. 访问nginx服务器,浏览器就会输出:Hello FastCGI

一个nginx c fastcgi学习环境搭建完毕。

fastcgi 开发学习资料:

FastCGI中文参考手册

http://man.lupaworld.com/content/develop/Perl/FastCGI_handbook_cn.pdf

Nginx下配置FastCGI

http://202.108.59.116/docs/Nginx%CF%C2%C5%E4%D6%C3FastCGI.pdf

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157602.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode_1049. Last Stone Weight II_[DP]

    leetcode_1049. Last Stone Weight II_[DP]

    2021年7月7日
    94
  • 启动网页时候自己主动载入servlet假设不使用strus最经常使用的两种方式

    启动网页时候自己主动载入servlet假设不使用strus最经常使用的两种方式

    2022年1月23日
    33
  • 毕业前写了20万行代码,让我从成为同学眼里的面霸

    毕业前写了20万行代码,让我从成为同学眼里的面霸作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言20万行代码写完,毕业了找一份工作不是问题!刚一毕业因为找不到工作,就得报名去参加Java培训的大有人在。并不是说参加培训就不好,只不过以你现在这个毕业的时间点参加,就会显得特别匆忙。因为你的压力既来自于培训还需要花家里一笔不小的费用,也有同班同学已经找到一份不错的工作开始赚钱的比对。大学四年其实有足够的时间让你学会编程,也能从一个较长时间的学习中,知道自己适合不适合做程序员。

    2022年6月12日
    21
  • 【Zigbee】进阶篇(1) Zigbee协议栈创建简单项目,协议栈、事件、消息学习[通俗易懂]

    【Zigbee】进阶篇(1) Zigbee协议栈创建简单项目,协议栈、事件、消息学习[通俗易懂]本篇文章:主要是协议栈的介绍,使用协议栈完成一个简单例子,协调器创建网络的相关问题,学会在协议栈中自定义事件等。正文如下:一、Zigbee协议栈1)Z-stack协议栈是什么?2)Zigbee协议栈分为应用层、网络层、MAC层、物理层.二、Z-stack协议栈1)安装配置协议栈2)创建协议栈项目3)信道4)事件5)消息

    2022年5月28日
    40
  • 深入浅出 超详细 从 线程锁 到 redis 实现分布式锁(篇节 2)「建议收藏」

    深入浅出 超详细 从 线程锁 到 redis 实现分布式锁(篇节 2)「建议收藏」redis实现分布式锁上节我们讲了线程锁在单体项目中的作用,和放在分布式项目里产生的问题,那接下来我们就来解决分布式架构上怎么保证数据的一直性使用redisTemplate实现//设置锁setIfAbsent(“lock”,”1213″)—>SETNXlock”1213″//释放锁redisTemplate.delete(“lock”);@GetMapping(“/cut”)publicObjectkc(){

    2022年6月21日
    23
  • Java 数组转 List 的 4 种方式

    Java 数组转 List 的 4 种方式目录前言【一】最常见方式(未必最佳)【二】数组转为List后,支持增删改查的方式【三】通过集合工具类Collections.addAll()方法(最高效)问题解答总结前言本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。【一】最常见方式(未必最佳)通过Arrays.asList(strArray)方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。关键代码:Listlist=Arrays.asList(

    2022年8月23日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号