Lighttpd
它的名字是 "light" 和 "httpd" 的混成词:lighttpd 是一个简单、符合标准、安全且灵活的 Web 服务器。
lighttpd 是一个强大的服务器,很久以前就用于在一个服务器上处理超过 10,000 个并行连接。它很久以前在维基百科服务器和一些谷歌服务中使用过。
通用信息
特性/工件 | 值/名称 | 观察 |
---|---|---|
主软件包名 | 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 服务器是完美的,并且推荐作为 apache2 或 nginx 的反向代理服务器。
安装 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 重点文档是