`
ferreousbox
  • 浏览: 287515 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

lighttpd的安装和基本模块的使用介绍

阅读更多

    前端时间以为系统的需要,就弄了个lighttpd,主要是使用flowplayer和lighttpd搭建一个在线的flv流媒体播放功能。而且lighttpd也是有mod_flv_streaming模块来支持flv视频的流播放功能,不过我也是只是简单的使用了其中的功能,并不是很深入,但是入门还是可以的。

    首先就是lighttpd的安装了,lighttp的安装需要pcre-7.6.tar.gz,主要是正则式的解析,安装包如下:

1.pcre-7.6.tar.gz    (http://www.pcre.org/)
2.lighttpd-1.4.19.tar.gz   (http://www.lighttpd.net/download/)

一、安装pcre和lighttpd

01 // pcre的安装
02 #tar xf pcre-7.6.tar.gz
03 #cd pcre-7.6
04 #./configure
05 #make clean
06 #make
07 #make install
08
09 // lighttpd的编译安装
10 #tar xf lighttpd-1.4.19.tar.gz
11 #cd lighttpd-1.4.19
12 #./configure --prefix=/usr/local/lighttpd
13 #make clean
14 #make
15 #make install
16
17 // lighttpd的配置文件、用户组和用户的配置
18 #mkdir /usr/local/lighttpd/etc
19 #cp doc/lighttpd.conf /usr/local/lighttpd/etc
20 #groupadd lighttpd
21 #useradd -g lighttpd lighttpd
22
23 // lighttpd的日志文件设置
24 #mkdir /usr/local/lighttpd/logs
25 #vi /etc/init.d/lighttpd
26 修改LIGHTTPD_CONFIG=/etc/sysconfig/lighttpd为/usr/local/lighttpd/etc/lighttpd.conf
27 修改LIGHTTPD_BIN=/usr/sbin/lighttpd为/usr/local/lighttpd/sbin/lighttpd

二、lighttpd的简单配置和主要参数说明

#vi /usr/local/lighttpd/etc/lighttpd.conf
 server.modules 根据需要启动模块
 server.document-root 改为你的网站的根目录(如/www)
 server.errorlog 改为错误日志的路径(如/usr/local/lighttpd/logs/error.log)
 accesslog.filename 改为访问日志的路径(如/usr/local/lighttpd/logs/access.log)

三、启动lighttpd

#/usr/local/lighttpd/sbin/lighttpd -f /usr/local/lighttpd/etc/lighttpd.conf

  然后我们在/www下建立一个index.html,输入hello,然后访问该服务器即可看到该页面,即表明lighttpd安装成功!
lighttpd的命令如下:
#/usr/local/lighttpd/sbin/lighttpd --help
-f <name> 指定配置文件的路径
-m <name> 指定模块的加载目录,默认是/usr/local/lighttpd/lib
-p        在屏幕上显示解析后的配置文件信息(运行信息),要指定-f参数
-t        检测配置文件的正确行,要指定-f参数
-D        设置lighttpd非后台运行,默认是后台运行
-v        显示lighttpd的版本
-V        显示lighttpd的编译时特性信息
-h        显示帮助信息,同--help

四、lighttpd的模块配置

    lighttpd按照上面的安装步骤后,其所有模块都已经安装在/usr/local/lighttpd/lib目录下了,我们设置在server.modules中的模块名称和lib目录下的模块文件的名称一致即可,如mod_secdownload.so就是表示mod_secdownload模块。我们可以在server.modules的列表中增加mod_secdownload来使lighttpd支持mod_secdownload。另外还可以使用这样的语法来增加模块:server.modules += ("mod_secdownload")

1)rewrite 模块配置
    如果要配置rewrite模块,则直接在lighttpd.conf文件中书写:
url.rewrite-once = (
  "^/show-([0-9]+)\.html" => "$1.html",
  "^/v/show-([0-9]+)\.html" => "$1.html"
)

    如果有多个,则使用,分割开写即可,如上说述!另外还有url.rewrite-repeat等方式,请参看文档http://trac.lighttpd.net/trac/wiki/Docs%3AConfigurationOptions!其基本的正则式和apache的rewrite模块基本一样,只是书写形式不一样而已。比如按照上面的rewrite规则,我们在www目录下建立文件:123.html,然后访问:http://localhost:8080/show-123.html即可以访问到123.html这个文件了,和直接访问:http://localhost:8080/123.html是一样的效果。
 

2)secdownload 模块配置
    secdownload是安全下载模块,其主要原理就是根据时间戳来判断请求是否已经超时了,如果超过了指定的时间那么将不允许访问指定的资源,否则就是可以访问。其在lighttpd.conf文件中的配置如下:

secdownload.secret          = "my-password"
secdownload.document-root   = "/home/my-download/"
secdownload.uri-prefix      = "/rs/dl/"
secdownload.timeout         = 60

    先来说下lighttpd针对该模块的url要求,如果使用lighttpd的secdownload模块,那么其请求的url地址必须满足特定的要求才可以,其要求的url格式如下:

<uri-prefix>/<token>/<timestamp-in-hex>/<rel-path>

    其url地址由四个部分组成,分别说明如下:
1.<uri-prefix>:配置文件中secdownload.uri-prefix指定的前缀;

2.<token>:是由配置文件中指定的secdownload.secret要下载的文件的路径(必须以/开头)时间戳三者连接后的MD5加密后的字符串,注意官方网站上提供的例子是php的,其中php的time()获取的就是从1970年到当前的标准时间(单位是秒)的8进制表示形式,如果是使用java的话,那么可以通过如下代码来获取:

1 String timestamp = String.format("%08x", System.currentTimeMillis()/1000);

   因为System.currentTimeMillis()获取的是毫秒,所以应该除1000,这样才可以。比如我要下载的文件的文件存放路径为:/home/my-download/aa.txt。注意到这里的路径前缀就是配置文件中的secdownload.document-root的值,最好是将secdownload.document-root的值设置在当前lighttpd的server.document-root目录之外,这样就可以避免直接下载了。那么针对这个文件动态生成token的java代码就应该是如下了:

1 String timestamp = String.format("%08x", System.currentTimeMillis()/1000);
2 String encoder = Encrypt.MD5("my-password" + "/aa.txt" + timestamp);

    其中Encrypt.MD5是我自己的一个MD5加密方法,大家可以自己写一个,注意该方法中三个部分我是分开写的,第一个就是我们在lighttpd配置文件中设置的secdownload.secret,第二个就是我们要下载的文件名称(包括路径),是相对secdownload.document-root的路径而言的,第三个部分就是我们获取到的当前的时间戳了。这样我们就可以动态的生成了一个满足lighttpd要求的token。

3.<timestamp-in-hex>:就是我们刚才生成的时间戳,即上面的timestamp了;

4.<rel-path>:这个就是我们要下载的文件,也就是aa.txt了。

    配置文件中secdownload.timeout是用来校验时间戳在多长时间后失效的,我们这里设置的是1分钟,即60秒。这表明,从我们生成下载地址后的60s内如果没有人点击这个地址那么该链接就将失效。这样也就可以基本防止文件被随意下载了。

3)mod_proxy 代理模块配置
    该模块主要是用来连接lighttpd和动态服务器的,如tomcat,在配置文件中输入如下:

$HTTP["url"] =~ ".jsp|.go|.do|action" {
    proxy.balance = "fair"
    proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 8080 ),("host" => "127.0.0.1", "port" => 18080) ))
}

    其中host字段表示代理服务器的配置(ip和端口),如果有多个则可以配置负载服务器,这里配置的是两个。proxy.loadblance用来做负载,具体的没有研究过,大家可以参看官方文档详细了解下。

    这里主要简单的说了lighttpd的安装部署和简单模块的使用,希望可以和大家一起相互交流~~~

4
0
分享到:
评论

相关推荐

    lighttpd的权限认证模块 mod_auth

    `mod_auth`是lighttpd中的身份验证模块,它遵循HTTP协议的认证机制,支持两种主要的认证方式:基本认证(Basic Authentication)和摘要认证(Digest Authentication)。基本认证直接在HTTP头部传递明文用户名和密码...

    lighttpd配置和启动脚本

    以上就是lighttpd配置文件和启动脚本的基本介绍。在实际部署和运维过程中,需要根据具体需求对配置文件进行调整,并确保启动和停止脚本的可靠性,以确保Web服务器的稳定运行。理解并熟练掌握这些内容,对于管理和...

    在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的方法

    - **注意:** 这里默认安装的是 Lighttpd 的基本配置。如果需要额外的功能支持,如 SSL、mod_rewrite 等,还需要额外配置相应的模块。 #### 三、设置 Lighttpd **1. 修改配置文件** - 默认情况下,Lighttpd 的...

    Lighttpd源码分析_mobi

    lighttpd介绍与分析准备工作、lighttpd网络服务主模型、lighttpd数据结构、伸展树、日志系统、文件状态缓存器、配置信息加载、i/o多路复用技术模型、插件链、网络请求服务响应流程、请求响应数据快速传输方式,以及...

    Lighttpd源码分析_高群凯

    架构层面的分析有助于理解Lighttpd如何优化性能和资源使用。 2. **核心模块功能**:文档可能会对Lighttpd的关键模块进行深入解析,例如其事件驱动的核心模块、模块加载机制、以及处理请求的流程。这对于理解服务器...

    lighttpd-1.4.59.tar.gz

    2. 启动服务:安装完成后,可以使用`sudo lighttpd -D -f /etc/lighttpd/lighttpd.conf`启动lighttpd服务器,其中-D参数表示在后台运行,-f指定配置文件路径。 3. 停止与重启:使用`sudo service lighttpd stop`...

    lighttpd源码分析

    3. 路由处理:lighttpd根据URL和配置规则(如URL映射、路径匹配)选择合适的处理模块和处理函数。这可能涉及到静态文件服务、CGI脚本执行、反向代理等。 4. 响应生成:处理模块完成任务后,会生成HTTP响应头和响应...

    lighttpd-1.4.39.tar.gz

    lighttpd,一个在互联网领域广泛使用的轻量级Web服务器,因其高效、安全和可扩展性而备受青睐。其1.4.39版本是lighttpd发展中的一个重要里程碑,为用户提供了一个稳定且功能强大的服务环境。本文将深入探讨lighttpd...

    lighttpd 源代码

    lighttpd是一款轻量级且高性能的Web服务器,以其低内存占用、快速响应和模块化的结构而备受开发者喜爱。它的源代码以C语言编写,这使得它在效率和可移植性上具有显著优势。在本文中,我们将深入探讨lighttpd的源代码...

    lighttpd-1.4.18

    它的轻量级特性、模块化设计和丰富的安全功能,使得它在众多Web服务器中脱颖而出,成为小型和中型网站的理想选择。通过不断的技术迭代和社区支持,lighttpd将继续保持其在轻量级Web服务器领域的领先地位。

    lighttpd-1.4.32

    压缩包中的文件列表可能包括源代码、配置文件示例、文档、以及编译和安装脚本,方便用户根据自己的环境进行编译和部署。 总的来说,lighttpd-1.4.32作为一款轻量级Web服务器,凭借其低资源占用、高效性能、模块化...

    lighttpd简单配置

    #### 三、编译和安装lighttpd 1. **编译lighttpd**: - 使用`./configure --prefix=/usr/local/lighttpd`来进行配置。 - 然后执行`make && make install`来编译并安装lighttpd到指定路径。 2. **检查启用模块**...

    LIGHTTTP配置

    【LIGHTTPD配置】 Lighttpd是一个轻量级的网络服务器,特别适合处理静态内容,因此在游戏公司中被广泛使用。它以其高效、安全和灵活性而受到...正确配置和使用Lighttpd,可以帮助优化服务器性能并提供稳定的网站服务。

    套件php 集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader

    `使用说明.txt`则是简短的使用指南,可能包含了一些基本的安装和启动步骤。 总的来说,这个工具包为PHP开发者提供了一个集成了多种必备组件的一站式解决方案,降低了环境配置的难度,有利于初学者快速入门并进行PHP...

    lighttpd1.4.54源码及依赖库prce8.43源码

    2. 下载lighttpd源码和Pcre源码:从官方仓库获取lighttpd-1.4.54和pcre-8.43的源代码。 3. 配置Pcre:执行`./configure --host=&lt;target-platform&gt;`,指定目标平台。 4. 编译Pcre:`make && make install`,将编译好...

    实现在Windows下安装Lighttpd的方法

    在Windows操作系统下安装Lighttpd Web服务器需要遵循一系列步骤,这些步骤涉及到了系统环境配置、源代码...在掌握了Lighttpd的基本使用后,尝试将其应用到实际项目中,可以更深入地体会其在Web服务器领域中的实际价值。

    Lighttpd源码分析

    - **事件驱动模型**:Lighttpd基于事件驱动模型来处理网络事件,使用epoll或kqueue等高效的内核事件通知机制。 - **连接管理**:包括连接建立、关闭、超时处理等功能。 2. **请求解析器** - **HTTP解析**:解析...

    Linuxlighttpd+php+mysql+Discuz论坛.pdf

    本教程将详细介绍如何在Linux环境下使用lighttpd作为Web服务器,结合php和mysql数据库来搭建Discuz论坛。首先,我们来看lighttpd的安装与配置。 1. 安装配置LIGHTTPD Lighttpd是一款轻量级、高性能的Web服务器,...

Global site tag (gtag.js) - Google Analytics