转自:http://blog.163.com/ljf_gzhu/blog/static/131553440201211522317367/

备注:

PC Linux:Ubuntu-10.10
Linux用户:root
lighttpd版本:1.4.30
gcc版本:4.4.5 
 
1. 编译、安装
1.1. 先到lighttpd官网下载对应版本的软件包:
我下载的是 lighttpd-1.4.30.tar.gz
1.2. 将压缩包解压到任意目录(我的是 /root/Desktop/common)得到文件夹 lighttpd-1.4.30
1.3. 在文件夹 lighttpd-1.4.30 中创建shell脚本,命名为:configure-x86.sh
1.4. 在shell脚本 configure-x86.sh 中输入如下代码:
#! /bin/sh
./configure --prefix=/opt/web/lighttpd-1.4.30-x86 --host=i686-pc-linux --build=i686-pc-linux --disable-FEATURE --enable-shared --disable-static --disable-lfs --disable-ipv6 --without-PACKAGE --without-valgrind --without-openssl --without-kerberos5 --without-pcre --without-zlib --without-bzip2 --without-lua
1.5. 打开控制台,cd进入 lighttpd-1.4.30 目录
1.6. 给 configure-x86.sh 文件添加可执行属性,执行命令:
chmod +x configure-x86.sh
1.7. 配置lighttpd,执行命令:
./configure-x86.sh
1.8. 编译lighttpd,执行命令:
make
1.9. 安装lighttpd,执行命令:
make install
1.10. 安装完成后,在安装目录 /opt/web/lighttpd-1.4.30-x86 中生成 lib、sbin和share三个文件夹,如下图所示:
 
2. 配置
2.1. 在安装目录 /opt/web/lighttpd-1.4.30-x86 中手动创建如下文件夹:cache、cgi-bin、config、log、sockets、upload、vhosts、webpages。如下图所示:
 

2.2. 将源码包中doc/config目录下的config.d、lighttpd.conf和modules.conf复制到安装目录中config文件夹里面,如下图所示:

 

2.3. 修改刚复制过来的lighttpd.conf文件

1)将16行至20行修改为如下褐色加粗字体所示:
var.log_root    = "/opt/web/lighttpd-1.4.30-x86/log"
var.server_root = "/opt/web/lighttpd-1.4.30-x86"
var.state_dir   = "/opt/web/lighttpd-1.4.30-x86"
var.home_dir    = "/opt/web/lighttpd-1.4.30-x86"
var.conf_dir    = "/opt/web/lighttpd-1.4.30-x86/config"

2)将61行和93行修改为如下褐色加粗字体所示:

var.cache_dir   = server_root + "/cache"
server.use-ipv6 = "disable"
3)将104和105行注释掉,如下所示:
#server.username  = "lighttpd"
#server.groupname = "lighttpd"
4)将115行修改为如下褐色加粗字体所示:
server.document-root = server_root + "/webpages"
5)将127行注释掉,如下所示:
#server.pid-file = state_dir + "/lighttpd.pid"
6)如果不需要查看错误日志文件,可以将141行注释掉,如下所示:
#server.errorlog             = log_root + "/error.log"
7)将152行、158行、191行注释掉,如下所示:
#include "conf.d/access_log.conf"
#include "conf.d/debug.conf"
#server.network-backend = "linux-sendfile"
8)根据系统资源设置207行和225行的数值,本系统的设置分别如下褐色加粗字体所示:
server.max-fds = 
server.max-connections = 
9)将314至316行注释掉,如下所示:
#$HTTP["url"] =~ "\.pdf$" {
#  server.range-requests = "disable"
#}
10)将373行修改为如下褐色加粗字体所示:
server.upload-dirs = ( "/opt/web/lighttpd-1.4.30-x86/upload" )
 
2.4. 修改刚复制过来的modules.conf文件
1)找到43行,将光标定位到逗号后面,回车,插入如下内容:
"mod_alias",
2)使能CGI模块,将138行的注释符去掉,如下所示:
include "conf.d/cgi.conf"
 
2.5. 修改刚复制过来的conf.d文件夹里面的cgi.conf文件
1)将15至19行这一段配置修改如下:
原文内容:
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "/usr/bin/perl",
                               ".rb"  => "/usr/bin/ruby",
                               ".erb" => "/usr/bin/eruby",
                               ".py"  => "/usr/bin/python" )
更改后:
cgi.assign = (".cgi" => "")
#cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
#                               ".cgi" => "/usr/bin/perl",
#                               ".rb"  => "/usr/bin/ruby",
#                               ".erb" => "/usr/bin/eruby",
#                               ".py"  => "/usr/bin/python" )
2)将28行的注释符去掉,如下所示:
alias.url += ( "/cgi-bin" => server_root + "/cgi-bin" )
 
