第8章 虚拟主机

news2024/11/16 21:26:03

第8章 虚拟主机

虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。

Nginx提供虚拟主机的功能,就是为了让我们不需要安装多个Nginx,就可以运行多个域名不同的网站。

Nginx下,一个server标签就是一个虚拟主机。nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可;

​ 例如:www.meituan.com 切换城市,可以看到不同的城市地址不一样(二级域名)

比如一个公司有多个二级域名,没有必要为每个二级域名都提供一台Nginx服务器,就可以使用虚拟主机技术,在一台nginx服务器上,模拟多个虚拟服务器。

8.1 配置虚拟主机方式

8.1.1 基于端口的虚拟主机(了解)

​ 基于端口的虚拟主机配置,使用端口来区分

​ 浏览器使用 同一个域名+端口 或 同一个ip地址+端口访问;

server {
 		listen 8080;
  		server_name www.myweb.com;
  		location /myweb {
			proxy_pass http://www.myweb.com;
  		}
}

server {
  		listen 9090;
  		server_name www.myweb.com;
  		location /p2p {
			proxy_pass http://www.p2p.com;
  		}
}

8.1.2 基于域名的虚拟主机(掌握)

基于域名的虚拟主机是最常见的一种虚拟主机

server {
    listen    80;
    server_name  www.myweb.com;
    location /myweb {
    	proxy_pass http://www.myweb.com;
    }
}

server {
    listen    80;
    server_name  www.p2p.com;
    location /myweb {
    	proxy_pass http://www.p2p.com;
    }
}

​ 需要修改一下本地的hosts文件,文件位置:C:\Windows\System32\drivers\etc\hosts

​ 在hosts文件配置:

192.168.208.128 www.myweb.com

192.168.208.128 www.p2p.com

​ 前面是Linux的IP,后面是你自定义的域名

8.2 虚拟主机案例,模拟城市站点网站(我们配置三个城市站点)

1.1.1 架构图

img

8.2.1 实现步骤

(1) 配置3个Tomcat,每个Tomcat一个站点项目

Ø 部署在Tomcat的ROOT目录下,目的是访问的时候不用加上下文根,测试方便

Ø 拷贝一个新的tomcat9300

img

Ø 修改tomcat9300的端口号(修改server.xml文件)

img

img

img

Ø 在Xshell中开启三个选项卡,分别操作三个tomcat

img

Ø 清空三个tomcat的webapps/ROOT目录

img

img

img

Ø 使用Xftp将三个war包上传到三个tomcat的ROOT目录

beijing.war上传到tomcat9100服务器上

img

nanjing.war上传到tomcat9200服务器上

img

tianjin.war上传到tomcat9300服务器上

img

Ø 在tomcat启动前,使用unzip命令,直接解压三个war包,否则tomcat启动的时候,自动解压,还是有一个上下文目录的

img

在tomcat9200和9300上执行相同的操作

Ø 启动三个tomcat

img

Ø 在浏览器中直接访问tomcat进行测试

img

img

img

(2) 在nginx.conf中配置3个Nginx虚拟主机

A、 方式一:直接在nginx.conf中配置

Ø 在nginx.conf文件添加三个server节点,用于配置三个虚拟主机

server {
    listen    80;
    server_name  beijing.myweb.com;

    location / {
    	proxy_pass http://beijing.myweb.com;
    }
}

server {
    listen    80;
    server_name  nanjing.myweb.com;
    
    location / {
    	proxy_pass http://nanjing.myweb.com;
    }
}

server {
    listen    80;
    server_name  tianjin.myweb.com;

    location / {
    	proxy_pass http://tianjin.myweb.com;
    }
}

img

A、 方式二:通过单独的配置文件配置虚拟主机

通过include的方式引入虚拟主机配置

​ include /usr/local/nginx/conf/vhost/vhost.conf;

​ 将虚拟目录的配置文件加入到”http {}”部分的末尾,与其他server并列;

