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

使用Nginx搭建虚拟主机从零开始实现多站点部署

2025-09-17虚拟主机877

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

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

美国云虚拟主机 助力出海企业低成本上云             WAF网站防火墙 为您的业务网站保驾护航


在现代 Web 开发与系统运维中,服务器资源的高效利用是保障业务稳定运行的关键环节,随着互联网应用规模的不断扩展,一台物理服务器往往需要承载多个网站或服务,为满足这一需求,虚拟主机(Virtual Host)技术应运而生,并成为共享主机环境中的核心技术之一。

Nginx 作为一款高性能、轻量级的 HTTP 服务器和反向代理工具,凭借其出色的并发处理能力与低资源消耗,在高并发场景下被广泛应用于 Web 服务部署,本文将详细介绍如何通过 Nginx 配置基于域名的虚拟主机,实现在同一台服务器上安全、高效地运行多个独立域名站点。


什么是虚拟主机?

虚拟主机是一种在单一物理服务器上托管多个独立网站的技术,它允许不同的网站共享相同的硬件资源(如 CPU、内存、IP 地址),并通过特定机制进行请求分流,从而达到资源复用的目的。

根据实现方式的不同,虚拟主机主要分为以下三种类型:

  1. 基于名称的虚拟主机(Name-based Virtual Hosting)
    最常见的形式,多个域名共享同一个 IP 地址和端口(如 80 或 443),Nginx 根据客户端请求头中的 Host 字段判断应响应哪个网站,这种方式极大地节省了公网 IP 资源,适用于绝大多数 Web 应用场景。

  2. 基于 IP 的虚拟主机(IP-based Virtual Hosting)
    每个网站绑定一个独立的 IP 地址,适用于需要 SSL/TLS 证书但未支持 SNI(Server Name Indication)的旧客户端环境,由于 IPv4 地址资源紧张,该方式使用较少。

  3. 基于端口的虚拟主机(Port-based Virtual Hosting)
    不同站点监听不同端口(如 example.com:8080example.com:8081),通常用于开发测试环境,不适合公开访问的生产网站。

本文重点介绍基于名称的虚拟主机配置方法,这也是目前最主流且推荐的做法。


Nginx 简介

Nginx(发音为 “engine x”)是由俄罗斯程序员 Igor Sysoev 于 2004 年开发的一款开源高性能 Web 服务器,起初设计用于解决 C10K 问题(即同时处理上万并发连接),如今已发展成集 Web 服务、反向代理、负载均衡、缓存加速于一体的综合性网络中间件。

相较于传统的 Apache 服务器,Nginx 采用事件驱动异步架构,能够以极低的内存开销支撑海量并发连接,其配置文件简洁清晰、模块化程度高,便于维护与扩展,因此成为构建现代 Web 架构的核心组件之一。

除了作为静态资源服务器外,Nginx 还常用于:

  • 反向代理动态应用(如 Node.js、Python Flask)
  • 实现负载均衡与故障转移
  • 提供 HTTPS 加密与 SSL 终止
  • 缓存静态内容以提升响应速度
  • 防御基础 DDoS 攻击与请求限流

掌握 Nginx 的基本配置与调优技巧,已成为系统管理员、DevOps 工程师和后端开发者不可或缺的能力。


环境准备

在开始配置之前,请确保具备以下条件:

  1. 一台运行 Linux 操作系统的服务器(推荐 Ubuntu 20.04/22.04 或 CentOS 7/8);
  2. 已安装并正常运行 Nginx 服务;
  3. 至少两个已注册并正确解析至服务器公网 IP 的域名(如 site1.comsite2.com);
  4. 具备 sudo 权限的用户账户,以便执行系统级操作。

检查 Nginx 安装状态

可以通过以下命令查看 Nginx 是否已安装及其版本信息:

nginx -v

检查服务运行状态:

systemctl status nginx

若尚未安装,可根据操作系统选择对应包管理器进行安装。

在 Ubuntu/Debian 系统中:

sudo apt update
sudo apt install nginx -y

在 CentOS/RHEL 系统中:

sudo yum install epel-release -y
sudo yum install nginx -y
# 或使用 dnf(CentOS 8+)
sudo dnf install nginx -y

安装完成后启动服务并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

此时访问服务器的公网 IP 地址,应能看到 Nginx 默认欢迎页面,表示服务已成功运行。


创建网站目录结构

为了保证各站点之间的隔离性与可维护性,建议为每个虚拟主机创建独立的根目录。

