软件星级:3分
Lighttpd for linux免费版是一款非常专业的web服务器,它具有非常低的内存开销、cpu占用率低等,如果你有需要的话,欢迎在WWW.11684.COM 下载!
众多opensource轻量级的webserver中较为优秀的一个。支持fastcgi,cgi,auth,输出压缩(outputcompress),url重写,alias等重要功能;而apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。
1、安装lighttpd
root@tonyvicky:# tar vxzf lighttpd-1.4.10.tar.gz
root@tonyvicky:# cd lighttpd-1.4.10
root@tonyvicky:# ./configure --prefix=/usr/local/lighttpd
root@tonyvicky:# make
root@tonyvicky:# make install
root@tonyvicky:# mkdir /usr/local/lighttpd/htdocs
root@tonyvicky:# mkdir /usr/local/lighttpd/etc
root@tonyvicky:# cp ./doc/lighttpd.conf /usr/local/lighttpd/etc/
2、配置lighttpd
然后修改配置文件 /usr/local/lighttpd/etc/lighttpd.conf
把"mod_fastcgi"前边的#去掉(在24行);把"mod_cgi"前边的#去掉(在29行)
设置网站根目录 server.document-root = "/usr/local/lighttpd/htdocs/" (40行)
设置错误日志文件路径 server.errorlog = "/usr/local/lighttpd/lighttpd.error.log" (43行)
设置访问日志文件路径 accesslog.filename = "/usr/local/lighttpd/access.log" (116行)
启动服务器
root@tonyvicky:# cd /usr/local/lighttpd/sbin/
root@tonyvicky:# ./lighttpd -f ../etc/lighttpd.conf
如果出现错误请把配置文件中如下内容删除
$HTTP["url"] =~ ".pdf$" {
server.range-requests = "disable"
}
3、配置CGI
修改配置文件
查找"#### CGI module"在这行之后添加
cgi.assign = ( ".sh" => "" )
然后我们再写一个shell脚本来作测试 test.sh
#!/bin/bash
echo "Content-Type: text/html";
echo "";
echo "test";
把这个文件保存到/usr/local/lighttpd/htdocs/下
并改变权限
root@tonyvicky:# chmod a+x test.sh
然后用浏览器访问一下 //localhost/test.sh
如果能出现"test"的字样,就说明CGI模块正常使用了
4、配置fastcgi
修改配置文件
查找"#### fastcgi module"在这行之后添加
fastcgi.server = ( ".php" =>
(( "socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/php/bin/php",
"min-procs" => 1,
"max-procs" => 32,
"max-load-per-proc" => 4,
"idle-timeout" => 20
))
)
写一个PHP文件,看看能不能解析出来
// test.php
phpinfo();
?>
用浏览器访问一下 //localhost/test.php
[core]chunkqueueperf:跳过打开长度为0的文件
[核心]chunkqueue性能:将小文件读入内存
[core]buffer_reset()不应传递为null
[测试]has_feature()辅助函数
[测试]跳过mod-secdownloadhmac-sha1,hmac-sha256
[核心]在osx上使用高精度的统计时间戳记
[mod_magnet]将服务器地址(本地ip)暴露给lua
[核心]调整http_chunkread()重试循环
[mod_maxminddb]maxmindgeoip2支持
[mod_authn_ldap]ldap_set_optionldap_opt_restart(修复#2940)
[build]检测freebsdelftc_copyfile()
[mod_openssl]使用ssl_ctx_set_client_1 _cb()
[核心]通过if-none-match支持弱标签
[核心]将log_state_handling标志存储在堆栈中
[核心]在无效之前检查splay_tree是否为null
[mod_webdav]解决方法microsoft-webdav-miniredir
[mod_webdav]docmicrosoft-webdav-miniredir错误
[mod_webdav]使stat_cache中的父目录无效
[doc]systemd套接字激活配置示例
[core]chunkqueueperf:代码重用
[stat_cache]接口使条目无效
[mod_webdav]在文件mod之后更新stat_cache
[核心]在etag中使用高精度的统计时间戳
[scons]在centos下对静态构建的调整
[核心]在清除路径之前使用路径发出跟踪
[核心]http_chunk_append_file_fd()
[多个]在某些情况下更早地打开目标文件
[stat_cache]不再是stat()和open()的stat
[stat_cache]fam:改进监控,缓存16秒
[stat_cache]fam:fdevent_in的单独例程
[stat_cache]fam:仅空格更改
[mod_webdav]安静的覆盖警告
[doc]突出显示模块加载顺序的相关性(修复#2946)
[核心]行为变更:更严格的url规范化
[stat_cache]修复cmake的编译错误
[cmake]在freebsd上帮助cmake找到sys/event.h
[scons]帮助freebsd上的scons找到sys/event.h
[mod_webdav]平台可移植性修复
[mod_webdav]在freebsd上禁用elftc_copyfile()
[mod_webdav]特殊情况:)
[mod_webdav]检查if-none-match(#1818)
[stat_cache]符号链接策略chk的单独功能
[stat_cache]将符号链接pol与数据结构分开
[stat_cache]存储条目,不带斜杠
[stat_cache]传递年龄参数以清除统计信息缓存
[stat_cache]删除splaytreeins/del调试代码
[stat_cache]fam:减少字符串复制
[stat_cache]fam:检查famnextevent()返回码
[stat_cache]fam:使用条目哈希索引作为用户数据
[stat_cache]fam:改进处理修改后的文件
[stat_cache]fam:忽略follow-symlink配置
[stat_cache]fam:添加前检查哈希冲突
[stat_cache]fam:忽略没有有效匹配项的事件
[stat_cache]fam:使条目无效的函数
[core]修复post与mem一起使用时的1.4.52回归(修复#2948)
[多个]更清洁的calloc在setdefaults_func中的使用
[核心]向某些etag原型添加const
[core]属性((格式…))
[core]structlog_error_st用于错误记录
[核心]log_error,log_perror使用类似printf的fmt
[核心]新的worker_init钩子跟随父叉
[core]用fdevent_open_cloexec()替换open()
[mod_webdav]主要重写(修复#1818)
[core]200个options/不存在/pathhttp/1.1(修复#2939)
[mod_webdav]将锁令牌括在“<…>”中
[mod_webdav]修复uuid检测宏
[mod_webdav]修复proppatch中空白节点上的异常行为
[mod_webdav]在do{}while(0)之后清理资源
[mod_webdav]检查if-match,if-unmodified-since(#1818)
[mod_webdav]已弃用不安全的部分put兼容
[mod_webdav]在更多响应中提供etag
[core]在qnx7.0上没有sock_nonblock
[mod_auth]http身份验证摘要算法=sha-256
[核心]沉默覆盖警告
[mod_magnet]修复了无效的脚本返回类型崩溃(修复#2938)
[build]删除-wdeclaration-after-statement
[core]在更多地方传递conf.follow_symlink
[core]使用server.error-handler修复断言(修复#2941)
[核心]扩展目录重定向以采用http状态
[doc]次要调整create-mime.conf.pl正则表达式匹配(#2942)
gcc7.0的[core]属性((fallthrough))
[core]fdevent_mkstemp_append()(共享)
[核心]off_tupload_temp_file_size
[core]如果没有pollrdhup,请清除fdevent_rdhup
[mod_wstunnel]修复了big-endian的ping间隔(修复#2944)
[core]修复了http-parseopts中的中止(修复#2945)
[core]删除http-parseopts中的重复斜杠
[核心]使用openssl读取,丢弃请求正文
[mod_openssl]从全局范围继承密码列表
[mod_openssl]默认值:ssl.cipher-list=“high”
[mod_proxy]如果>0,则将content-length传递给后端
[核心]配置选项,允许带有请求正文的get
[核心]一些fdevent代码精简
[core]在fdevents之外删除fde_ndx成员
[核心]删除allow_http11的多余检查
[mod_openssl]使用16k静态缓冲区,而不是64k
[核心]将服务器负载检查拉出主循环
[核心]隔离fdevent处理
[核心]当什么都没读的时候释放空的块buf
[核心]性能:将(fdnode*)传递给epoll和kqueue
[核心]修改配置解析器以处理多个}
[核心]通过(fdnode*)来注册fdeventfd
[mod_auth]http_auth_digest_hex2bin()
[mod_auth]http_auth_info_t摘要抽象
[mod_auth]通过http_auth_require_t进行401取消身份验证
[mod_accesslog]尝试重建请求行
[多个]次要:删除重复的条件
[mod_deflate]对x-gzip,x-bzip2的荣誉要求
[mod_auth]次要:调整配置验证
[核心]丢弃超大拖车
[core]如果pollrdhup没有空连接,则空读取队列
[核心]修复err中指令的gw_backend拼写
[multiple]减少列表大小调整中的代码重复
[核心]con→is_ssl_sock
[核心]connection_handle_write()更新状态
[core]如果未初始化,请跳过plugins_call_cleanup
[核心]更简单的循环来运行插件挂钩
[core]修复srv→split_vals数组的混合使用(修复#2932)
[核心]从事件框架内调度事件
[core]不要多次调用fd事件处理程序,它们可能已经消失了(修复了segfault)
[核心]民意调查:fdarray使用fd作为索引,而不是fde_ndx
[核心]将fdevent_*映射到os系统事件框架
[核心]比起strchr()更喜欢memchr()
[核心]将作业列表指针存储在堆栈中
[核心]快速清除请求缓冲区以供重用
用于connection_state_machine()的[core]辅助函数
[核心]性能:优化connection_read_header()
[core]解析connection_read_header()中的请求
[core]log_request_header_on_error放在一个地方
[core]仅在可能需要记录时才复制请求
[核心]使parse_request,request.request相同buf
[核心]更喜欢buffer_caseless_compare()
[core]将reqhdrs缓冲区传递到http_request_parse
[核心]替换con→response.keep_alive
[核心]将log_error_write*()函数标记为冷
[core]http_request_parse()将错误路径标记为冷
[核心]将代码提升到请求行解析循环之外
[core]get_http_method_key()首先匹配strlen
[核心]rfc7230http版本解析
[mod_evhost]处理ipv6文字地址;添加测试
[core]单独的server_main_loop()函数,标记为热
[核心]将启动/关机功能标记为冷
[核心]一些server_main_loop()清理
[核心]fdevent_process()
[核心]srv→max_fds_lowat和srv→max_fds_hiwat
[核心]删除server.h
[mod_staticfile]搜索ext数组(如果不为空)