Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64723
  • 博文数量: 13
  • 博客积分: 7
  • 博客等级: 民兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-02 08:57
文章分类
文章存档

2012年(8)

2011年(5)

分类:

2012-02-29 12:08:08

原文地址:lighttpd 配置文件 作者:bfz814

/etc/lighttpd/lighttpd.conf为 Lighttpd 服务器的配置文件
## 网站根目录 映射在机器上的物理路径
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 作一些设置,见

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",
".py" => "/usr/bin/python" )

路径绑定

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

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

## 将 /home/lighttpd/html/man 映射到
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/" )
}


[] 查看/etc/init.d/lighttpd文件,可以看到类似字句:
/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

- f 选项指定配置文件

阅读(17531) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~