我有一个主域名 www.example.com
我想要一个这样的子域名
www.pictures.example.com
我(认为)可以选择以下任一方式:
- 使用虚拟服务器将不同的地址(即主域名和子域名)匹配到同一个 Apache 服务器进程
- 使用两个独立的 Apache 服务器(尽管位于同一台机器上)来独立处理请求
我的问题是:
- 上述1和2的优缺点是什么?
- 我如何实现 1 或 2(即,针对上述每个替代方案需要实施哪些步骤)?
答案1
你实际上没有选择。如果你运行两个独立的 Apache 实例,它们就不能两个都抢占80端口。使用虚拟主机是最好的解决方案。
将以下内容添加到您的 apache 配置中:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
# the remainder of your example.com configuration goes here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/pictures.example.com
ServerName pictures.example.com
ServerAlias www.pictures.example.com
# the remainder of your pictures.example.com configuration goes here
</VirtualHost>