lighttpd配置选项

1 添加模块

server.modules += ( "mod_proxy", 
            "mod_evasive",
            "mod_fastcgi",
            "mod_setenv",
            "mod_access" )

2 配置fastcgi

fastcgi.server += ("/api" =>
((
  "bin-path"    => "/tmp/server",
  "max-procs"   => 1,
  "socket"    => "/tmp/connection.socket",
  "check-local" => "disable",
  "allow-x-send-file" => "enable"
)))
  • bin-path:指定fastcgi程序所在的路径

  • max-procs:最大进程数

  • socket:lighttpd与fastcgi交互的socket

3 配置根目录和端口

server.stream-response-body = 1
server.document-root = "/var/www/html"
server.port=8090
  • server.stream-response-body:详见3.1章节

  • server.document-root:服务器的根目录,是lighttpd的核心配置项。可存放静态文件和动态请求转发的文件

  • server.port:配置lighttpd的监听端口

3.1 响应体传输方式

lighttpd的传输方式是由server.stream-response-body配置项决定的。

参数值 行为
0 关闭流式传输:Lighttpd 会等待后端生成完整的响应体,缓存到内存或临时文件后,再发送给客户端。
1 智能流式传输​(默认):Lighttpd 根据响应头(如 Content-Length)和传输速度自动选择流式或缓冲模式。
2 强制流式传输:无论响应大小,Lighttpd 会立即将接收到的数据块发送给客户端,适用于大文件或实时

可以开启全局配置或者根据文件类型决定传输方式:

# 对大文件(如超过 10MB)强制流式传输
$HTTP["url"] =~ "\.(mp4|zip|iso)$" {
    server.stream-response-body = 2
    server.range-requests = "enable"  # 启用断点续传
}

4 配置反向代理

# /redfish 路径代理规则
$HTTP["url"] =~ "^/restful" {
    proxy.server = ( 
        "" => ( 
            ( "host" => "127.0.0.1", "port" => 9080 )
        )
    )
    server.errorfile-prefix = "/usr/local/redfish/restful_error_"
    evasive.max-conns-per-ip = 10
}
  • server.errorfile-prefix:定义错误文件页面的前缀。
  1. 404 错误会使用 /usr/local/redfish/redfish_error_404.html

  2. 500 错误会使用 /usr/local/redfish/redfish_error_500.html

posted @ 2025-04-01 11:16  cockpunctual  阅读(99)  评论(0)    收藏  举报