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

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

Nginx配置多站点虚拟主机实现高效负载均衡与域名解析

2025-07-30虚拟主机448

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

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

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


本文介绍了如何通过配置 Nginx 来实现多站点虚拟主机,支持高效负载均衡和域名解析,通过在 Nginx 中设置 server 块,可以为不同域名分配不同的服务器响应,利用 upstream 指令实现负载均衡,确保请求均匀分布到多个后端服务器,提升系统性能和可靠性,正向代理功能增强了网络访问的安全性和灵活性,适合复杂的企业级应用环境。
在现代互联网架构中,服务器承载着多种服务和应用,随着业务的增长,单一服务器可能无法满足需求,因此需要对服务器进行高效的管理和扩展,Nginx 是一个高性能的 HTTP 和反向代理服务器,以其轻量级、稳定性和灵活性而闻名,通过配置多站点虚拟主机,可以轻松地在一个物理服务器上托管多个网站,并支持不同的域名和 IP 地址,本文将详细介绍如何使用 Nginx 实现多站点虚拟主机配置,帮助您更好地管理您的 Web 服务。

Nginx(发音为“engine-x”)是一个高性能的 HTTP 和反向代理服务器,也广泛用于 IMAP/POP3 代理服务,Nginx 由 Igor Sysoev 开发,第一个公开版本发布于2004年10月,其特点包括处理静态文件、索引文件以及代理上游服务器等操作时不依赖外部模块,主要使用纯 C 语言编写,并通过事件驱动的方式完成工作,而不依赖操作系统提供的多线程机制及连接池。

Nginx 的优势在于其卓越的高并发性能、低资源占用以及易于扩展的能力,相比传统的 Apache 等 Web 服务器,Nginx 更适合处理大规模并发请求,Nginx 支持动态模块加载,允许用户根据需求添加额外的功能,进一步增强了其灵活性和适用性。

多站点虚拟主机的概念

多站点虚拟主机是指在同一台物理服务器上运行多个独立的网站或应用程序,每个站点拥有各自的域名、IP 地址和配置文件,通过使用虚拟主机技术,管理员可以在同一台服务器上托管多个网站,而无需为每个网站分配单独的物理资源,这种技术不仅提高了服务器的利用率,还显著降低了运营成本。

虚拟主机主要有以下三种类型:

  • 基于域名的虚拟主机:这是最常见的类型,通过检查 HTTP 请求中的 Host 头来区分不同的站点。
  • 基于 IP 的虚拟主机:为每个站点分配一个独立的 IP 地址,适用于需要不同 IP 地址的应用场景。
  • 基于端口的虚拟主机:为每个站点分配不同的端口号,这种方式较少使用,因为需要在客户端手动指定端口号访问站点。

在实际应用中,基于域名的虚拟主机最为常用,因为它无需更改客户端配置即可实现多站点托管。

Nginx 的基本安装与配置

在开始配置多站点之前,请确保已正确安装并启动了 Nginx 服务,以下是 Ubuntu 系统下安装 Nginx 的步骤:

  1. 更新包列表并安装 Nginx

    sudo apt update
    sudo apt install nginx
  2. 启动并设置 Nginx 自动启动

    sudo systemctl start nginx
    sudo systemctl enable nginx
  3. 检查 Nginx 是否正常运行

    sudo systemctl status nginx
  4. 防火墙开放必要的端口(默认为 80 和 443)

    sudo ufw allow 'Nginx Full'
  5. 访问服务器的 IP 地址或域名,确认 Nginx 正常工作,如果一切正常,您应该会看到默认的欢迎页面。

配置多站点虚拟主机

创建站点目录

为每个站点创建一个单独的目录以存放静态文件和 PHP 脚本:

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

授予适当的权限给这些目录,以便 Nginx 可以读取它们的内容:

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/site1.com/public_html
sudo chmod -R 755 /var/www/site2.com/public_html

修改 Nginx 配置文件

