Nginx学习八:虚拟主机
文章目录
- 一、概述
- 二、配置虚拟主机方式
- 方法一:基于端口的虚拟主机(了解)
- 方法二:基于域名的虚拟主机(掌握)
- 三、虚拟主机案例,模拟城市站点网站(我们配置三个城市站点)
- 3.1架构图
- 3.2 实现步骤
- 3.2.1 配置3个Tomcat,每个Tomcat一个站点项目
- 3.2.2 修改tomcat9300的端口号(修改server.xml文件)
- 3.2.3在Xshell中开启三个选项卡,分别操作三个tomcat
- 3.2.4清空三个tomcat的webapps/ROOT目录
- 3.2.5使用Xftp将三个war包上传到三个tomcat的ROOT目录
- 3.2.6在tomcat启动前,使用unzip命令,直接解压三个war包,否则tomcat启动的时候,自动解压,还是有一个上下文目录的
- 3.2.7启动三个tomcat
- 3.2.8在nginx.conf中配置3个Nginx虚拟主机
- 方式一:直接在nginx.conf中配置
- 方式二:通过单独的配置文件配置虚拟主机
- 3.2.9 在nginx.conf中配置每个虚拟主机请求转发所对应的后端服务器(负载均衡,可以配置多个服务器)
- 3.2.10 修改hosts文件,让Linux的ip指向到三个站点的域名
- 3.2.11 重启nginx,通过浏览器访问nginx进行测试
- 3.2.12 通过单独的配置文件配置虚拟主机,然后再nginx.conf中引入(参照步骤2的方式二)
一、概述
虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。
Nginx提供虚拟主机的功能,就是为了让我们不需要安装多个Nginx,就可以运行多个域名不同的网站。
Nginx下,一个server标签就是一个虚拟主机。nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可;
例如:www.meituan.com 切换城市,可以看到不同的城市地址不一样(二级域名)
比如一个公司有多个二级域名,没有必要为每个二级域名都提供一台Nginx服务器,就可以使用虚拟主机技术,在一台nginx服务器上,模拟多个虚拟服务器。
二、配置虚拟主机方式
方法一:基于端口的虚拟主机(了解)
基于端口的虚拟主机配置,使用端口来区分
浏览器使用 同一个域名+端口 或 同一个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;}
}
方法二:基于域名的虚拟主机(掌握)
基于域名的虚拟主机是最常见的一种虚拟主机
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;}
}
Windows:
需要修改一下本地的hosts文件,文件位置:C:\Windows\System32\drivers\etc\hosts在hosts文件配置:192.168.208.128 www.myweb.com
192.168.208.128 www.p2p.com前面是Linux的IP,后面是你自定义的域名
三、虚拟主机案例,模拟城市站点网站(我们配置三个城市站点)
3.1架构图
3.2 实现步骤
3.2.1 配置3个Tomcat,每个Tomcat一个站点项目
部署在Tomcat的ROOT目录下,目的是访问的时候不用加上下文根,测试方便
拷贝一个新的tomcat9300
3.2.2 修改tomcat9300的端口号(修改server.xml文件)
3.2.3在Xshell中开启三个选项卡,分别操作三个tomcat
3.2.4清空三个tomcat的webapps/ROOT目录
3.2.5使用Xftp将三个war包上传到三个tomcat的ROOT目录
beijing.war上传到tomcat9100服务器上
3.2.6在tomcat启动前,使用unzip命令,直接解压三个war包,否则tomcat启动的时候,自动解压,还是有一个上下文目录的
在tomcat9200和9300上执行相同的操作
3.2.7启动三个tomcat
3.2.8在nginx.conf中配置3个Nginx虚拟主机
方式一:直接在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;}
}
方式二:通过单独的配置文件配置虚拟主机
通过include的方式引入虚拟主机配置
include /usr/local/nginx/conf/vhost/vhost.conf;
将虚拟目录的配置文件加入到”http {}”部分的末尾,与其他server并列;
文件是隔开的,配置更清晰,主文件没有那么多是server
3.2.9 在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;}
3.2.10 修改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
3.2.11 重启nginx,通过浏览器访问nginx进行测试
3.2.12 通过单独的配置文件配置虚拟主机,然后再nginx.conf中引入(参照步骤2的方式二)
在/usr/local/nginx/conf目录下,创建vhost目录,并创建vhost.conf文件,在其中配置虚拟主机信息
Nginx学习八:虚拟主机相关推荐
- Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
Nginx多站点虚拟主机实现单独启动停止php-fpm.单独控制权限设置 来源:osyunwei.com 作者:qihang01 发表于:2012-08-19 21:26 点击: 说明: 站点1:bb ...
- Nginx运行控制虚拟主机和访问控制
目录 一.Nginx服务概述 二.Nginx安装 三.Nginx的运行控制 四.配置文件nginx.conf 1.全局配置 2.I/O事件配置 3.HTTP配置 4.访问状态统计 五.Nginx访问控 ...
- Nginx优化之虚拟主机
文章目录 前言 一:Nginx服务基础 1.1:Nginx概述 1.2:Nginx编译安装(过程) 1.3:运行控制(实验过程) 1.4:配置文件nginx.conf 1.5:Nginx的访问状态统计 ...
- Nginx实现多虚拟主机配置
一.Nginx的应用概述 Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.主要有以下3方面的应用: 1.http服务器 Nginx是一个http服 ...
- Nginx安装与虚拟主机配置shell脚本
今天继续给大家介绍Linux运维相关知识,本文主要内容是Nginx安装与虚拟主机配置shell脚本. 一.NGINX安装 在今天的脚本上,我们开始尝试使用函数和参数,以增强脚本的灵活性和实现脚本的模块 ...
- Nginx (八) --------- 虚拟主机
目录 一.概念 二.配置虚拟主机方式 1. 基于端口的虚拟主机 2. 基于域名的虚拟主机 三.案例 一.概念 虚拟主机,就是把一台物理服务器划分成多个 "虚拟" 的服务器,这样我们 ...
- 通过ngx-lua来统计Nginx上的虚拟主机性能数据
Web server调研分析 Filed under: Web Server - cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...
- Nginx如何配置虚拟主机?
注意,该环境是依赖于http://www.php20.com/forum.php?m ... &extra=page%3D1 基础上进行配置.默认不具备这些文件 . 下面是增加一个mytest ...
- nginx介绍(三) - 虚拟主机
前言 前面提到过, 由nginx来分发请求到tomcat中, 那么怎么来区分这些tomcat呢? 我们一般访问网站的时候, 是不是可以使用 ip : port (127.0.0.1:8080)的方式来 ...
- 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向
12.6 Nginx安装 大纲 1 进入src目录,把nginx下载在此目录 #cd /usr/local/src #wget http://nginx.org/download/nginx-1.8 ...
最新文章
- IIS 的负载均衡【IIS7.0以上才可以使用】---- Application Request Routing(ARR)
- [Tips]Linux在命令行中打开图形化程序的各种命令
- 更新项目经常使用的Linux命令
- python拦截广告弹窗_你会如何使用Python进行广告拦截?
- 学习hadoop需要什么基础
- 用8张图理解Java
- c语言求解一元二次方程的复根,c语言 求一元二次方程的根(含复根)
- 苹果6换屏多钱_苹果手机屏幕碎了怎么办?维修更换要多少钱
- 【今日】【20180511】物理学家——理查德·费曼 诞辰100周年
- 同时看过 unreal4 和 Unity 源代码的人觉得哪个引擎架构更好?
- 【转】4G手机打电话为什么会断网 4G上网和通话不能并存原因分析
- 什么是EJB?EJB是基于哪些技术实现的?
- 目前计算机常用的CPU型号,价格差异太大了!教你选择CPU型号及常见CPU后缀字母详解...
- 普通话测试软件测试成绩很差,普通话测试成绩的差异性分析
- 验证中的随机种子(seed),VCS
- 前任写的代码,真是辣鸡…
- 微信九宫图二开美化源码
- Python 面试实训 100 题,哪道难住了你?
- Java实现 计蒜客 1251 仙岛求药
- 石头剪刀布Swoole
热门文章
- CH340G USB转串口接口定义
- 笔记本电脑开机黑屏没反应怎么办
- 解决uniapp的 swiper 组件的随着指示点添加背景宽度不随着内容添加而自动扩大问题,而是溢出。
- ERP与条码系统集成实现精益化可追溯
- 原标题:跆拳道在中国斗殴中被武术团灭?韩国人看后表示不服
- Matlab中图形对象属性gca使用
- xp安全模式下如何修复计算机,xp系统如何进入安全模式|进入安全模式修复系统...
- 9.16日常学习笔记
- 360奇酷手机显示Log
- mysql like查询很慢_MySQL Like模糊查询速度慢的解决方法