以两个示例域名为例:site1.comsite2.com,我们为其分别建立目录结构:

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

在各自目录下创建简单的测试页面用于验证配置效果:

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

设置正确的文件权限,确保 Nginx 进程(通常以 www-data 用户运行)可以读取网页内容:

sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
sudo chmod -R 755 /var/www/*

⚠️ 注意:/var/www 是标准的 Web 内容存放路径,遵循 Linux 文件系统层次结构标准(FHS),不建议随意更改,除非有特殊安全策略要求。


配置 Nginx 虚拟主机

Nginx 的核心配置文件通常位于 /etc/nginx/nginx.conf,其中定义了全局参数、工作进程模型和事件处理机制,对于站点级别的配置,更推荐采用“模块化”的管理方式——即将每个站点的配置单独存放在 /etc/nginx/sites-available/ 目录下,并通过符号链接启用到 /etc/nginx/sites-enabled/

这种做法不仅提高了配置的可读性,也方便后续对站点进行启停控制。

创建站点配置文件

配置 site1.com

使用文本编辑器创建第一个站点的配置文件:

sudo nano /etc/nginx/sites-available/site1.com

填入如下配置内容:

server {
    listen 80;
    server_name site1.com www.site1.com;
    root /var/www/site1.com/html;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    access_log /var/log/nginx/site1.com.access.log;
    error_log /var/log/nginx/site1.com.error.log;
}

配置 site2.com

同理,创建第二个站点配置:

systemctl status nginx0

如下:

systemctl status nginx1

🔍 配置说明:

  • listen 80;:监听标准 HTTP 端口。
  • server_name:指定该虚拟主机响应的域名列表。
  • root:定义网站根目录。
  • index:设定默认索引文件顺序。
  • try_files:尝试按顺序查找文件,否则返回 404 错误。
  • access_logerror_log:分别记录访问日志和错误日志,便于后期排查问题。

启用站点配置

将配置文件通过符号链接激活至 sites-enabled 目录:

systemctl status nginx2

删除默认站点配置(防止冲突):

systemctl status nginx3

✅ 小贴士:可通过 ls /etc/nginx/sites-enabled/ 查看当前已启用的站点列表。


测试配置并重载服务

每次修改 Nginx 配

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

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

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

分享给朋友:

“使用Nginx搭建虚拟主机从零开始实现多站点部署” 的相关文章

服务器租赁价格比较低的平台

选择便宜的服务器租赁服务时,需要考虑多个因素,包括地理位置、网络带宽、支持的软件和硬件配置等。建议在选择之前,先了解不同服务商的价格、服务承诺以及用户评价。可以利用互联网上的资源进行比较和咨询专业人士的意见,以找到最适合自己的选项。随着互联网的快速发展,越来越多的人开始使用服务器来存储和处理数据,在...

便捷与安全的云计算选择

云计算作为一种灵活、高效且安全的技术解决方案,为用户提供了便捷与安全的计算服务。通过云平台,用户可以轻松地存储、处理和共享数据,而无需担心物理服务器的维护和成本问题。云计算还支持多种安全措施,如多因子认证、防火墙和加密技术,确保了用户的隐私和数据的安全性。云计算已成为现代企业数字化转型的重要工具,为...

我的世界Java版服务器,最适合早晨起床的游戏环境

《我的世界》Java版服务器推荐,适合喜欢户外探险和刺激游戏的玩家。它提供了丰富的资源和多样化的玩法,可以满足各种兴趣爱好。在快节奏的生活中,许多人都需要一些宁静和放松的时间,而我的世界(Minecraft)就是这样一个非常适合在早晨醒来后享受的地方,它不仅提供了一个丰富多彩的游戏体验,还能够帮助人...

市场行情与技术影响

近期市场行情总体平稳,但部分品种受到技术因素的影响。比特币价格持续上涨,而黄金价格则有所波动。在股票市场方面,科技股表现强劲,而传统行业则面临挑战。全球经济形势也对市场产生了影响,一些国家和地区出现了经济衰退的风险。在数字世界中,服务器作为核心计算设备,其价格波动对于企业的决策至关重要,本文将探讨服...

云服务器搭建网站教程

本教程将介绍如何使用阿里云的云服务器进行网站搭建。你需要选择一个合适的云服务器实例,并确保它有足够的内存和带宽来运行你的网站。你需要安装Web服务器软件(如Apache、Nginx等),并配置数据库服务(如MySQL)。你可以上传你的网站文件到云服务器上,设置域名解析和SSL证书以提高安全性。你需要...

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

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