开源 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

相关推荐
立昂4 小时前
Linux route
linux·运维
milanyangbo4 小时前
从C10K到Reactor:事件驱动,如何重塑高并发服务器的网络架构
服务器·网络·后端·架构
爱吃生蚝的于勒4 小时前
【Linux】深入理解进程(一)
java·linux·运维·服务器·数据结构·c++·蓝桥杯
heisd_14 小时前
使用搭载Ubuntu的树莓派开启热点
linux·运维·ubuntu
阿干tkl4 小时前
优麒麟(Ubuntu Kylin) 安装向日葵远程工具/ToDesk
linux·ubuntu·kylin
Goafan4 小时前
ubuntu20.04插入USB耳机无法识别
linux
月球挖掘机4 小时前
华为USG防火墙之开局上网配置
服务器·网络
噔噔君4 小时前
嵌入式模组拨号获取IP地址时,设置的ippass是什么原理,起到什么作用?
服务器·网络协议·tcp/ip·ip
无敌最俊朗@5 小时前
VMware Ubuntu 虚拟机网络故障分析报告
服务器·网络·ubuntu