​ 文件是隔开的,配置更清晰,主文件没有那么多是server

(3) 在nginx.conf中配置每个虚拟主机请求转发所对应的后端服务器(负载均衡,可以配置多个服务器)

upstream beijing.myweb.com {
	server  127.0.0.1:9100;
}
  	
upstream nanjing.myweb.com {
	server  127.0.0.1:9200;
}
  	
upstream tianjin.myweb.com {
	server  127.0.0.1:9300;
}

img

(4) 修改hosts文件,让Linux的ip指向到三个站点的域名

C:\Windows\System32\drivers\etc\hosts

192.168.235.128 beijing.myweb.com

192.168.235.128 nanjing.myweb.com

192.168.235.128 tianjin.myweb.com

img

(5) 重启nginx,通过浏览器访问nginx进行测试

img

img

img

img

(6) 通过单独的配置文件配置虚拟主机,然后再nginx.conf中引入(参照步骤2的方式二)

Ø 在/usr/local/nginx/conf目录下,创建vhost目录,并创建vhost.conf文件,在其中配置虚拟主机信息

img

Ø 在nginx.conf中引入上面的配置文件

img

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年8月24-25日|2023中国绿色数据中心峰会

2023中国绿色数据中心峰会 会议背景 应对气候变化已经成为21世纪人类社会面临的紧迫挑战,推进绿色发展成为全球共识。2021年12月,国家发改委等四部门印发的《贯彻落实碳达峰碳中和目标要求推动数据中心和5G等新型基础设施绿色高质量发展实施方案》提出…

QT MD4 MD5 Sha1等几种加密方式

QT MD4 MD5 Sha1等几种加密方式 [1] QT MD4 MD5 Sha1等几种加密方式[2] qt MD5 和AES 加密一 、MD5 加密二、AES 加密和解密 [3] QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3(1)创建一个加密对象(2)放入要加密的数据&…

嘉立创EDA PDF文件的输出教程

在PCB生产调试期间,为了方便查看文件或者查询相关元件信息,会把PCB设计文件转换成PDF文件。下面介绍常规PDF文件的输出方式。 前期工作是需要在电脑上安装PDF阅读器,准备充足后按照以下步骤进行操作。 1)执行菜单命令“导出-PDF…

企业财务管理为何需要数字化转型?

为什么企业财务管理需要数字化转型? 许多企业在推动各大业务部门进行数字化转型时,往往会忽略财务部门。然而,作为掌握公司核心资源与数据和推动企业数字化建设的部门,财务也应成为企业数字化转型的重要突破口。 这篇就用几个案…

用Leangoo领歌Scrum敏捷开发工具管理产品路线图?

那我们来看下,如何利用Leangoo管理产品路线图? 首先什么是产品路线图? 产品路线图是一个高层次的战略计划,它描述了产品在未来一段时间可能会如何发展和壮大。 产品路线图确保整个产品团队持续关注产品的目标,帮助产…

07-微服务部署2023系列-centos+docker部署nacos

1、创建nacos的数据库配置 1.1、创建数据库 1.2、创建用户nacos并授权数据库 参考 06 mysql 创建账户部分内容 1.3、执行数据库脚本 导入官方nacos sql语句。如果是历史有历史数据, 从历史数据sql导入 2、创建 bridge 网络并指定 IP 区间 2.1、创建自定义网络…

第十章 使用Samba或NFS实现共享文件

文章目录 第十章 使用Samba或NFS实现共享文件一、SAMBA文件共享服务1、SAMBA简介2、相关配置(1)、安装软件(2)、删除多余配置文件(3)、Samba服务验证方式 3、配置共享资源(1)、用于设…

认识 AbortController控制器对象 及其应用

参考文章1 参考文章2 一、什么是AbortController (abort 意为 中止/废弃) AbortController是一个控制器对象(DOM API),可通过new构造函数的方式,生成控制器实例对象,根据需要终止/取消一个或多个Web请求/监听事件 通…

微信开发者工具突然打不开问题解决

