您的位置:首页 > 运维架构 > Apache

Apache配置基于端口号的虚拟主机 Apache virtual host configuration is based on the port

2014-07-21 00:41 651 查看
有可能只有一个ip出口,但却有多个项目,那么就需要基于端口号架设虚拟主机。

Step 1:

  检查是否开启 httpd-vhosts.conf

  apache/conf/httpd.conf文件

# Virtual hosts
Include conf/extra/httpd-vhosts.conf


  如果没有开启,必须在httpd.conf文件中设置;如果开启,则可以在apache/conf/extra/httpd-vhosts.conf文件中设置,当然也还是可以再httpd.conf文件中进行设置,同样有效。

Step 2:

  httpd.conf文件 DocumentRoot一定要是要配置成虚拟主机的项目的父级目录,此处的DocumentRoot限制的级别最高,虚拟主机中设置的DocumentRoot目录级别只能等于或低于此处的DocumentRoot目录。

# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "D:\htdocs"
<Directory "D:\htdocs">


Step 3:

  httpd.conf文件中添加多端口监听。

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
Listen 81
Listen 82


Step 4:

  按照Step1中的规则,添加虚拟主机配置。

<VirtualHost *:80>
DocumentRoot "D:\htdocs\project1\www"
ServerName 127.0.0.1:80
<Directory "D:\htdocs\project1\www">
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:81>
DocumentRoot "D:\htdocs\project2"
ServerName 127.0.0.1:81
<Directory "D:\htdocs\project2">
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>


Note:

  在虚拟主机配置中一定要覆盖80端口的配置,不然则使用httpd.conf中配置的DocumentRoot的目录,那么项目的上级目录则暴露了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