文章目录

  • 一、概述
  • 二、配置虚拟主机方式
    • 方法一:基于端口的虚拟主机(了解)
    • 方法二:基于域名的虚拟主机(掌握)
  • 三、虚拟主机案例,模拟城市站点网站(我们配置三个城市站点)
    • 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学习八:虚拟主机相关推荐

  1. Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置

    Nginx多站点虚拟主机实现单独启动停止php-fpm.单独控制权限设置 来源:osyunwei.com 作者:qihang01 发表于:2012-08-19 21:26 点击: 说明: 站点1:bb ...

  2. Nginx运行控制虚拟主机和访问控制

    目录 一.Nginx服务概述 二.Nginx安装 三.Nginx的运行控制 四.配置文件nginx.conf 1.全局配置 2.I/O事件配置 3.HTTP配置 4.访问状态统计 五.Nginx访问控 ...

  3. Nginx优化之虚拟主机

    文章目录 前言 一:Nginx服务基础 1.1:Nginx概述 1.2:Nginx编译安装(过程) 1.3:运行控制(实验过程) 1.4:配置文件nginx.conf 1.5:Nginx的访问状态统计 ...

  4. Nginx实现多虚拟主机配置

    一.Nginx的应用概述 Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.主要有以下3方面的应用: 1.http服务器 Nginx是一个http服 ...

  5. Nginx安装与虚拟主机配置shell脚本

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Nginx安装与虚拟主机配置shell脚本. 一.NGINX安装 在今天的脚本上,我们开始尝试使用函数和参数,以增强脚本的灵活性和实现脚本的模块 ...

  6. Nginx (八) --------- 虚拟主机

    目录 一.概念 二.配置虚拟主机方式 1. 基于端口的虚拟主机 2. 基于域名的虚拟主机 三.案例 一.概念 虚拟主机,就是把一台物理服务器划分成多个 "虚拟" 的服务器,这样我们 ...

  7. 通过ngx-lua来统计Nginx上的虚拟主机性能数据

    Web server调研分析 Filed under: Web Server - cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...

  8. Nginx如何配置虚拟主机?

    注意,该环境是依赖于http://www.php20.com/forum.php?m ... &extra=page%3D1 基础上进行配置.默认不具备这些文件 . 下面是增加一个mytest ...

  9. nginx介绍(三) - 虚拟主机

    前言 前面提到过, 由nginx来分发请求到tomcat中, 那么怎么来区分这些tomcat呢? 我们一般访问网站的时候, 是不是可以使用 ip : port (127.0.0.1:8080)的方式来 ...

  10. 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向

    12.6 Nginx安装 大纲 1 进入src目录,把nginx下载在此目录 #cd  /usr/local/src #wget http://nginx.org/download/nginx-1.8 ...

最新文章

  1. IIS 的负载均衡【IIS7.0以上才可以使用】---- Application Request Routing(ARR)
  2. [Tips]Linux在命令行中打开图形化程序的各种命令
  3. 更新项目经常使用的Linux命令
  4. python拦截广告弹窗_你会如何使用Python进行广告拦截?
  5. 学习hadoop需要什么基础
  6. 用8张图理解Java
  7. c语言求解一元二次方程的复根,c语言 求一元二次方程的根(含复根)
  8. 苹果6换屏多钱_苹果手机屏幕碎了怎么办?维修更换要多少钱
  9. 【今日】【20180511】物理学家——理查德·费曼 诞辰100周年
  10. 同时看过 unreal4 和 Unity 源代码的人觉得哪个引擎架构更好?
  11. 【转】4G手机打电话为什么会断网 4G上网和通话不能并存原因分析
  12. 什么是EJB?EJB是基于哪些技术实现的?
  13. 目前计算机常用的CPU型号,价格差异太大了!教你选择CPU型号及常见CPU后缀字母详解...
  14. 普通话测试软件测试成绩很差,普通话测试成绩的差异性分析
  15. 验证中的随机种子(seed),VCS
  16. 前任写的代码,真是辣鸡…
  17. 微信九宫图二开美化源码
  18. Python 面试实训 100 题,哪道难住了你?
  19. Java实现 计蒜客 1251 仙岛求药
  20. 石头剪刀布Swoole

热门文章

  1. CH340G USB转串口接口定义
  2. 笔记本电脑开机黑屏没反应怎么办
  3. 解决uniapp的 swiper 组件的随着指示点添加背景宽度不随着内容添加而自动扩大问题,而是溢出。
  4. ERP与条码系统集成实现精益化可追溯
  5. 原标题:跆拳道在中国斗殴中被武术团灭?韩国人看后表示不服
  6. Matlab中图形对象属性gca使用
  7. xp安全模式下如何修复计算机,xp系统如何进入安全模式|进入安全模式修复系统...
  8. 9.16日常学习笔记
  9. 360奇酷手机显示Log
  10. mysql like查询很慢_MySQL Like模糊查询速度慢的解决方法