lighttpd是一款轻量级的web服务,默认支持虚拟主机,但是我们希望通过增加一些简单的代码获得虚拟主机对mysql的支持。
测试环境为kubuntu 8.04.1,大致的步骤如下
1)下载必要的软件,包括lighttpd,mysql,python,python-mysqldb
2)创建必要的数据库,数据表及测试数据
3)给lighttpd添加自定义的配置文件
下面详细叙述:
一、下载必要的软件
lighttpd是必须的,mysql作为存储数据库的方式,也是必须的,python和python-MySQLdb只所以需要是因为我们增加的配置文件和功能是由python能完成的,当然你也可以使用其他语言来完成,比如perl。
sudo apt-get install lighttpd mysql-server python
python-MySQLdb
二、配置数据库
我们创建一个lighttpd帐号来管理自己的数据库,步骤如下:
1 2 3 4 5 6 7 8 | |
而后切换到lightpd账号链接
1 2 3 4 5 6 7 8 9 10 11 | |
然后我们创建一些测试数据库
1 2 3 4 5 | |
三、配置Lighttpd
首先创建一个python脚本,用来从指定的数据库中读取必要的信息,并动态生成配置文档。
File /Users/wgzhao/Sites/blog.wgzhao.com/source/downloads/code/mysql_vhost.py could not be found
接下来,在/etc/lighttpd/conf-enabled/目录下创建一个软链接
ln -sf ../conf-available/10-vhost.conf .
四、测试
完成上面的配置后,我们就可以测试了,首先在/var/www/下面创建www.foo.com和www.bar.com两个目录
然后在/etc/hosts文件里添加对这两个域名的解析,最简单的方式是添加下面这行
127.0.0.1 wwww.foo.com www.bar.com
打开浏览器,在地址栏输入http://www.foo.com/,是不是可以看到类似下面的信息

再浏览http://www.bar.com/,是不是得到类似下面的信息

这里很有意思,居然不是说430的错误,而不是报404的错误。当然,你可以在/var/www/www.bar.com/下面添加一个index.html文件,再刷新,是不是有了index.html的内容。