天天看點

Lighttpd配置虛拟主機詳解

lighttpd真是不太好弄啊,先記錄下這個吧。這裡主要講解在lighttpd中如何配置虛拟主機.一共有三個方法.在這裡我們是在/etc/lightpd/lighttpd.conf檔案中進行設定,您也可以将這些獨立到另外的檔案中,然後在/etc/lightpd/lighttpd.conf調用即可.

1、正常虛拟主機設定

2、簡單虛拟主機 mod_simple_vhost

3、複雜虛拟設定比對 mod_evhost

注意:如果需要配置後立即生效.需要重新開機lighttpd

正常虛拟主機設定

正常虛拟主機的設定是最簡單的.而且不需要任何子產品的支援就可以設定.

$HTTP["host"] == "www.hilinux.com" {

server.name = "www.hilinux.com"

server.document-root = "/var/www/hilinux.com/public_html"

server.errorlog = "/var/log/lighttpd/www.hilinux.com-error.log"

accesslog.filename = "/var/log/lighttpd/www.hilinux.com-access.log"

}

如此一來,便将[url]www.hilinux.com[/url]綁定到伺服器中,而這裡定義了虛拟主機的目錄和通路日志與錯誤日志的路徑.

簡單虛拟主機

簡單的虛拟主機需要使用mod_simple_vhost子產品.它的特點是簡單的就可以綁定域名,但是如果在商業運作當中,這樣也是有很大隐患!在這裡隻需要将這個子產品添加到server.modules中,即:

server.modules              = (

...

            "mod_simple_vhost",

...

)

一個完整的document root由三個值server-root、hostname、document-root決定

我們可以這樣設定:

simple-vhost.server-root       = "/var/www"

simple-vhost.document-root    = "/public_html/"

如果按照以上這樣設定,那麼我們便可以很友善的綁定多個域名到伺服器,隻需要在/var/www目錄添加檔案夾,檔案夾就輸入需要綁定的域名,然後進入檔案夾,在裡面建立public_html檔案夾就可以實作綁定了.那麼完整的路徑便是

/var/www/www.hilinux.com/public_html

複雜虛拟設定比對

複雜虛拟設定比對,在這裡同樣需要開啟子產品的支援,即在server.modules中添加mod_evhost即可,方法如上.

複雜虛拟設定比對,一般可以用作泛域名解析用,它是使用正則進行比對,如此便可以實作多子域名的綁定.

在lighttpd.conf中便有這一條的解釋

# define a pattern for the host url finding

# %% => % sign

# %0 => domain name + tld

# %1 => tld

# %2 => domain name without tld

# %3 => subdomain 1 name

# %4 => subdomain 2 name

#

# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"

那麼我們可以按照官方的方法進行設定,下面是我的配置.

$HTTP["host"] =~ "www/.hilinux/.com$" {

evhost.path-pattern        = "/var/www/%0/%3"

}

%0 = hilinux.com

%3 = www

這裡文檔路徑是/var/www/hilinux.com/www

還可進行二級域名解析,如:

$HTTP["host"] =~ "^(.*)/.hilinux/.com$" {

evhost.path-pattern        = "/var/www/%0/%3"

}

%0 = hilinux.com

%3 = 任意第二級域名字首

複雜虛拟設定比對可以實作可變目錄的綁定,輕松解決多二級域名的解析難題

總結

這裡提供的三個方法,各有各的好處.但是就伺服器安全角度來說,建議使用第一條.原因嘛!慢慢琢磨啦.