开源 Linux 服务器与中间件(六)服务器--Lighttpd

文章的目的记录所使用的的Linux服务器和中间件的配置和使用,防止时间太长忘记,进行重复工作。

相关链接:

开源 Linux 服务器与中间件(一)基本介绍

开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件

开源 Linux 服务器与中间件(三)服务器--Nginx

开源 Linux 服务器与中间件(四)服务器--Tomcat

开源 Linux 服务器与中间件(五)服务器--Boa

推荐链接:

linux C 语言开发 (一) Window下用gcc编译和gdb调试

linux C 语言开发 (二) VsCode远程开发 linux

linux C 语言开发 (三) 建立云服务器

linux C 语言开发 (四) linux系统常用命令

linux C 语言开发 (五) linux系统目录结构

linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)

linux C 语言开发 (七) 文件 IO 和标准 IO

linux C 语言开发 (八) 进程基础

linux C 语言开发 (九) 进程间通讯--管道

linux C 语言开发 (十) 进程间通讯--信号

linux C 语言开发 (十一) 进程间通讯--共享内存

linux C 语言开发 (十二) 进程间通讯--消息队列

Linux C到Android App开发推荐链接(入门十二章):

开源 java android app 开发(一)开发环境的搭建_csdn 开源 java android app-CSDN博客

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

linux C到.net mvc开发推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

内容:Lighttpd服务器的安装,测试,以及页面修改。

目录

1.Lighttpd服务器用途

2.Lighttpd服务器安装

3.Lighttpd服务器测试

一、Lighttpd服务器用途

  1. 高性能与低资源占用

    • 事件驱动架构:与 Nginx 类似,Lighttpd 采用事件驱动(event-driven)模型,而不是 Apache 传统的多线程/多进程模型。这使得它可以用单个进程或少量进程高效处理成千上万的并发连接,内存和 CPU 开销极低。

    • 优化后的速度:其代码库经过高度优化,在提供静态内容(如图片、CSS、JavaScript 文件)时速度极快。

  2. 丰富的功能模块

    • Lighttpd 的核心非常小巧,大部分功能通过模块化加载实现。这种设计使得用户可以根据需要启用或禁用功能,保持服务器的精简。

    • 常用模块包括:

      • mod_fastcgimod_scgi:用于支持 PHP(通过 PHP-FPM)、Python、Ruby 等动态语言。

      • mod_proxy:提供反向代理功能,可以将请求转发到后端的应用服务器(如 Tomcat, Gunicorn, Node.js 等)。

      • mod_rewrite:强大的 URL 重写功能,与 Apache 的 mod_rewrite 兼容。

      • mod_ssl:提供 HTTPS 支持。

      • mod_auth:支持基本的 HTTP 认证。

      • mod_webdav:支持 WebDAV 功能。

      • mod_aliasmod_redirect:用于路径映射和重定向。

  3. 灵活且强大的配置

    • 配置文件(通常为 lighttpd.conf)语法清晰、简洁。

    • 支持基于条件的配置,可以根据 URL、主机名、IP 地址等条件应用不同的规则,非常灵活。

  4. 出色的安全特性

    • 由于其代码精简,潜在的攻击面相对较小。

    • 提供了 mod_secdownload 等模块,可以生成有时效性的下载链接,防止盗链。

    • 易于与 chroot 环境配合使用,进一步增强安全性。

  5. 支持现代 Web 技术

    • HTTP/2 支持:从 1.4.56 版本开始,Lighttpd 原生支持 HTTP/2 协议,提升了网页加载效率。

    • WebSockets :通过 mod_proxy 可以很好地代理 WebSocket 连接。


典型应用场景

基于以上特点,Lighttpd 在以下场景中表现出色:

  1. 高并发静态内容服务

    • 这是 Lighttpd 最经典和擅长的领域。如果你需要为一个访问量巨大的网站提供图片、视频、CSS、JS 等静态资源,Lighttpd 是绝佳选择。它的低内存占用意味着在相同的硬件条件下,它能比传统服务器处理更多的并发请求。

    • 示例:大型网站(如 Wikipedia 曾长期使用)、内容分发网络的边缘节点。

  2. 作为反向代理服务器

    • Lighttpd 可以放置在其他应用服务器(如 Tomcat, Flask, Django, Node.js)的前端,作为反向代理。它负责处理静态请求、负载均衡、SSL 终端,并将动态请求转发给后端应用服务器,从而减轻后端服务器的压力。

    • 示例:一个由 Lighttpd 处理静态文件和 SSL,并代理到后端 Java 应用服务器的架构。

  3. 资源受限的环境

    • 嵌入式系统VPS(虚拟专用服务器)低配云服务器。由于其极低的内存占用,Lighttpd 可以在仅有 128MB 或更少内存的服务器上流畅运行,而 Apache 在这种情况下可能会显得吃力。
  4. FastCGI / SCGI 应用的前端

    • 与 PHP-FPM 配合是天作之合。Lighttpd 的 mod_fastcgi 非常高效,是运行 PHP 应用(如 WordPress, Drupal 等)的一个高性能解决方案。

    • 示例:使用 Lighttpd + PHP-FPM 来部署一个高性能的博客或内容管理系统。

  5. 视频流媒体服务

    • 对于需要处理大量并发流媒体请求的场景(如视频点播),Lighttpd 的高效事件驱动模型能够很好地胜任。mod_flv_streaming 模块还专门提供了对 FLV 视频格式的流式传输支持。

二、Lighttpd服务器安装

  1. 更新软件包列表

    sudo apt update

  1. 安装 Lighttpd

    sudo apt install lighttpd

  1. 启动和设置开机自启

    启动服务

    sudo systemctl start lighttpd

    设置开机自启

    sudo systemctl enable lighttpd

    检查状态

    sudo systemctl status lighttpd

三、Lighttpd服务器测试

输入http://localhost/

  1. 查看默认网站目录

Lighttpd 默认的网站文件位于:在这里可以修改页面

复制代码
/var/www/html/
默认首页文件是 index.lighttpd.html
  1. 主要配置文件

    主配置文件

    /etc/lighttpd/lighttpd.conf

    配置模块目录

    /etc/lighttpd/conf-available/

    启用模块目录

    /etc/lighttpd/conf-enabled/

  2. 测试配置文件

修改配置后,检查语法是否正确:

复制代码
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
  1. 重新加载配置

    sudo systemctl reload lighttpd

    sudo systemctl restart lighttpd

相关推荐
正在走向自律19 分钟前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
不会就选b31 分钟前
linux之进程管理(二)--替换
linux·运维·服务器
倔强的石头10637 分钟前
【Linux指南】动静态库系列(二):从源码复用到目标文件复用:为什么需要把 .o 打包成库
linux·运维·服务器
码农学院43 分钟前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python
步步精BBJconn1 小时前
从GPU服务器到数据中心:AI服务器高压连接器的应用与发展趋势
大数据·运维·服务器·人工智能·科技·物联网
GuWenyue7 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
爱写代码的森9 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室14 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设