UOS lighttpd 与 PHP FastCGI:动态时间页面及验证
1. 服务介绍
lighttpd 是轻量 Web 服务器,负责接收HTTP请求、提供静态文件,并将PHP请求交给FastCGI后端处理。它不是Apache,配置检查、模块和日志路径应按lighttpd核对。本文完成原题动态时间页面,刷新时由服务端重新生成日期时间。
2. 准备运行环境
原实验UOS/Debian系,管理员权限、可用软件源、普通Web客户端;确认80端口未被其他Web服务占用。PHP模块名称及配置取决于包版本,先检查实际版本和现有配置,修改前备份。
3. 相关知识与注意点
• PHP-CGI 与 PHP-FPM 是不同部署方式,不混用未核实的Socket路径。
• lighty-enable-mod是Debian系包辅助工具,不保证所有发行版都有。
• 网站目录以server.document-root实际配置为准;index.php需在index-file.names列表中。
• PHP时间受PHP时区影响,不保证跟随CLI配置;刷新不更新还要检查缓存。
• 不公开phpinfo页面或凭据;Web进程无需对所有站点文件有写权限。
4. 实验步骤
Debian系PHP-CGI方案:
sudo apt update
sudo apt install lighttpd php-cgi
sudo lighty-enable-mod fastcgi
sudo lighty-enable-mod fastcgi-php
sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf
检查模块配置指向已安装php-cgi的真实路径;若题目指定FPM则使用对应模块及Socket,不能直接套本例。确认站点根目录后创建index.php:
<?php
date_default_timezone_set('Asia/Shanghai');
header('Content-Type: text/plain; charset=UTF-8');
header('Cache-Control: no-store');
echo date('Y-m-d H:i:s P'), PHP_EOL;
sudo systemctl restart lighttpd
systemctl status lighttpd --no-pager
curl http://127.0.0.1/index.php
5. 原实验截图











6. 验证命令
使用 lighttpd -tt -f /etc/lighttpd/lighttpd.conf 检查加载后的配置;ss -lntp 检查80端口;journalctl -u lighttpd -n 50 --no-pager 及 /var/log/lighttpd/error.log 查看错误。分别两次curl index.php,间隔数秒,预期时间变化;curl -I 查看HTTP状态和Cache-Control。PHP源码若直接返回立即停止对外服务并检查FastCGI映射;502查后端进程和Socket权限;404查站点根与路径。必须实际访问生成内容,不能只检查服务active。本文未在用户主机实际部署。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/weixin_44524357/article/details/170285747



