在Linux中,Nginx虚拟主机有哪些?

news/2025/3/17 10:11:06/文章来源:https://www.cnblogs.com/huangjiabobk/p/18776284

在 Linux 中,Nginx 虚拟主机(Virtual Host)是通过 Server Blocks 来实现的。这些 Server Blocks 允许在一台物理服务器或虚拟服务器上托管多个网站或域名。以下详细介绍 Nginx 虚拟主机的类型、配置方法和常见用途:

1. Nginx 虚拟主机的类型

Nginx 支持以下几种类型的虚拟主机:

  1. 基于名称的虚拟主机(Name-based Virtual Hosts)

    • 不同的虚拟主机共享相同的 IP 地址,通过域名区分。
    • 适用于托管多个域名或子域名。
  2. 基于 IP 的虚拟主机(IP-based Virtual Hosts)

    • 每个虚拟主机绑定到不同的 IP 地址。
    • 适用于需要独立 IP 的场景(如 SSL/TLS 配置)。
  3. 基于端口的虚拟主机(Port-based Virtual Hosts)

    • 不同的虚拟主机监听不同的端口。
    • 适用于开发环境或特定服务的隔离。
2. 配置 Nginx 虚拟主机

配置虚拟主机时,通常需要以下步骤:

2.1 创建虚拟主机配置文件
  1. /etc/nginx/sites-available/ 目录下创建一个新的虚拟主机配置文件,文件名通常为域名。

    sudo nano /etc/nginx/sites-available/example.com
    
  2. 在配置文件中定义 server 块,指定域名、根目录、日志文件等:

    server {listen 80;  # 监听端口server_name example.com www.example.com;  # 域名root /var/www/example.com;  # 网站根目录index index.html index.htm;  # 默认索引文件location / {try_files $uri $uri/ =404;  # 文件处理逻辑}# 日志文件路径access_log /var/log/nginx/example.com.access.log;error_log /var/log/nginx/example.com.error.log;
    }
    
2.2 启用虚拟主机
  1. 创建符号链接,将配置文件链接到 /etc/nginx/sites-enabled/

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
    
  2. 测试 Nginx 配置文件是否有语法错误:

    sudo nginx -t
    
  3. 重新加载 Nginx 以应用更改:

    sudo systemctl reload nginx
    
3. 常见虚拟主机配置示例
3.1 多域名配置

可以为多个域名配置不同的 server 块:

server {listen 80;server_name example.com www.example.com;root /var/www/example.com;
}server {listen 80;server_name blog.example.com;root /var/www/blog.example.com;
}
3.2 子域名配置

子域名可以作为独立的虚拟主机:

server {listen 80;server_name subdomain.example.com;root /var/www/subdomain.example.com;
}
3.3 反向代理配置

将请求转发到后端服务:

