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 = 任意第二級域名字首
複雜虛拟設定比對可以實作可變目錄的綁定,輕松解決多二級域名的解析難題
總結
這裡提供的三個方法,各有各的好處.但是就伺服器安全角度來說,建議使用第一條.原因嘛!慢慢琢磨啦.