编辑 Nginx 主配置文件 /etc/nginx/nginx.conf,或者直接修改每个站点的配置文件(推荐方法),我们可以通过在 /etc/nginx/sites-available/ 目录下创建新文件来定义每个站点的具体配置。

创建新的站点配置文件

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

添加以下内容到该文件中

server {
    listen 80;
    server_name site1.com www.site1.com;
    root /var/www/site1.com/public_html;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

同样地,为第二个站点创建类似的配置文件:

sudo nano /etc/nginx/sites-available/site2.com
server {
    listen 80;
    server_name site2.com www.site2.com;
    root /var/www/site2.com/public_html;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

激活站点配置

要激活刚刚创建的站点配置,请创建符号链接到 sites-enabled 目录:

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/

测试 Nginx 配置并重启服务

在重新加载 Nginx 之前,最好先测试一下配置文件是否有语法错误:

sudo nginx -t

如果没有发现任何问题,则可以安全地重新加载 Nginx 以使更改生效:

sudo systemctl reload nginx

SSL 证书的安装与配置

为了提高安全性并启用 HTTPS,您可以为每个站点获取并安装 SSL 证书,可以使用 Let's Encrypt 免费申请证书,并通过 Certbot 自动续订证书。

  1. 安装 Certbot 和 Nginx 插件

    sudo apt install certbot python3-certbot-nginx
  2. 获取并安装证书

    sudo certbot --nginx -d site1.com -d www.site1.com
    sudo certbot --nginx -d site2.com -d www.site2.com
  3. 按照提示操作,Certbot 将自动更新 Nginx 配置以包含 SSL 证书。

通过以上步骤,您已经成功地在单台服务器上配置了多个站点虚拟主机,并启用了 HTTPS,Nginx 提供了强大的功能来优化性能、提高安全性以及简化管理流程,随着业务的发展,您可以继续添加更多的站点,并根据需要调整配置文件,希望本文能为您提供有价值的参考,帮助您更有效地利用 Nginx 实现多站点托管。

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

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

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

分享给朋友:

“Nginx配置多站点虚拟主机实现高效负载均衡与域名解析” 的相关文章

全球服务器分布与服务

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

提高应用性能与可扩展性的最佳实践

高效的部署和扩展是现代软件开发中不可或缺的一部分。以下是一些关键点,帮助开发者快速部署和扩大应用程序:,,1. **持续集成/持续部署(CI/CD)**:自动化构建、测试和部署流程可以显著提高部署速度。,,2. **容器化技术**:使用Docker或Kubernetes等容器技术可以轻松地打包和部署...

阿里云服务器租用价格表小程序,一站式服务选择,省钱省时便捷!

阿里巴巴云服务器租用价格表小程序是一款集成了多种云计算服务的在线平台。用户可以在这里查询各种云服务的价格信息,包括CPU、内存、存储等资源的使用情况,并选择适合自己的服务进行购买。小程序还提供了详细的订单管理功能,方便用户随时查看和管理自己的云服务订单。探索阿里云服务器租用新境界——基于小程序的便捷...

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

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

云服务器租用价格哪家更便宜些?

云服务器的价格取决于多个因素,包括操作系统、带宽、内存大小等。建议您在选择云服务器时,先进行充分的市场调研和比较,以找到最适合您的选项。随着云计算技术的发展,越来越多的人开始关注如何通过云服务来降低成本、提高效率,在众多的云服务提供商中,哪个价格更便宜呢?本文将从以下几个方面进行比较分析,帮助您找到...

如何科学定价?

合理定价需要考虑成本、市场需求和竞争环境。应明确产品或服务的价值,然后进行成本分析,确定生产或服务的成本。应考虑目标市场的价格敏感度,制定具有竞争力的价格策略。还应该关注市场竞争情况,了解竞争对手的价格策略和市场反应,以便及时调整定价策略。通过持续的产品和服务改进,不断优化定价策略,以满足消费者需求...