server {listen 80;server_name api.example.com;location / {proxy_pass http://backend-server:3000;}
}
3.4 SSL 配置

为虚拟主机启用 HTTPS:

server {listen 443 ssl;server_name example.com;ssl_certificate /etc/nginx/ssl/example.com.crt;ssl_certificate_key /etc/nginx/ssl/example.com.key;location / {try_files $uri $uri/ =404;}
}
4. 虚拟主机的优势
  1. 资源高效利用:多个网站共享一台服务器,节省硬件成本。
  2. 灵活性:每个虚拟主机可以独立配置,互不影响。
  3. 扩展性:易于添加或修改虚拟主机。

综上所述,通过以上配置,您可以在一台服务器上托管多个网站,每个网站都可以独立配置和管理。这使得 Nginx 成为托管多个虚拟主机的理想选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900259.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

No.66 Vue---Vue引入路由配置、路由传递参数、嵌套路由配置

一、Vue引入路由配置在Vue中,我们可以通过 vue-router 路由管理页面之间的关系 Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举.1.1 在vue中引入路由 第一步:安装路由npm install -save vue-router第二步:配置独立的路由…

开源!Django-Vue3-Admin的Python后台管理系统

DjangoAdmin 是一个基于 Django + Vue3 的前后端分离的后台管理系统,采用了最新的前后端技术栈,内置了丰富的功能模块,可以帮助开发者快速搭建企业级中后台产品。Django-Vue3-Admin 项目简介 Django-Vue3-Admin 是一个基于 Django + Vue3 的前后端分离的后台管理系统,采用了…

陕西人文:1964年陕西14座古县因何纷纷“改县名”?

2016年11月西安市户县撤县设区,改名鄠邑区。其中有一节简介:”1964年“鄠县”改名“户县”,实际上在同一时期改名的还有:盩厔,邠县,醴泉,栒邑,汧阳,郿县,郃阳,雒南,商雒、洵阳,沔县,鄜县,葭县,这13个古县。 【户县老县城】鄠县(hu xian)就是现在之西安市鄠邑区…

在鸿蒙NEXT中实现完全自定义导航栏

在日常app开发中,导航栏扮演着重要的角色。鸿蒙提供了系统导航栏Navigation,它支持很多属性的修改,但是应用需求更加灵活多变,比如有的导航栏有背景图片,有的导航栏要求渐变色,有的导航栏需要随时隐藏和显示等等。 遇到这些需求系统的Navigation就无法实现,这时候我们就需…

鸿蒙开发中console.log和hilog的区别

在日常开发中打印日志是调试程序非常常用的操作,在鸿蒙的官方文档中介绍了hilog这种方式,有些前端转过来的友友发现console.log也可以进行日志打印。有一段时候幽蓝君也非常喜欢使用console.log,因为它看起来好像更加简单方便。 那么今天幽蓝君就来和大家说一说console.log和…

HarmonyOS NEXT开发实战教程--招聘app

这一周忙到起飞,只能在周末发个文章。今天的内容比较简单,是一个招聘app,适合新手友友参考,大佬们可以直接忽略。 看一下效果图:这是一个比较常见的应用,大家做这类应用建议大家先分析一下应用和页面的结构,避免写完发现错了又改。 这个应用首先有4个tabbaritem,是很常…

解决vscode XHR failed

问题:主要流程: 获取自己的COMMIT_ID(就是一串数字,每个人的不一样) 下载vscode-server-linux-x64.tar.gz文件 解压vscode-server-linux-x64.tar.gz,移动解压后的所有文件到~/.vscode-server/bin/COMMIT_ID目录获取COMMIT_ID cd ~/.vscode-server/bin && ls # 那串数字…

下载神器!支持视频号、抖音等多平台资源下载!

res-downloader —— 一款基于 Go + Wails + Vue 实现的,支持下载视频、音频、图片、m3u8、直播流等常见网络资源的软件工具。大家好,我是 Java陈序员。 今天,给大家介绍一款支持视频号、抖音等多平台资源下载的开源软件,开箱即用!关注微信公众号:【Java陈序员】,获取开…

零经验选手,Compose 一天开发一款小游戏!

什么,Compose 也能做游戏?!不会 Unity 没关系!游戏开发零经验选手手把手带你飞,一天写出一个4399小游戏!是兄弟就一起来!猛男翻卡牌 猛男启动 继上一个 Compose 练习项目 SimpleTodo 之后,又尝试用 Compose 来做了一个翻牌记忆游戏【猛男翻卡牌】。这次是零经验写游戏项…

ftp替代品,如何提升数据交换的安全性与高效性?

文件传输协议(FTP)是一个跨平台的、简单且易于实现的协议,用于在网络上的服务器和客户端之间传输文件,也是企业会经常选择的一种传输方式。 业务场景一: 基于信息相关安全要求,医院会采用防火墙、网闸等将网络隔离为内网和外网,但网络隔离后,医院仍存在将报告资料等文…

【分享】常见的几种数据摆渡系统介绍

随着企业数字化转型的逐步深入,企业投入了大量资源进行信息系统建设,信息化程度日益提升。在这一过程中,企业也越来越重视核心数据资产的保护,数据资产的安全防护成为企业面临的重大挑战。 一、网络隔离实施的背景 1、互联网的广泛应用:随着互联网的飞速发展,企业与外部的…

010 Element-Plus集成

React+AntDesign+MUI Vue3+VantUI UI组件库(框架)->封装通用组件->后台管理系统=>element(UI(vue2)/Plus(vue3))=>饿了么团队(阿里)=>Vue AntDesignUI=>蚂蚁金服=>React框架 AntDesignVue=>Vue框架一、Element Plus UI组件库 Element Plus 基于Vue3、…