lighttpd+fastcgi+C语言程序
1、安装环境Ubuntu16.04
2、安装lighttpd
apt install lighttpd
3、安装fastcgi
下载源码:fastcgi-2.4.1-SNAP-0910052249.tar.bz2
解压:tar -xjvf fastcgi-2.4.1-SNAP-0910052249.tar.bz2
进入源码:cd fastcgi-2.4.1-SNAP-0910052249
修改fcgi-2.4.1-SNAP-0910052249/libfcgi/fcgiapp.c
,在里面加一句#include <stdio.h>
。否则编译报错。
配置:./config
编译:make
安装:make install
将编译出的动态库加入环境变量:vim /etc/ld.so.conf
在下面加入一行:/usr/local/lib
使环境变量生效:ldconfig
4、编写C语言程序
vim test.c
#include <stdlib.h>
#include <string.h>
#include <syslog.h>
#include <alloca.h>
#include <fcgiapp.h>
#define LISTENSOCK_FILENO 0
#define LISTENSOCK_FLAGS 0
int main(int argc, char **argv)
{int err = FCGX_Init(); /* call before Accept in multithreaded apps */if (err){return 1;}FCGX_Request cgi;err = FCGX_InitRequest(&cgi, LISTENSOCK_FILENO, LISTENSOCK_FLAGS);if (err){return 2;}while (1){err = FCGX_Accept_r(&cgi);if (err){break;}char **envp;int size = 200;char *result = (char *)alloca(size);strcpy(result, "Status: 200 OK\r\nContent-Type: text/html\r\n\r\n");strcat(result, "<html><h1>TestCGI!</h1></html>\r\n");FCGX_PutStr(result, strlen(result), cgi.out);}return 0;
}
编写makefile:vim Makefile
all:gcc test.c -o test.fastcgi -lfcgi
编译C语言程序:make
5、编写index.html
<html>
<head><title>first cgi page</title>
</head><body><p>hahaha...</p>
</body>
</html>
6、修改配置
创建/var/www/html
目录,将上一步编写的index.html
拷贝到该目录下。
创建/var/www/html/cgi-bin
目录,将之前编写的test.fastcgi
程序拷贝到该目录。
修改lighttpd配置:vim /etc/lighttpd/lighttpd.conf
server.modules = ("mod_access","mod_alias","mod_compress","mod_redirect","mod_rewrite","mod_fastcgi" #新增fastcgi模块
)server.document-root = "/var/www/html" #网页主目录
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
#server.username = "www-data"
#server.groupname = "www-data"
server.port = 80index-file.names = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )# default listening port for IPv6 falls back to the IPv4 port
## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
vim /etc/lighttpd/conf-available/10-fastcgi.conf
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
server.modules += ( "mod_fastcgi" )
fastcgi.server = ("/test" => (("socket" => "/var/www/html/test.socket","bin-path" => "/var/www/html/cgi-bin/test.fastcgi","check-local" => "disable"))
)
7、启动lighttpd
服务
service lighttpd start
可以通过lsof -i:80
查看服务是否启动成功
lighttpd使能fastcgi模块lighty-enable-mod
重新加载配置文件/etc/init.d/lighttpd force-reload
8、测试
浏览器登录127.0.0.1
浏览器登录127.0.0.1/test
lighttpd+fastcgi+C语言程序相关推荐
- Lighttpd+fastcgi+C语言
lighttpd+fastcgi+C语言 一.简述 记--lighttpd+fastcgi ...
- c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...
C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt 主要内容 课程概述 为什么选择C语言作为入门课程? C语言 ...
- 在纸上写好一个c语言程序后,上机运行的基本步骤为,c基本概念(选择题).docx
PAGE / NUMPAGES 一.单选题 1.下面叙述中正确的是: (A) 在C语言程序中,main()函数必须放在程序的开始位置 (B) 在C语言程序中,要调用的函数必须在main()函数中定义 ...
- 周信东c语言实验二实验报告,周信东主编最新版C语言程序设计基础实验一实验报告.doc...
周信东主编最新版C语言程序设计基础实验一实验报告.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我 ...
- linux中编译C语言程序
1.首先安装gcc编辑器 yum install gcc* -y 2.编写C语言程序 [root@test ~]# vim aa.c #include<stdio.h> int main( ...
- java打印四行等腰三角形_(c语言程序案例.doc
(c语言程序案例 上机注意: 1.请大家在VC6.0中建立工程,编写代码,编译(compile),链接(build),运行(execute program)后,输入题目中的例子输入,在输出与题目中的例 ...
- c语言程序与设计苏小红,c语言程序设计苏小红
<实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...
- c语言储存10的500,c语言程序基础练习题500道
1.以下四个选项集的非c语言中介语选项为(a): A) define B) gect C) include D) while IF char scanf go Type printf case pow ...
- c语言程序做四则运算还要余数,大整数四则运算 高质量C语言程序.doc
大整数四则运算 高质量C语言程序 设计题目: 大整数的四则运算 1. 功能简介:编写出实现大整数之间相加,相减,相乘,相除的程序,并输出计算结构. 课程设计要求:采用模块化程序设计 源程序中应有足够的 ...
最新文章
- 戴尔官网全网抄底价! 企业级高性能机Vostro仅¥1,999!更有额外福利等你来领!...
- centos 6.5升级openssl
- 利用bladex+avue实现一对多的关系
- Infinispan版本已映射到最低Java版本
- 【Pytorch神经网络实战案例】09 使用卷积提取图片的轮廓信息(手动模拟Sobel算子)
- Java学习之IDEA2020安装
- 雪豹玩家必备网站推荐:
- c#关于try catch finally的使用,判断日期格式是否正确
- 【训练计划】--2019-04
- STM32F411移植FreeRtos教程
- 微信云支付的扫码支付
- Android跨进程通信--AIDL原理解析
- 上传照片(身份证照片正反面)
- 千呼万唤始出来-YYC松鼠聚合系统搭建教程,理论上可对接一切API
- ue 查看 html,网页查看源文件 默认用UltraEdit或记事本打开 修改办法
- Linux扩容swap分区
- 阿里云账号注册流程方法(图文教程)
- 微信公众号01: ase实现access_token的存储和被动刷新
- MySQL使用HQL语句实现按中文拼音排序
- Mixly for Mac米思齐安装过程遇到的问题(已解决)
热门文章
- 太阳能手机充电器毕设,51代码,附正文
- 谈谈老罗的锤子手机rom发布会
- 制作多重启动光盘——启动易(EasyBoo…
- Windows Terminal 自定义主题配色
- 手把手教你:如何让围棋人工智能Leela Zero陪你“人机大战”
- SteamVR---替换手部模型
- 2015上机二 国际象棋跳马5*5
- 吃鱼还是吃肉,国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。 现在你要根据小宝宝的身高体重,给出补充营养
- android 步行距离,Android 高德地图 步行 路线规划
- 基于springboot外委员工后台管理系统毕业设计源码101157