linux搭建Lighttpd+cgi+fastcgi

本文详细介绍了如何在Linux系统上安装和配置lighttpd服务器,结合CGI和FastCGI技术,实现高效动态网页处理。通过下载、解压lighttpd源码,配置并安装,接着配置lighttpd的配置文件,启用CGI和FastCGI模块。此外,还展示了如何编写和部署CGI及FastCGI程序,最后进行测试验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

教程贴源码

一、简述

CGI是Web服务器和一个独立的进程之间的协议,它会把HTTP请求Request的Header头设置成进程的环境变量,HTTP请求的Body正文设置成进程的标准输入,进程的标准输出设置为HTTP响应Response,包含Header头和Body正文。

快速通用网关接口(Fast Common Gateway Interface/FastCGI)是通用网关接口(CGI)的改进,描述了客户端和服务器程序之间传输数据的一种标准。FastCGI致力于减少Web服务器与CGI程式之间互动的开销,从而使服务器可以同时处理更多的Web请求。与为每个请求创建一个新的进程不同,FastCGI使用持续的进程来处理一连串的请求。

fastcgi相对于传统cgi,可以实现常驻进程的效果。传统cgi是收到请求之后才会启动cgi程序,处理完成后就退出,这对响应速度、资源不断的申请和释放,状态的保持有影响。

二、安装lighttpd

2.1 下载lighttpd

lighttpd官网:Index of /lighttpd/

比如我这里选择其中一个版本lighttpd-1.4.66.tar.gz下载
在这里插入图片描述

2.2 解压

  tar zxvf lighttpd-1.4.66.tar.gz

2.3 创建安装目录

创建lighttpd目录,后面用作lighttpd安装路径

在这里插入图片描述

2.4 安装

进入lighttpd-1.4.66目录下,列出所以文件以及目录。其中configure为脚本配置工具。
在这里插入图片描述

查看configure配置选项与参数:

  ./configure -h

执行命令配置并指定安装路径,执行之后会根据配置生成Makefile文件。

  ./configure -C --prefix=/home/yimning/lighttpd/ --without-pcre2 --without-zlib

–without-pcre2 --without-zlib 附带这两个参数是因为我虚拟机没有安装pcre2和zlib,如果已经安装或需要请自行安装,然后就暂时先不需要这两个参数了。

执行完之后就没有报错,就在当前目录生成Makefile如下:

在这里插入图片描述

执行编译命令

  make -j8 

执行安装命令,即可安装到指定的目录

  make install 

安装成功后进入安装目录(lighttpd)下查看生成的文件并查看Lighttpd的版本,如下所示:

在这里插入图片描述

三、配置lighttpd

3.1 拷贝config

进入lighttpd-1.4.66/doc目录下拷贝config整个目录到当前lighttpd目录中。执行命令如下:

   cp ../lighttpd-1.4.66/doc/config/ ./ -rf

在这里插入图片描述

3.2 创建相关目录

在lighttpd中创建相关目录,后面修改配置会使用到,如下

  mkdir cache log sockets vhosts www upload

log目录存放lighttpd相关日志

sockets目录存放的是与fcgi通信的本地域socket

www用作存放相关网页资源,存放cgi程序等。

upload用作存放上传文件路径等。

在这里插入图片描述

3.3 修改配置

修改lighttpd.conf


开启lighttpd服务

在上述步骤安装成功之后就可以启动lighttpd服务了。如下:

  sudo  /home/yimning/lighttpd/sbin/lighttpd -f /home/yimning/lighttpd/config/lighttpd.conf

其中使用-f参数指定配置文件:/home/yimning/lighttpd/config/lighttpd.conf

若没有报错,即可在在 /home/yimning/lighttpd/www/下放一个index.html以便启动lighttpd测试。

index.html网页代码如下:

<!DOCTYPE html>
<html lang="en">
<!-- head标签代表网页头部-->
<head>
  <!--  meta描述性标签,它用来描述我们网站的一些信息-->
  <meta charset="UTF-8">
  <meta name="author" content="Yimning">
  <meta name="email" content="1148967988@qq.com">
  <meta name="description" content="Build Lighttpd">
  <!--  title网页标题-->
  <title>Hello Lighttpd</title>
</head>
<!-- body标签代表网页主体-->
<body>
  Hello,Lighttpd!
</body>
&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值