3. 运行测试
3.1. 在任意地方创建一空白文档,在文档中输入如下HTML代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>lighttpd测试</title>
</head>
<body>
<p>轻量级web服务器lighttpd的编译及配置(for x86-linux)</p>
<hr>
<p>测试页面</p>
</body>
</html>
3.2. 将文档保存为index.html,并复制到安装目录中的webpages文件夹里面,如下图所示:
3.3. 开启命令台,cd进入到lighttpd可执行文件的安装目录:cd /opt/web/lighttpd-1.4.30-x86/sbin/
3.4. 执行命令启动lighttpd服务器:./lighttpd -f ../config/lighttpd.conf ,如下图所示:

3.5. 启动网页浏览器,如 Google Chrome,输入本机IP地址,回车,即可浏览到刚才创建的主页了,如下图所示:

3.6. 关闭服务器:killall lighttpd

 
结束语:
        由于本人移植lighttpd的目的是为了开发嵌入式应用,因此配置文件中的设置都是针对嵌入式系统中有限的资源而作的配置,测试OK后即可把这些配置文件原封不动地复制到开发板直接应用。

轻量级web服务器lighttpd的编译及配置(for x86-linux)的更多相关文章

  1. [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试

    Linux下使用的轻量级WEB服务器主要有:lighttpd.thttpd.shttpd和boa等等,而Boa是使用最为广泛的轻量级WEB服务器之一(当然,阿帕奇是世界使用排名第一的Web服务器软件) ...

  2. Tengine,轻量级Web服务器

    阿里妹导读:Tengine,轻量级Web服务器,基于Nginx进行开发,针对大访问量网站的需求,新增了很多高级功能和特性.比如,Tengine兼容Nginx的所有配置,并且增加了独立进程框架.页面优化 ...

  3. 一篇文章带你了解轻量级Web服务器——Nginx简单入门

    一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...

  4. 【Linux内核】编译与配置内核(x86)

    [Linux内核]编译与配置内核(x86)  https://www.cnblogs.com/jamesharden/p/6414736.html

  5. lighttpd 轻量级WEB服务器

    Lighttpd 是一款开源 Web 服务器软件.Lighttpd 安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化.相对于其它的 Web 服务器而言,Lighttpd 占用内存更少:因其 ...

  6. WEB服务器3--IIS7.0安装和配置

    安装Web服务器(IIS) 点击开始菜单->所有程序->管理工具->服务器管理器,启动服务器管理器,界面如下: 在服务器管理器中,选择角色,你将可以看到角色总视图. 点击添加角色,会 ...

  7. Tomcat轻量级web服务器

    1.三种web服务器 apache: 动态网站 nginx: 静态网站 tomcat:java开发的程序 2.tomcat安装 官网下载安装包(tomcat 9) 解压并放在/usr/local下 c ...

  8. HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器

    HttpServer的特点1.完全采用IOCP模型,实现真正的异步IO,高并发.高可靠: 2.支持4G以上文件下载: 3.支持断点续传: 4.轻量级,体积小,服务器文件仅200多K,无任何依赖库: 5 ...

  9. http-server 超轻量级web服务器

    有的时候做前端,想要运行一些代码,但是又没有必要使用tomcat或者Apache http server,这个时候一个轻量级的简单的http server就可以搞定了. Http-server是基于n ...

随机推荐

  1. vim常用命令(复习版)(转)

    原文链接:http://blog.csdn.net/love__coder/article/details/6739670 1.光标移动 上:k 下:j 左:l 『字母L小写』 右:h 上一行行首:- ...

  2. Oralce Spatial

    1.建立数据库连接 create public database link ytlink connect to hightop identified by hightop using '(DESCRI ...

  3. CSS中cursor属性给标签加上小手形状

    HTML/CSS 2012-08-10 CSS,标签 我们发现a标签在网页中有一个值得注意的地方,即鼠标移到a标签上光标会变成一只小手的图标,移出a标签后又恢复为默认箭头. 如今,JS在网页中的功能越 ...

  4. memcache和redis的对比

    1.memcache a.Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站 ...

  5. linux命令(7):ipcs/ipcrm命令

    ipcs作用 :查看消息队列(ipcs –q).共享内存(ipcs –m).信号灯(ipcs -s) ipcrm作用 :删除消息队列.共享内存.信号灯 ipcrm使用方式: ipcrm [ -M ke ...

  6. python和语法糖

       语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的编程习惯.(百度百科的 ...

  7. hdu 1399(水题)

    Starship Hakodate-maru Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  8. 查看linux版本及lsb_release安装及一些想法

    https://blog.csdn.net/darkdragonking/article/details/61194308

  9. CentOS6.5修改/etc/pam.d/sshd后root无法ssh登陆

    现象:由于公司需要服务器的登陆操作进行安全加固,同事为了省事,直接把CentOS7上的/etc/pam.d/sshd替换掉CentOS6.5上的/etc/pam.d/sshd,导致root用户ssh登 ...

  10. CentOS7配置redis主从复制

    规划 ip port role 192.168.1.31 6379 master 192.168.1.32 6379 slave 192.168.1.33 6379 slave 0.关闭防火墙 sys ...