Linux 为单个IP创建两个虚拟主机

Linux 为单个IP创建两个虚拟主机,linux,apache,ubuntu,virtualhost,Linux,Apache,Ubuntu,Virtualhost,对不起,我的问题可能重复。但是,我已经读过几个类似的堆栈,但是没有一个解决了我的问题。 我想在我的服务器apache2中创建两个VirtualHost(具有多个DocumentRoot)。 这是我的配置(/etc/apache2/sites enabled/000默认值): ServerName jlcj.goforward.com 服务器管理员test@localhostxxx DocumentRoot/var/www/symfony/ws1/web 选项如下符号链接 不允许超限 选项索引包括

对不起,我的问题可能重复。但是,我已经读过几个类似的堆栈,但是没有一个解决了我的问题。 我想在我的服务器apache2中创建两个VirtualHost(具有多个DocumentRoot)。 这是我的配置(/etc/apache2/sites enabled/000默认值):

ServerName jlcj.goforward.com
服务器管理员test@localhostxxx
DocumentRoot/var/www/symfony/ws1/web
选项如下符号链接
不允许超限
选项索引包括以下符号链接多视图
允许超越所有
命令允许,拒绝
通融
别名/pages“/var/www/pages”
服务器管理员test@localhostxxx
DocumentRoot/var/www/mtbe\u测试
选项如下符号链接
允许超越所有
选项索引包括以下符号链接多视图
允许超越所有
命令允许,拒绝
通融
然后,我尝试绑定到另一个端口,但它没有侦听,如下所示:

Listen 8081
<VirtualHost *:8081>
ServerAdmin test@localhostxxx
DocumentRoot /var/www/mtbe_test
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/mtbe_test>
    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    allow from all
</Directory>

Alias /mtbe_test    "/var/www/mtbe_test"
  </VirtualHost>
听8081
服务器管理员test@localhostxxx
DocumentRoot/var/www/mtbe\u测试
选项如下符号链接
允许超越所有
选项索引包括以下符号链接多视图
允许超越所有
命令允许,拒绝
通融
别名/mtbe_测试/var/www/mtbe_测试”

请帮助,我的配置有什么问题?

这是执行所需操作的最低配置:

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example.org

# Other directives here

</VirtualHost> 
#确保Apache侦听端口80
听80
#侦听所有IP地址上的虚拟主机请求
名称虚拟主机*:80
DocumentRoot/www/example1
服务器名www.example.com
#这里还有其他指示
DocumentRoot/www/example2
服务器名www.example.org
#这里还有其他指示

您必须设置不同的虚拟主机。 对于每个虚拟主机,可以设置不同的文档根

这里最重要的是设置不同的服务器名。因此,如果您有一个名为:
domain.com
的域,并且希望为
subdomain.domain.com
创建不同的文档根,则需要构建两个虚拟主机

<VirtualHost *:80>
    ServerName www.domain.com
    DocumentRoot /www/htdocs/
</VirtualHost> 

<VirtualHost *:80>
    ServerName subdomain.domain.com
    DocumentRoot /www/subdomain/
</VirtualHost>

服务器名www.domain.com
DocumentRoot/www/htdocs/
ServerName subdomain.domain.com
DocumentRoot/www/subdomain/
通过此配置,您拥有
www.domain.com
的文档根
/www/htdocs
,以及
subdomain.com
/www/subdomain/


如果要将另一个系统文件夹添加到文档根目录,可以使用。

+1,但是,是否可以在两个VirtualHost(例如:www.domain.com)上使用相同的名称?为什么要这样做?您可以将另一个系统文件夹添加到documentroot。
<VirtualHost *:80>
    ServerName www.domain.com
    DocumentRoot /www/htdocs/
</VirtualHost> 

<VirtualHost *:80>
    ServerName subdomain.domain.com
    DocumentRoot /www/subdomain/
</VirtualHost>