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

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

Linux环境下从零搭建多站点虚拟主机完整指南

2026-02-13虚拟主机957

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

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

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


当然可以!以下是我对您原文进行全面润色、错别字修正、语句优化、内容补充后的原创增强版文章,在保持技术严谨性的同时,增强了可读性、逻辑性和实用性,更适合发布为教程或技术博文:


让一台服务器承载多个网站 —— 高效利用资源,低成本运维的理想选择

在互联网飞速发展的今天,无论是独立开发者、初创团队,还是中大型企业,都迫切需要一套高效、稳定、经济实惠的网站托管方案,而Linux操作系统凭借其开源免费、安全可靠、性能卓越及高度可定制化的优势,早已成为Web服务器部署的首选平台。

“虚拟主机”(Virtual Host)技术应运而生——它允许我们在单一物理服务器上运行多个相互隔离的网站或应用实例,不仅大幅提升了硬件资源利用率,更显著降低了运维成本与复杂度,本文将手把手教你如何在Linux系统下搭建虚拟主机,涵盖Apache 与 Nginx 两大主流Web服务器的详细配置流程,并附赠实用技巧与故障排查指南,助你轻松掌握这项核心技能!


🧩 什么是虚拟主机?

“虚拟主机”,又称“虚拟服务器”,是指通过软件层面的配置,在一台物理服务器上划分出多个逻辑独立的主机环境,每个虚拟主机均可拥有:

  • 独立域名(如 example.com 和 testsite.org)
  • 独立文档根目录(DocumentRoot)
  • 独立访问日志与错误日志
  • 自定义权限控制与安全策略

对外而言,这些站点完全独立,用户无从感知它们共享同一台服务器。

🔍 虚拟主机的三种实现方式:

  1. 基于IP地址:为每个站点分配不同IP(需多个公网IP,成本高,较少使用)
  2. 基于端口:通过不同端口号区分站点(如8080、8081),用户体验差
  3. 基于域名(推荐):最主流方案,仅依赖HTTP请求头中的 Host 字段进行识别,无需额外IP或端口资源

⚙️ 准备工作清单

在动手之前,请确保你的Linux服务器已满足以下基础条件:

项目 推荐配置
操作系统 Ubuntu 20.04/22.04、CentOS 7/8、Debian 10/11(建议选择LTS版本)
Web服务器 Apache 2.4+ 或 Nginx 1.18+
域名解析 所有目标域名需正确解析至服务器公网IP(A记录)
防火墙设置 开放80(HTTP)、443(HTTPS)端口(如使用UFW或firewalld)
用户权限 建议使用非root账户操作,配合 sudo 提权,保障系统安全

💡 小贴士:若用于本地测试,可修改本地 hosts 文件模拟域名解析,无需真实域名。


🐘 Apache虚拟主机配置实战

安装Apache服务

Ubuntu / Debian:

sudo apt update && sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

CentOS / RHEL:

sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd

✅ 安装完成后,访问服务器IP,看到默认欢迎页即表示Apache运行正常。


创建站点目录结构

假设我们要部署两个站点:example.com 与 testsite.org

sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/testsite.org/public_html

设置文件权限

确保Web服务用户(如 www-data 或 apache)可读取站点文件:

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

创建测试首页

快速验证页面是否生效:

echo "<h1>🎉 欢迎访问 example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
echo "<h1>🎉 欢迎访问 testsite.org</h1>" | sudo tee /var/www/testsite.org/public_html/index.html

编写虚拟主机配置文件

进入Apache配置目录:

cd /etc/apache2/sites-available/

创建 example.com.conf:

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

同理创建 testsite.org.conf,只需替换域名与路径即可。


启用站点 & 重载服务

sudo a2ensite example.com.conf
sudo a2ensite testsite.org.conf
sudo systemctl reload apache2

✅ 访问 http://example.com 和 http://testsite.org,应分别看到对应欢迎页!


🦄 Nginx虚拟主机配置实战

安装Nginx

Ubuntu / Debian:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

CentOS:

sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

创建站点目录(同Apache部分)

sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/testsite.org/public_html

并设置权限和测试页(参考Apache部分)。


编写Nginx配置文件

进入配置目录:

cd /etc/nginx/sites-available/

