首页 > 网站 > Apache > 正文

apache虚拟主机的配置指南

2024-08-27 18:23:03
字体:
来源:转载
供稿:网友
本文介绍了apache虚拟主机的配置的方法,要配置apache的虚拟主机,我们需要分以下几步进行:检查apache虚拟主机模块,开启apache虚拟主机功能,httpd-vhosts.conf文件详解,根据IP配置虚拟主机,根据端口配置虚拟主机,根据域名配置虚拟主机,有需要的小伙伴参考下

一、检查apache虚拟主机模块

apache要配置虚拟主机,就需要先查看apache是否编译vhost_alias_module模块。当然apache默认是已经编译该模块的,我们可以通过以下命令查看是否已经编译模块,如下:

/usr/local/apache2/bin/apachectl -M

二、开启apache虚拟主机功能

要开启apache虚拟主机功能,我们需要修改apache配置文件http.conf。打开apache的安装目录,找到httpd.conf文件,去掉Include conf/extra/httpd-vhosts.conf前的#。如下:

vi httpd.conf

该行的作用是,把conf/extra/目录下的httpd-vhosts.conf文件导入虚拟主机配置中。

下面我们所有有关虚拟主机的配置都在httpd-vhosts.conf文件中进行。如下:

apache虚拟主机配置主要分为三种,分别是根据IP地址、根据端口、根据域名。

这三种虚拟主机,我们主要讲解基于域名的虚拟主机。基于IP与基于端口在生产环境中使用的比较少,我们在此只大致讲解其配置。

注意在此之前,我们还要修改httpd.conf文件把有关目录访问权限的配置选项去掉。否则在访问虚拟主机时,会报403错误。如下:

httpd.conf文件去掉Order deny,allow和Deny from all行,修改如下:

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

值得注意的是,当我们为apache启用虚拟主机之后,那么所有的用户请求都会交由对应的虚拟主机来处理。如果apache找不到对应的虚拟主机,则会把该请求交给配置文件中排在最前面的虚拟主机来处理。

同时如果配置基于域名的虚拟主机,我们必须要启用NameVirtualHost *:80行。如下:

三、httpd-vhosts.conf文件详解

httpd-vhosts.conf文件内容大致如下:

NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "@@ServerRoot@@/docs/dummy-host.example.com"

ServerName dummy-host.example.com

ServerAlias www.dummy-host.example.com

ErrorLog "logs/dummy-host.example.com-error_log"

CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

NameVirtualHost指定虚拟主机所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost可以定义多个。所有符合NameVirtualHost或<VirtualHost>标签定义的请求,都会被作为虚拟主机处理,而主服务器将不理会。NameVirtualHost定义了而<VirtualHost>标签没有定义的的请求,服务器会找不到相应的虚拟主机而将无法处理。所以每个NameVirtualHost定义的参数至少要有一个<VirtualHost>相匹配。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表