特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

当前位置:首页 > 行业资讯 > 虚拟主机 > 正文内容

Apache虚拟主机配置全攻略从零开始搭建多站点环境

2026-01-29虚拟主机1220

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


Apache 虚拟主机、Name-based Virtual Host、IP-based、Port-based、Web 服务器部署、一机多站


引言:为什么你需要掌握 Apache 虚拟主机?

在当今互联网高速发展的时代,单台服务器承载多个网站早已成为行业标配,无论是个人开发者搭建作品集、中小企业部署业务系统,还是大型云服务商托管海量客户站点,高效利用服务器资源、灵活管理多个独立站点已成为刚需。

作为全球使用最广泛的开源 Web 服务器软件,Apache HTTP Server 凭借其强大的模块化架构和成熟的社区生态,持续稳居 Web 服务领域的核心地位,而它的“虚拟主机(Virtual Host)”功能,正是实现“一机多站”的关键技术支撑。

本文将从零开始,系统、详尽地讲解 如何在 Apache 中配置虚拟主机,涵盖基于域名、IP 地址和端口的三种主流方式,并提供实战步骤、常见问题与最佳实践,助你快速构建稳定高效的多站点架构。


什么是 Apache 虚拟主机?

虚拟主机(Virtual Host),又称虚拟服务器,是 Apache 提供的一种在同一台物理服务器上托管多个独立网站的技术方案,每个虚拟主机可拥有:

  • 独立的域名(如 www.site1.com
  • 独立的网站根目录(DocumentRoot)
  • 独立的日志文件(访问日志、错误日志)
  • 独立的访问控制策略
  • 独立的 SSL 证书配置

这些站点彼此隔离、互不干扰,在用户访问时表现如同独立的服务器,极大节省了硬件成本与运维开销,显著提升了服务器资源利用率——这正是现代 Web 部署的标准实践。


Apache 支持的三种虚拟主机类型
类型 描述 适用场景
基于名称的虚拟主机
(Name-based)
通过不同域名区分站点
(最常用)
生产环境、域名已备案/解析
基于 IP 的虚拟主机
(IP-based)
每个站点绑定独立公网 IP 多 IP 服务器、高安全隔离需求
基于端口的虚拟主机
(Port-based)
同一 IP 下通过不同端口号区分 开发测试、内网服务、临时调试

💡 推荐优先使用“基于名称”的方式,它配置简单、扩展性强,且符合主流互联网架构规范。


前期准备工作

在动手配置前,请确保已完成以下基础准备:

  1. ✅ 已安装 Apache 服务器

    • Ubuntu/Debian: sudo apt update && sudo apt install apache2
    • CentOS/RHEL: sudo yum install httpdsudo dnf install httpd
  2. ✅ 服务器拥有公网 IP 或局域网可达 IP

  3. ✅ 域名已注册并正确解析到服务器 IP(若使用域名方式)

  4. ✅ 熟悉基本 Linux 命令行操作(如 mkdir, chmod, nano 等)

  5. ✅ 拥有服务器 root 权限或 sudo 权限

  6. ✅ (可选)备份现有 Apache 配置,以防误操作导致服务中断


第一步:启用 Apache 虚拟主机模块

默认情况下,Apache 可能未启用虚拟主机相关模块,请按以下步骤激活:

启用必要模块

sudo a2enmod vhost_alias

注:部分系统可能需额外启用 rewritessl 等模块,视需求而定。

确认主配置包含虚拟主机入口

不同发行版路径略有差异:

  • Ubuntu/Debian: /etc/apache2/apache2.conf 或检查 /etc/apache2/sites-enabled/
  • CentOS/RHEL: /etc/httpd/conf/httpd.conf

在配置文件末尾确认存在如下语句(若无则手动添加):

IncludeOptional sites-enabled/*.conf

重启 Apache 使配置生效

# Ubuntu/Debian
sudo systemctl restart apache2
# CentOS/RHEL
sudo systemctl restart httpd

配置基于名称的虚拟主机(推荐)

我们以两个示例站点为例:www.site1.comwww.site2.com

步骤 1️⃣:创建网站目录结构

sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html

步骤 2️⃣:设置目录权限(安全第一)

sudo chown -R $USER:$USER /var/www/site1.com/public_html
sudo chown -R $USER:$USER /var/www/site2.com/public_html
sudo chmod -R 755 /var/www

⚠️ 生产环境中建议使用专用非 root 用户(如 www-data)作为属主,避免权限过高引发安全风险。

步骤 3️⃣:创建测试首页

echo "<h1>🎉 欢迎访问 Site1</h1>" | sudo tee /var/www/site1.com/public_html/index.html
echo "<h1>🎉 欢迎访问 Site2</h1>" | sudo tee /var/www/site2.com/public_html/index.html

步骤 4️⃣:编写虚拟主机配置文件

在 Ubuntu 中,推荐将配置文件放在 /etc/apache2/sites-available/ 目录下:

创建 site1.com.conf

<VirtualHost *:80>
    ServerAdmin admin@site1.com
    ServerName site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/site1.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/site1_error.log
    CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
    <Directory /var/www/site1.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

创建 site2.com.conf

<VirtualHost *:80>
    ServerAdmin admin@site2.com
    ServerName site2.com
    ServerAlias www.site2.com
    DocumentRoot /var/www/site2.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/site2_error.log
    CustomLog ${APACHE_LOG_DIR}/site2_access.log combined
    <Directory /var/www/site2.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

🔍 小贴士:AllowOverride All 允许 .htaccess 文件生效,适用于 WordPress 等 CMS;若追求性能,可设为 None 并将规则写入主配置。

步骤 5️⃣:启用站点并重载服务

sudo a2ensite site1.com.conf
sudo a2ensite site2.com.conf
sudo systemctl reload apache2

✅ 使用 reload 而非 restart,可在不中断现有连接的情况下应用新配置。

步骤 6️⃣:本地测试(修改 hosts 文件)

若域名尚未解析,可在本地电脑临时绑定 IP:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Linux/Mac: /etc/hosts 替换为你的服务器 IP):
168.1.100 site1.com www.site1.com
192.168.1.100 site2.com www.site2.com

保存后,在浏览器访问:

  • http://site1.com
  • http://site2.com

即可看到不同页面,说明配置成功!


配置基于 IP 的虚拟主机

适用于拥有多公网 IP 的服务器(如 168.1.10168.1.11)。

确保 Apache 监听所有 IP

在主配置中保留或添加:

Listen 80

分别配置站点

site1_ip.conf

<VirtualHost 192.168.1.10:80>
    ServerName site1.com
    DocumentRoot /var/www

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/94492.html

分享给朋友:

“Apache虚拟主机配置全攻略从零开始搭建多站点环境” 的相关文章

服务器租赁费用计算,每月多少?

租赁服务器价格因服务提供商、操作系统、存储容量和带宽等因素而异。每月租金在几十到几百元不等。建议参考各云服务提供商的官方定价信息或咨询相关销售人员以获取准确的价格。探索服务器租赁市场的成本与效益随着科技的快速发展,云计算已经成为企业获取计算资源的一种便捷方式,在享受云服务带来的便利的同时,如何合理规...

软件租赁服务器一年费用计算

软件租赁服务器一年的费用取决于多种因素,包括服务器类型、租赁时间、操作系统和网络配置等。通常情况下,服务器租赁一年的价格可以从几十到几百美元不等。在选择租赁服务提供商时,建议查看他们的价格表并进行比较。一些云服务提供商还提供折扣活动或优惠券,可以进一步节省成本。随着科技的发展和互联网的普及,越来越多...

阿里云服务器租用费用一年多少?

阿里云服务器租用费用通常在每年600至2000元之间,具体价格会根据所选实例类型、网络带宽、存储容量等因素有所不同。建议您咨询阿里云官方或相关服务提供商获取最新的报价信息。随着互联网的飞速发展,云计算已成为企业数字化转型的重要手段,阿里云作为全球领先的云计算服务提供商,为用户提供稳定、安全、可靠的云...

服务器租用1000元,开启你的数字世界新篇章!

服务器租用1000元开启数字世界新篇章。在这个数字化的时代,数据是我们生活的重要组成部分,无论是工作、学习还是娱乐,都需要大量的计算和存储能力,而服务器,作为处理这些数据的关键设备,成为了我们不可或缺的基础设施。随着互联网技术的发展,服务器租赁的价格也在逐渐降低,如果你正在寻找一个性价比高的服务器租...

中国公民赴国外免费海外服务器

在互联网时代,随着全球化的进程加快,越来越多的中国人选择出国旅行、留学或创业,在享受自由和便利的同时,他们也面临着网络安全、隐私保护等挑战,为了解决这些问题,中国政府推出了许多政策和服务,以支持海外留学和创业。什么是免费海外服务器?免费海外服务器是指提供给个人或组织用于存储、访问和传输数据的服务器,...

如何选择合适的方案?

选择合适方案需要考虑多方面因素,包括预算、技术需求、目标用户和市场环境。应明确自己的业务目标和预期收益,然后评估现有技术资源和技术栈是否满足需求。了解行业趋势和竞争对手的情况,以便选择更符合市场需求的产品或服务。进行试用和比较,以确定最适合您的解决方案。在当今数字化时代,虚拟主机已经成为企业进行网络...