惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
N
News | PayPal Newsroom
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
V
V2EX - 技术
S
Secure Thoughts
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
S
Securelist
S
Security Archives - TechRepublic
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
Recent Commits to openclaw:main
Recent Commits to openclaw:main
G
GRAHAM CLULEY
H
Hacker News: Front Page
Microsoft Azure Blog
Microsoft Azure Blog
I
Intezer
Google Online Security Blog
Google Online Security Blog
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Webroot Blog
Webroot Blog
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
P
Proofpoint News Feed
The Cloudflare Blog
I
InfoQ
L
LangChain Blog
U
Unit 42
P
Proofpoint News Feed
S
Schneier on Security
S
Security Affairs
Y
Y Combinator Blog
T
Tenable Blog
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
量子位
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
博客园 - 聂微东
D
Darknet – Hacking Tools, Hacker News & Cyber Security
GbyAI
GbyAI
AWS News Blog
AWS News Blog

博客园 - sharmy

[转]快速理解数据库中的索引(Indexes in Database) mysql数据库中的索引与优化、理解与用途 MySQL锁机制 经典mysql 语句收录 mysql查找执行效率慢的SQL语句 编写lighttpd插件 Lighttpd 配置与性能优化 Apache SSL Module 介绍,原理及安装 ulimit 修改常见服务器的banner mysql M/S配置小记 MySQL触发器自动更新memcache[转] 用css sprites(图像拼合技术)优化css加快网站速度[转] php效率高写法 memcache在大型网站的应用策略【转】 开发大型高负载类网站应用的几个要点[转] asp.net性能常用优化 转 缓存理解 转 如何利用客户端缓存对网站进行优化?
Lighttpd
sharmy · 2009-03-31 · via 博客园 - sharmy

Lighttpd是一个新兴的、轻量级的 web 服务器,它开始越来越多的应用在一些重要场合,如:YouTobe、Sourceforge、豆瓣……

Lighttpd 以安全、快速和内存消耗低著称,还专门为大型分布式连接环境做了优化,支持 FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias 等重要功能。

Lighttpd 已经进入大多数发行版的软件仓库,安装方式见表 16.1 “包管理系统”

安装完成后,用启动脚本启动:/etc/init.d/lighttpd start,见“手动控制服务”一节

/etc/lighttpd/lighttpd.conf为 Lighttpd 服务器的配置文件[43]

## 网站根目录 映射在机器上的物理路径
server.document-root        = "/home/lighttpd/html/"

## 如果网站目录中出现以下文件名,不用指定文件名便可直接访问
index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm" )

## Lighttpd 进程的归属用户
server.username             = "nobody"

## Lighttpd 进程的归属群组
server.groupname            = "nobody"

## 绑定到端口 默认为 80
#server.port                = 81

## 绑定到地址 默认为 所有
#server.bind                = "127.0.0.1"

## 访问日志 路径
accesslog.filename          = "/var/log/lighttpd/access.log"

## 错误日志 路径
server.errorlog             = "/var/log/lighttpd/error.log"

## 禁止访问以下文件
url.access-deny             = ( "~", ".inc" )  

## 与目录列表相关的设置
#dir-listing.activate       = "enable"  
#dir-listing.encoding       = "utf8"
#dir-listing.show-readme       = "enable"  

配置文件中的server.modules字段决定Lighttpd使用哪些扩展模块:

server.modules = ("mod_access","mod_fastcgi","mod_accesslog" )        
  • Lighttpd 通过 mod_fastcgi 模块支持 PHP
  • mod_accesslog 模块为访问纪录

其实在 /etc/lighttpd/lighttpd.conf 文件中,这部分内容写在多行,方便用 # 作注释,禁用不需要的模块

server.modules              = (
## 基础模块
    				"mod_access",
## 访问纪录
    				"mod_accesslog" )   
## fastcgi 支持
    				"mod_fastcgi",
## cgi 支持
#                               "mod_cgi",
## 路径绑定
#                               "mod_alias",
##  代理 (转发页面)
#                               "mod_proxy",
## 虚拟主机
#                               "mod_evhost",
## 输出压缩
#                               "mod_compress",
## 网址重写
#                               "mod_rewrite",
## 用户认证
#                               "mod_auth",
#                               "mod_redirect",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
#                               "mod_status",
#                               "mod_setenv",
#                               "mod_simple_vhost",
#                               "mod_userdir",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool", 

fastcgi 配置

在配置文件的server.modules字段中启用mod_fastcgi模块,然后检查以下内容:

### fastcgi 脚本扩展名
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )      

### fastcgi 服务器设置      
fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
# TCP/IP 接口 (“套接字”)
                                   "socket" => "/tmp/php-fastcgi.socket",
# PHP cgi 模式的可执行文件(PHP 有 cli 和 cgi 两种模式)
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )
      

上面例子的第二部分,使用 Lighttpd 转发规则。大意为: .php文件按以下方式处理 => 从localhost(本地),发送到/tmp/php-fastcgi.socket接口,使用/usr/bin/php-cgi处理。写成一行比较直观:

    fastcgi.server  = ( ".php" => ( "localhost" => ( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi" )))

如果想要 fastcgi 和 PHP 协同工作,还需要对 PHP 作一些设置,见“PHP&MySQL”一节

proxy

该模块可以将文件转发到其它服务器进行处理,例如将.jsp文件转发到Tomcat服务器

### 首先启用 mod_proxy 模块
# += 表示在原来设置上增加
servers.modules +=( "mod_proxy")

### 设置 proxy 服务器转发规则    
proxy.server               = ( ".jsp" =>
                               ( "localhost" =>
                                 (
# 将 .jsp 文件发送到 地址“127.0.0.1”的“8080”端口(也就是本机的 Tomcat 服务器)
                                   "host" => "127.0.0.1",
                                   "port" => 8080
                                 )
                               )
                             )    

CGI

Lighttpd 可以支持 cgi

### 启用 mod_cgi 模块
server.modules              += ("mod_cgi")

### 设置 cgi 解释器
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                              ".cgi" => "/usr/bin/perl" )    

路径绑定

将一个路径,映射到网站目录中

## 启用 mod_alias 模块
servers.modules +=( "mod_alias")    

##  将 /home/lighttpd/html/man 映射到 http://host/docs
alias.url += ( "/docs" => "/home/lighttpd/html/man" )    

虚拟主机

Lighttpd 可以建立多个虚拟主机,绑定在不同的网络接口

### 启用 mod_evhost 模块
servers.modules +=( "mod_evhost")

### 虚拟主机绑定的网络接口
$HTTP["host"] == "192.168.1.2" 
{
### 虚拟主机可以使用独立的选项
dir-listing.activate       = "enable"
dir-listing.encoding       = "utf8"
dir-listing.show-readme       = "enable"
### 虚拟主机根目录
server.document-root = "/home/user/html"
### 虚拟主机路径绑定
alias.url = ( "/download/" => "/home/user/downloads/" )
alias.url += ( "/pictures/" => "/home/user/pictures/" )
}