本文主要是介绍Lighttpd配置虚拟主机详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转自: http://blog.csdn.net/citysheep/article/details/5997598
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 = 任意第二级域名前缀
复杂虚拟设置匹配可以实现可变目录的绑定,轻松解决多二级域名的解析难题
总结
这里提供的三个方法,各有各的好处.但是就服务器安全角度来说,建议使用第一条.原因嘛!慢慢琢磨啦.
这篇关于Lighttpd配置虚拟主机详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!