在 lighttpd 上设置简单的 vhost

在 lighttpd 上设置简单的 vhost

我最近在 Ubuntu 10.04 上安装了 Lighttpd。我使用了标准配置文件,没有做任何修改,并将内容放在 /var/www 中。我打开浏览器,输入 URL www.myexample.co.uk,内容就被传送了。太棒了!

我需要使用服务器托管多个网页,因此我配置了简单的 vhost 模块。我几乎将 vhost 配置文件 /etc/lighttpd/conf-enabled/10-simple-vhost.conf 保留为标准配置:

simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
#simple-vhost.default-host = "www.example.com"

然后,我将内容从 /var/www 移至 /var/www/myexample.co.uk/html/,重新启动服务器并打开浏览器进行测试。

现在我看到一个页面,其中显示了 / 的索引,然后有一个指向名为 myexample.com 的文件夹的链接。单击此按钮将打开 /myexample.co.uk 的索引,该索引有一个指向名为 html 的文件夹的链接。单击此按钮将显示我的内容。

显然,这并没有按照我的预期发挥作用。任何想法都将不胜感激!

答案1

猜测http://redmine.lighttpd.net/wiki/1/Docs:ModSimpleVhost你仍然需要一个

simple-vhost.default-host = "example.org"

条目或类似内容。您使用的主机名是否与目录名完全匹配?

您能否破坏配置文件并查看服务启动失败,以证明您正在编辑它正在使用的配置文件?

答案2

经过一番尝试后,我设法通过设置 /etc/lighttpd/conf-enabled/10-simple-vhost.conf 使其正常工作,如下所示:

simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
simple-vhost.default-host = "myexample.co.uk"

基本上,我需要设置一个默认主机值并摆脱 www 部分。

答案3

  • 使用 ubuntu 提供的脚本助手sudo lighty-enable-mod simple-vhost(或 lighttpd-enbale-mod)运行,通过它更改您在 /etc/lighttpd/lighttpd.conf 中的状态,并将相关文件从 /etc/lighttpd/conf-available 移动到 conf-enabled 文件夹以包含 simple-vhost mod。
  • sudo /etc/init.d/lighttpd 强制重新加载
  • 在conf-enabled文件夹中,有一个名为10-simple-vhost.conf的文件。根据您的要求进行编辑。

    个人建议:

  • 通过创建 /sites/vhost/www.example.com 文件夹来划分各个站点。
  • 为每个主机放置 log、www、cgi 等文件夹
  • 记得给这些文件夹设置正确的权限

    参考

相关内容