Lighttpd

出自 Alpine Linux

它的名字是 "light" 和 "httpd" 的混成词:lighttpd 是一个简单、符合标准、安全且灵活的 Web 服务器。

lighttpd 是一个强大的服务器,很久以前就用于在一个服务器上处理超过 10,000 个并行连接。它很久以前在维基百科服务器和一些谷歌服务中使用过。

注意:对于最小型网站和快速启动目的,推荐使用它,因为它配置过程简单,并且在没有太多配置的情况下也能提供出色的性能。查看 https://w3techs.com/technologies/details/ws-lighttpd 并注意它被用于高流量和重要的站点,如 postgresql.org

通用信息

特性/工件 值/名称 观察
主软件包名 lighttpd apk add lighttpd
手册页和文档包 lighttpd-doc apk add lighttpd-doc
配置文件 /etc/lighttpd/lighttpd.conf 一个默认配置
系统页面的 HTML 位置 /var/www/localhost/htdocs/ Alpine 中每个 Web 服务器都有自己的路径
动态文件(缓存、额外文件) /var/lib/lighttpd/ 动态创建,Alpine 中每个服务器都有自己的路径
日志文件(错误、访问等) /var/log/lighttpd/ Alpine 中每个 Web 服务器都有自己的路径
运行 Web 服务器的用户 lighttpd 其他 Linux 使用 "www-data",Alpine 将其作为一个组
Web 服务器的通用组 www-data 用于在其他守护程序或服务之间共享内容,例如 redis 或 apache 文件
编程语言 C 和 lua 主要引擎代码使用 C,模块和配置使用 Lua 变体

重要限制

一些常见的托管面板不处理 lighttpd 配置管理。

不支持 HTTP/3。

正如我们之前读到的... 主要目的是在一个服务器上处理多个请求,因此专注于高负载。

作为主要前端 Web 服务器是完美的,并且推荐作为 apache2nginx 的反向代理服务器

安装 Lighttpd

安装即可用于静态页面。安装后,您可以通过将任何文件放入 /var/www/localhost/htdocs/ 目录来查看 Web 服务器是否在运行。

默认情况下,/home/<user>/public_html 目录支持每个用户的 Web 文件,如果我们启用它(过程在下面的 "Lighttpd 配置" 部分中描述)。

lighttpd 在 Alpine Linux 仓库中可用。要安装,只需启动以下命令

apk add lighttpd rc-update add lighttpd default rc-service lighttpd restart

测试 Lighttpd

本节假设 lighttpd 正在运行。如果您现在从远程系统启动 Web 浏览器并将其指向您的 Web 服务器,您将看到一个显示 "404 - Not Found" 的页面。好吧,目前没有内容可用,但服务器已启动并正在运行。

让我们添加一个简单的测试页面来消除 "404 - Not Found page"

echo '<!DOCTYPE html><html><head><title>✔️</title><meta charset="utf-8"></head><body>Lighttpd is running!</body></html>' > /var/www/localhost/htdocs/index.html

对于测试,打开浏览器并转到 http://127.0.0.1/,您应该看到 "Lighttpd is running!"。请注意 "127.0.0.1" 的示例用法,表明 lighttpd 服务器和 Web 浏览器在同一台机器上运行。

如果您正在远程使用 Alpine,在客户端机器上打开浏览器,然后转到 http://<webserveripaddres>/。"webserveripaddres" 是您的 lighttpd 服务器机器的 IP 地址。

Lighttpd 配置

如果您只想提供简单的 HTML 页面,则可以开箱即用地使用 lighttpd。无需进一步配置。

对于生产用途,生产 LAMP 系统:Lighttpd + PHP + MySQL Wiki 页面将详细解释所有需求,还有 生产 Lets Encrypt:dehydrated Wiki 页面,其中包含有关使用 HTTPS 和 lets encrypt 证书的更多信息。

由于 Alpine Linux 的极简主义,不幸的是,lighttpd 软件包仅提供 vanilla 配置,不接近 Alpine 或易于管理员维护,请参阅 生产 LAMP 系统:Lighttpd + PHP + MySQL Wiki 页面,深入了解配置 lighttpd Web 服务器。

控制 Lighttpd

启动 lighttpd:安装后,lighttpd 未运行。正如我们在第一节中所做的那样,已经启动,但如果您想手动启动 lighttpd,请使用

rc-service lighttpd start

您将获得有关状态的反馈。

 * Caching service dependencies                                 [ ok ]
 * Starting lighttpd...                                         [ ok ]

停止 lighttpd:如果您想停止 Web 服务器,请以与上一个命令相同的方式使用 stop

rc-service lighttpd stop

重启 lighttpd:更改配置文件后,需要重启 lighttpd。

rc-service lighttpd restart

正确的运行级别:默认情况下,没有服务添加到启动过程中,系统管理员必须知道我们想要什么以及服务将做什么,另一个主要原因是由于 docker 中没有运行级别,并且 Alpine Linux 主要用于 docker 容器中。您必须仅将 servide 添加到默认运行级别,而不是启动,因为需要激活网络

rc-update add lighttpd default

参见

在生产 Web 中,LAMP 意味着 Linux + Apache + Mysql + Php 已安装并集成,但今天 Apache 的 "A" 更多地用作 Nginx 或 Lighttpd,MySQL 的 "M" 更多地用作 Mariadb,LAMP 重点文档是