Apache虚拟主机(vhost)配置教程
使用apache来配置虚拟主机,在单一系统上运行多个网站。
现在很多linux主机使用apache作为web服务器的,大部分是基于这个原理来配置虚拟主机的。
下面就windows下以apache 2.4.3作为演示的一个教程。
这里只是简单的说明下,简述实现的原理
1.Apache的配置文件httpd.conf,找到Virtual hosts,进行如下修改保存。
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
去掉第2行的‘#’号,改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
这样就开启了extra文件夹下的httpd-vhosts.conf,以后修改虚拟主机只要在这个文件进行。
2.对httpd-vhosts.conf进行配置。
例如域名www.a.com和www.b.com
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin webmaster@a.com
DocumentRoot "d:/www/a"
ServerName a.com
ServerAlias www.a.com
ErrorLog "logs/a.com.log"
CustomLog "logs/a.com.log" common
<Directory "d:/www/a">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@b.com
DocumentRoot "d:/www/b"
ServerName b.com
ServerAlias www.b.com
ErrorLog "logs/b.com.log"
CustomLog "logs/b.com.log" common
<Directory "d:/www/b">
Require all granted
</Directory>
</VirtualHost>
注意:apache 2.4以上版本中需要在目录下面添加 Require all granted,否则无论怎么访问都是403。
这个我也查找了好久才查出的原因,官方文档也没有找到说明的地方。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)