Linux 为单个IP创建两个虚拟主机
对不起,我的问题可能重复。但是,我已经读过几个类似的堆栈,但是没有一个解决了我的问题。 我想在我的服务器apache2中创建两个VirtualHost(具有多个DocumentRoot)。 这是我的配置(/etc/apache2/sites enabled/000默认值):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 选项如下符号链接 不允许超限 选项索引包括
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>