教程贴源码
一、简述
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>
&