Apache支持虚拟主机,可以在一台服务器上创建多个网站,每个网站相互独立,类似于每个网站均虚拟的使用这一台服务器。

多个网站之间如何区分呢?它可以通过多种方式来区分。

1、通过“网站名称”来区分,建议通过规范的网站域名来区分,不同网站使用不同的网站域名。
2、通过“端口”来区分,不同网站使用不同的端口。
3、通过“IP地址”来区分,不同网站使用不同的IP地址。

1、启用vhost

在配置虚拟主机之前,需要先启动对应的模块vhost_alias_module,在配置文件相应的行前删除#即可启用此模块。

启动模块之后,需要启用Include conf/extra/httpd-vhosts.conf,这样就可以在httpd-vhosts.conf中为虚拟主机来进行独立配置。

2、配置virtual host

每个虚拟主机,在httpd-vhosts.conf中独立配置为一节,其格式如下:

<VirtualHost [网站域名]:80>
    DocumentRoot [网站根目录]
    ServerName [虚拟主机名称]
    ServerAlias [虚拟主机别称]
    ErrorLog [错误输出日志文件]
    CustomLog [正常访问输出日志文件及参数]
	<Directory [网站根目录]>
		Options Indexes FollowSymLinks Includes ExecCGI
		AllowOverride All
		Require all granted
    </Directory>
</VirtualHost>

在Directory配置节中。
Options有很多选项,可查看http://httpd.apache.org/docs/2.4/mod/core.html#options按需配置
AllowOverride,可查看http://httpd.apache.org/docs/2.4/mod/core.html#allowoverride按需配置
Require,设置访问权限,可查看http://httpd.apache.org/docs/2.4/howto/access.html按需配置

每次配置之后,需要重启Apache服务才可以生效。

发表评论