动态配置海量虚拟主机?

动态配置海量虚拟主机?

我有 3 个网站在一台服务器(一个 IP)上运行,每个网站都有多个子域。httpd.conf 文件相当大,每个子域都有多个 VirtualHost 标签。我不想每次添加新网站或新子域时都添加到 httpd.conf,而是希望动态配置它。以下是布局...

该站点位于

/var/www/html/[ownername]/[domain]/[subdomain]

所以我希望“sub.domain.com”指向

 /var/www/html/theowner/domain.com/sub

我想要 this.otherdomain.org 指向

 /var/www/html/someowner/otherdomain.org/this

我如何在 httpd.conf 文件中实现这一点?谢谢。

答案1

如果你不想根据网站所有者创建目录结构,那么你可以使用 Apache2 轻松实现这一点虚拟主机别名模块。我以前用过这个。为了像你在问题中描述的那样以另一个为基础,你需要做一些花哨的事情mod_rewrite写作但它可能不会完全动态并且需要配置才能激活。

答案2

听起来像是 mod_vhost_alias 的工作:

http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html

答案3

apache2 中包含各种选项海量虚拟主机文档。对于您的情况,mod_rewrite解决方案可能适合您。

答案4

实现此目的的另一种方法是使用 puppet 之类的工具来管理文件夹结构以及 vhost 文件。您可以轻松编写甚至找到 vhost 模块来实现此目的。然后使用 conf.d 目录来保存所有 vhost 文件。

相关内容