lighttpd1.4.20源码分析:安装与配置

简介: lighttpd1.4.20源码分析:安装与配置

1、有两种渠道下载源码,分别是:


http://www.lighttpd.net/download/ -- 官网

https://github.com/lighttpd -- GitHub


官网下载的源码和GitHub的略有不同,我们以前者,也就是官网的为准。



2、我们下载版本lighttpd-1.4.20.tar.gz,解压之后发现它是make版本,没有cmake文件。我们从GitHub v1.4.21版本拉取,github上面的源码是带有cmakelists文件的(从v1.4.21版本开始)。整合之后,就可以实现lighttpd-1.4.20的cmake编译。


记得修改一处:/src/CMakeLists.txt,第471行,因为官网1.4.20的源码没有mod_uploadprogress.c文件


#ADD_AND_INSTALL_LIBRARY(mod_uploadprogress mod_uploadprogress.c)


完整的cmake工程源码请见:


https://download.csdn.net/download/libaineu2004/10843267



3、使用IDE Qt Creator来编译源码。编译完成会在路径生成可执行文件:


build-lighttpd-1.4.20-cmake-Desktop_Qt_5_9_7_GCC_64bit-Debug/build/lighttpd


及一系列的*.so的插件库文件。


终端命令行,启动lighttpd的方法是:


[root@localhost build]# ./lighttpd -D -f lighttpd.conf -m .


其中-D表示调试模式,非守护进程运行;


     -f lighttpd.conf表示指定的配置文件;


    -m .表示指定的*.so库文件路径,这里的"."表示so文件都在当前路径。


注意,每次运行必须指明库文件*.so的路径,否则会报错:


mod_indexfile.so: cannot open shared object file: No such file or directory



4、lighttpd.conf几个重要的配置项


#代表网站存放的路径

server.document-root             = "/home/firecat/"
## where to send error-messages to 错误日志的路径
server.errorlog            = "/var/log/lighttpd/error.log"
#firecat建议注释掉chroot/username/groupname这三项
### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot            = "/"
## change uid to <uid> (default: don't care)
#server.username            = "www-data"
## change uid to <uid> (default: don't care)
#server.groupname           = "www-data"
#守护进程的文件名
server.pid-file              = "/var/run/lighttpd.pid"
# files to check for if .../ is requested
server.indexfiles          = ( "index.php", "index.html",
                                "index.htm", "default.htm" )


5、运行测试


编写一个简单的网页,另存为index.html文件,utf-8格式


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>lighttpd测试</title>
</head>
<body>
<p>轻量级web服务器lighttpd的编译及配置(for x86-linux)</p>
<hr>
<p>测试页面</p>
</body>
</html>

然后拷贝到Linux路径/home/firecat/


启动Lighttpd服务器,在浏览器输入http://127.0.0.1/,即可输出:



相关文章
|
11月前
|
机器学习/深度学习 JavaScript 前端开发
深入探索WebAssembly:提升Web应用的性能
【10月更文挑战第15天】深入探索WebAssembly:提升Web应用的性能
248 3
|
10月前
|
人工智能 JavaScript 前端开发
利用AI提升代码审查效率
本文探讨了如何利用AI技术提升代码审查效率,包括AI在静态代码分析、代码补全和模式识别等方面的作用,以及使用AI驱动工具、集成CI/CD流程、定制化规则等技巧,旨在帮助开发者优化代码审查流程,提高代码质量和开发效率。
|
机器学习/深度学习 数据采集 人工智能
动手实践:从零开始训练AI模型的全面指南
【7月更文第14天】随着人工智能技术的飞速发展,训练AI模型已成为科研、工程乃至创业领域的热门技能。本文旨在为初学者提供一个清晰、实用的指南,带领大家从零开始,了解并实践如何训练一个人工智能模型。我们将以一个简单的线性回归任务为例,逐步深入,探讨数据预处理、模型构建、训练过程及评估方法,最后展示如何使用Python和深度学习库PyTorch实现这一过程。
6629 0
|
安全 Linux 开发者
在Linux中,内核模块是什么以及如何加载和卸载它们?
在Linux中,内核模块是什么以及如何加载和卸载它们?
|
JavaScript 应用服务中间件 Linux
开源项目推荐:C/C++语言版本的http server和client,请关注RESTful
开源项目推荐:C/C++语言版本的http server和client,请关注RESTful
4796 0
|
存储 安全 物联网
物联网(IoT)安全:挑战与解决方案
【8月更文挑战第5天】物联网(IoT)深刻改变着我们的生活,但随之而来的安全挑战不容忽视。面对设备身份验证复杂、数据隐私泄露、软件漏洞及资源受限等问题,本文提出加强身份验证、加密保护、定期更新、安全开发生命周期、多层次防御、安全培训及标准化合作等解决方案,旨在构建一个更加安全可靠的物联网环境。
1060 2
|
NoSQL Linux Shell
Linux进程理解【进程状态】
Liunx进程状态详细讲解,包括运行、睡眠、暂停、死亡等状态讲解,以及僵尸进程、孤儿进程的介绍,干货满满!
480 0
Linux进程理解【进程状态】
|
Shell
[SWPUCTF 2021 新生赛]gift_pwn-入土为安的第十五天
[SWPUCTF 2021 新生赛]gift_pwn-入土为安的第十五天
337 0
|
前端开发 UED
垂直导航栏不再单调!教你用CSS动画打造炫酷特效
垂直导航栏不再单调!教你用CSS动画打造炫酷特效
|
监控 Ubuntu Linux
使用`dbus-monitor`命令深入了解DBus通信
`dbus-monitor`是Linux下用于观察DBus消息的命令行工具,有助于理解和调试应用程序间的通信。安装该工具可通过发行版的包管理器,如`apt-get`、`dnf`或`pacman`。基本用法是运行`dbus-monitor`监控系统总线,使用`--session`监控会话总线,配合过滤器如`sender`、`interface`等精细化查看特定消息。当面临DBus相关问题时,此工具能辅助排查和诊断。