今天微信小程序开发者工具 好好的在电脑里 突然就打不开了 这个问题已经上百度了 想必并不是很少遇到 可能是版本太旧 或者 其中依赖文件丢失 这个基本不用抱什么幻想 还是得重新装 先将快捷打开方式删掉 然后找到工具所在目录 把它删了 然后访问如下地址 https://mp.weixi…

日期时间选择器el-date-picker,限制可选范围,以后端接口某个时间字段为时间节点

哈喽 大家好啊 今天需要做一个时间选择器的限制,不然用户选择某个时间节点之前的时间 比如用户选择发货时间不允许早于收货时间(来自后端接口) picker-options当前时间日期选择器特有的选项参考下表object 首先申明一个时间可选对象 因为我…

黑马程序员-学成在线项目总结

黑马程序员-学成在线项目总结 收获 基础公共样式 清除默认样式,例如内边距、外边距、项目符号等等 设置通用样式,例如:文字样式 项目结构 注:多个css文件引入顺序,先清除,后设置 版心效果 许多网页整体都有版心居…

Java框架学习01(Spring框架)

1、什么是Spring框架? Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行…

网络漏洞管理

网络漏洞是硬件、软件或流程中的漏洞或缺陷,可能威胁到网络的正常运行。漏洞会使您的业务和客户的敏感数据面临风险,导致黑客轻松进入、销售额下降、声誉损失和处罚。网络漏洞可以分为硬件、固件、软件和人类漏洞。如果这些实体中的任何一个没有得到适当…

关于Kerberos认证的一些攻击手法学习总结

Kerberos认证流程 前言 本文主要分享最近学习的关于域内Kerberos认证的一些攻击手法,以自我的理解为主,从原理理解切入到基本工具利用来阐述,个人的理解分析较为啰嗦,嫌太兀长的可以跳着看就好,还请各位谅解。如有错误…

唐毅:带领和数集团,做好科技成果与创新需求的“摆渡人”

近年来,人类已经进入有史以来科技创新爆发最密集最迅猛的大时代。 作为人工智能、区块链、交互技术、游戏引擎及数字孪生技术、综合智能网络、物联网等若干前沿科技领域陆续高速发展又碰撞聚变后形成的元宇宙,成为最具引领性的力量。在人工智能、物联网…

网安笔记06 数字签名基本概念

数字签名基本概念 R1:receiver确认、证实sender的签名,这个签名不能被伪造S:sender发送出签名的教习给receiver,不能否认他签发的消息R2:receiver堆收到的签名消息不能否认,收报认证T:第三方可以确认手法收发双方之间的消息传输,…

Django框架之视图HttpRequest对象

本文主要是记录视图的HttpRequest对象属性、方法及示例。 概述 服务器接受http请求后,会根据报文创建httpRequest对象,包含所有请求中必须的数据; 视图方法的第一个参数就是HttpRequest对象;Django创建对象后,调用视…

本地提权漏洞分析【网络安全】

0. 前言 CVE-2023-21752 是 2023 年开年微软第一个有 exploit 的漏洞,原本以为有利用代码会很好分析,但是结果花费了很长时间,难点主要了两个:漏洞点定位和漏洞利用代码分析,欢迎指正。 1. 漏洞简介 根据官方信息&a…

chatgpt中文意思——预训练生成聊天模型

"ChatGPT"相关的英文表达 ChatGPT 这个名字由两部分组成:Chat 和 GPT。 Chat 是聊天,而GPT是Generative Pretrained Transformer的缩写:预训练生成模型。因此,ChatGPT的意思是预训练生成聊天模型。 简单来说就是一个预先…

第五十一章 Unity Input Manager 输入系统(下)

本章节我们就来使用水平轴和垂直轴来控制游戏物体的移动和旋转。我们之前大致讲过,游戏物体移动最重要的是方向,速度和时间三个要素,同样旋转也是。接下来,我们将之前创建的地形场景导入进来,如下所示 然后将之前的“M…