开源 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服务器用途
-
高性能与低资源占用
-
事件驱动架构:与 Nginx 类似,Lighttpd 采用事件驱动(event-driven)模型,而不是 Apache 传统的多线程/多进程模型。这使得它可以用单个进程或少量进程高效处理成千上万的并发连接,内存和 CPU 开销极低。
-
优化后的速度:其代码库经过高度优化,在提供静态内容(如图片、CSS、JavaScript 文件)时速度极快。
-
-
丰富的功能模块
-
Lighttpd 的核心非常小巧,大部分功能通过模块化加载实现。这种设计使得用户可以根据需要启用或禁用功能,保持服务器的精简。
-
常用模块包括:
-
mod_fastcgi
、mod_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_alias
、mod_redirect
:用于路径映射和重定向。
-
-
-
灵活且强大的配置
-
配置文件(通常为
lighttpd.conf
)语法清晰、简洁。 -
支持基于条件的配置,可以根据 URL、主机名、IP 地址等条件应用不同的规则,非常灵活。
-
-
出色的安全特性
-
由于其代码精简,潜在的攻击面相对较小。
-
提供了
mod_secdownload
等模块,可以生成有时效性的下载链接,防止盗链。 -
易于与 chroot 环境配合使用,进一步增强安全性。
-
-
支持现代 Web 技术
-
HTTP/2 支持:从 1.4.56 版本开始,Lighttpd 原生支持 HTTP/2 协议,提升了网页加载效率。
-
WebSockets:通过
mod_proxy
可以很好地代理 WebSocket 连接。
-
典型应用场景
基于以上特点,Lighttpd 在以下场景中表现出色:
-
高并发静态内容服务
-
这是 Lighttpd 最经典和擅长的领域。如果你需要为一个访问量巨大的网站提供图片、视频、CSS、JS 等静态资源,Lighttpd 是绝佳选择。它的低内存占用意味着在相同的硬件条件下,它能比传统服务器处理更多的并发请求。
-
示例:大型网站(如 Wikipedia 曾长期使用)、内容分发网络的边缘节点。
-
-
作为反向代理服务器
-
Lighttpd 可以放置在其他应用服务器(如 Tomcat, Flask, Django, Node.js)的前端,作为反向代理。它负责处理静态请求、负载均衡、SSL 终端,并将动态请求转发给后端应用服务器,从而减轻后端服务器的压力。
-
示例:一个由 Lighttpd 处理静态文件和 SSL,并代理到后端 Java 应用服务器的架构。
-
-
资源受限的环境
-
嵌入式系统、VPS(虚拟专用服务器) 或 低配云服务器。由于其极低的内存占用,Lighttpd 可以在仅有 128MB 或更少内存的服务器上流畅运行,而 Apache 在这种情况下可能会显得吃力。
-
-
FastCGI / SCGI 应用的前端
-
与 PHP-FPM 配合是天作之合。Lighttpd 的
mod_fastcgi
非常高效,是运行 PHP 应用(如 WordPress, Drupal 等)的一个高性能解决方案。 -
示例:使用 Lighttpd + PHP-FPM 来部署一个高性能的博客或内容管理系统。
-
-
视频流媒体服务
-
对于需要处理大量并发流媒体请求的场景(如视频点播),Lighttpd 的高效事件驱动模型能够很好地胜任。
mod_flv_streaming
模块还专门提供了对 FLV 视频格式的流式传输支持。
-
二、Lighttpd服务器安装
1. 更新软件包列表
sudo apt update
2. 安装 Lighttpd
sudo apt install lighttpd
3. 启动和设置开机自启
# 启动服务
sudo systemctl start lighttpd# 设置开机自启
sudo systemctl enable lighttpd# 检查状态
sudo systemctl status lighttpd
三、Lighttpd服务器测试
输入http://localhost/
1. 查看默认网站目录
Lighttpd 默认的网站文件位于:在这里可以修改页面
/var/www/html/
默认首页文件是 index.lighttpd.html
2. 主要配置文件
# 主配置文件
/etc/lighttpd/lighttpd.conf# 配置模块目录
/etc/lighttpd/conf-available/# 启用模块目录
/etc/lighttpd/conf-enabled/
3. 测试配置文件
修改配置后,检查语法是否正确:
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
4. 重新加载配置
sudo systemctl reload lighttpd
# 或
sudo systemctl restart lighttpd