创建 example.com 文件:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/public_html;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    access_log /var/log/nginx/example_access.log;
    error_log /var/log/nginx/example_error.log;
    # 可选:启用目录浏览(生产环境慎用)
    # autoindex on;
}

启用配置 & 测试语法

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t          # 测试配置语法是否正确
sudo systemctl reload nginx

✅ 成功后,访问域名即可看到对应页面!


🚀 进阶优化与安全加固

掌握基础配置后,不妨进一步提升站点性能与安全性:

  1. 启用HTTPS加密
    使用 Let’s Encrypt 免费证书 + Certbot 工具,一键自动化申请与续期:

    sudo apt install certbot python3-certbot-nginx  # Nginx
    sudo certbot --nginx -d example.com -d www.example.com
  2. 配置日志轮转(logrotate)
    避免日志无限增长占用磁盘空间,编辑 /etc/logrotate.d/nginx 或自定义规则。

  3. 性能调优

    • 调整 worker_processes、worker_connections
    • 启用Gzip压缩、静态资源缓存
    • 设置连接超时与缓冲区大小
  4. 安全加固

    • 禁用服务器签名(ServerTokens Off)
    • 限制敏感目录访问(如 .git、.env)
    • 配置WAF(如ModSecurity)或使用云防火墙
  5. 多PHP版本支持
    通过 php-fpm + pool 配置,实现不同站点绑定不同PHP版本,满足项目兼容需求。


🛠️ 常见问题排查手册
错误现象 可能原因 解决方案
403 Forbidden 权限不足或SELinux限制 检查目录权限,CentOS用户可临时禁用SELinux测试:setenforce 0
404 Not Found DocumentRoot路径错误或缺少index文件 确认路径

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

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

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

分享给朋友:

“Linux环境下从零搭建多站点虚拟主机完整指南” 的相关文章

全球服务器分布与服务

随着互联网的快速发展,全球服务器分布与服务已经形成一个庞大且复杂的生态系统。在全球范围内,有大量的数据中心和云计算提供商,它们分布在世界各地,以满足用户对高性能计算、数据分析、存储等服务的需求。这些服务器被广泛用于各种应用中,包括但不限于电商、金融、医疗健康等领域。随着技术的进步,越来越多的边缘计算...

境外服务器租赁服务条款与合同概览

在租用境外服务器时,需遵循相关的规定和条款。这些规定通常包括但不限于服务器的使用时间、存储空间、带宽、数据传输速率等。用户还应遵守当地的法律法规,并确保服务器的安全性和合规性。建议在选择境外服务器之前仔细阅读相关协议,并咨询专业人士以获取更详细的指导。在当今数字化时代,企业对服务器的需求日益增长,在...

游戏连接不上服务器,排查和解决方法

遇到网络正常但无法连接到服务器的问题时,可以尝试以下步骤来解决问题:,,1. 检查设备和网络连接:确保电脑或手机的网络连接稳定,并且没有被其他网络干扰。,,2. 更新驱动程序:如果使用的是硬件设备,如显卡、声卡等,更新它们的驱动程序可能有助于解决网络问题。,,3. 重启路由器:有时候简单的重启路由器...

国外服务器非法使用

根据中国法律法规,搭建海外服务器是违法的。近年来,随着互联网技术的发展和全球化的进程加快,越来越多的人开始在海外搭建自己的服务器来提供各种在线服务,搭建海外服务器是否合法,这个问题一直存在争议。从法律角度来看,搭建海外服务器并不违反任何国家的法律法规,大多数国家都允许个人或组织在自己的服务器上运行各...

我的世界服务器价格是多少?

在选择购买My World服务器时,价格会受到多个因素的影响,包括服务器类型、配置要求、地理位置以及是否包含额外服务。标准版服务器的价格大约在每台服务器49到99美元之间,而专业版则可能要更高。如果需要添加插件或扩展功能,价格也会相应增加。建议在购买前咨询当地游戏社区或专业的服务器提供商,以获取更准...

如何选择合适的网站服务器租赁服务?

在选择网站服务器租赁服务时,应考虑多个因素,如预算、性能要求、安全性、技术支持等。建议首先进行市场调研,了解不同服务商的报价和特性,然后结合自身需求做出决定。定期更新服务器软件,确保其安全性和稳定性。对于高负载的应用程序,可以考虑使用云服务提供商提供的弹性伸缩功能。在数字化时代,越来越多的人开始使用...