京淘项目实战开发-08 [Nginx反向代理、Tomcat集群部署、Linux]

1.Nginx反向代理

1.1 实现域名的访问

1.1.1 业务需求

说明: 用户通过http://manage.jt.com的方式访问8091服务器.
代理方式: 反向代理

1.1.2 编辑hosts文件

在这里插入图片描述

1.1.3 配置域名代理

#配置后台管理系统   http://manage.jt.com:80
	server {
		listen 80;
		server_name manage.jt.com;

		#实现反向代理映射请求
		location / {
			proxy_pass http://localhost:8091;
		}
	}

1.1.4 页面效果展现

在这里插入图片描述

2.Tomcat集群部署

2.1 集群部署原理

在这里插入图片描述

2.2 动态获取当前域名

问题: 如何通过http://manage.jt.com/getPort 获取当前端口号!!!

package com.jt.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PortController {

    @Value("${server.port}")
    private Integer port;
    /**
     * 动态获取用户端口号
     */
    @RequestMapping("/getPort")
    public String getPort(){

        return "获取当前端口号:" + port;
    }
}

2.3 项目打包

在这里插入图片描述

2.4项目集群部署

在这里插入图片描述

部署项目集群:
命令:
java -jar 8081.war
java -jar 8082.war
java -jar 8083.war
在这里插入图片描述

2.5 集群实现

#配置后台管理系统   http://manage.jt.com:80
	server {
		listen 80;
		server_name manage.jt.com;

		#实现反向代理映射请求
		location / {
			#proxy_pass http://localhost:8091;
			proxy_pass http://jtTomcats;
		}
	}

	#集群配置说明  upstream 集群  1.轮询
	upstream jtTomcats {
		server 127.0.0.1:8081;
		server 127.0.0.1:8082;
		server 127.0.0.1:8083;
	}

2.6 负载均衡

2.6.1 轮询方式

说明: 根据配置文件的顺序依次访问

#集群配置说明  upstream 集群  1.轮询
	upstream jtTomcats {
		server 127.0.0.1:8081;
		server 127.0.0.1:8082;
		server 127.0.0.1:8083;
	}

2.6.2 权重方式

应用场景: 要求让高性能的服务器(硬件设备),尽可能多的处理用户请求。

#集群配置说明  upstream 集群  1.轮询  2.权重
	upstream jtTomcats {
		server 127.0.0.1:8081 	weight=6;
		server 127.0.0.1:8082	weight=3;
		server 127.0.0.1:8083	weight=1;
	}

2.6.3 IPHASH策略

业务场景: 要求用户与服务器进行绑定
实际案例: 学生在线考试系统 登录之后 要求展现试卷. 如果考生意外退出,应该保留用户的考试信息。

固定其中一个端口
配置方法:

#集群配置说明  upstream 集群  1.轮询  2.权重  3.IPHASH
	upstream jtTomcats {
		ip_hash;
		server 127.0.0.1:8081 	weight=6;
		server 127.0.0.1:8082	weight=3;
		server 127.0.0.1:8083	weight=1;
	}

IPHASH算法:
在这里插入图片描述

2.7 Nginx属性说明

2.7.1 down属性

业务说明: 由于后台服务器宕机,可能没有及时修改nginx配置文件 用户访问会出现卡顿的现象。
属性说明: 当用户服务器宕机之后 需要通过down属性进行标识, nginx不会再将请求发往故障机。

#集群配置说明  upstream 集群  1.轮询  2.权重  3.IPHASH
	upstream jtTomcats {
		#ip_hash;
		server 127.0.0.1:8081 	weight=6 down;
		server 127.0.0.1:8082	weight=3;
		server 127.0.0.1:8083	weight=1;
	}

2.7.2 backup属性

说明: backup用来标识备用机. 当主服务器宕机或者主服务器遇忙时请求备用机。

#集群配置说明  upstream 集群  1.轮询  2.权重  3.IPHASH
	upstream jtTomcats {
		#ip_hash;
		server 127.0.0.1:8081 	weight=6 down;
		server 127.0.0.1:8082	weight=3;
		server 127.0.0.1:8083	weight=1 backup;
	}


2.7.3 tomcat高可用机制

业务场景说明:
当tomcat服务器发生宕机现象时,由nginx自己判断服务器是否可用.如果发现服务器宕机,.则自动的标识为down。

#集群配置说明  upstream 集群  1.轮询  2.权重  3.IPHASH
	# max_fails=1 最大失败次数  down标识为down
	# fail_timeout=60s; down属性的周期
	 
	upstream jtTomcats {
		#ip_hash;
		server 127.0.0.1:8081 	down;
		server 127.0.0.1:8082	max_fails=1 fail_timeout=60s;
		server 127.0.0.1:8083	max_fails=1 fail_timeout=60s;
	}

3 Linux

3.1 虚拟机环境搭建

1.设定虚拟机网络 编辑-虚拟机网络编辑器
在这里插入图片描述

2).默认网关展现
在这里插入图片描述

3).DHCP设置
在这里插入图片描述

4).IP地址校验

虚拟机ip地址
在这里插入图片描述

3.2 关于虚拟机网络模式说明

3.2.1 桥接模式

相当于将虚拟机直接接入局域网中,这时会独占IP地址.可以与本机通过局域网通信。
特点:所有的在局域网中的IP都可以访问虚拟机。
依赖:如果设置桥接模式,则必须有物理设备的支持。

在这里插入图片描述

3.2.2 NAT模式

相当于在网络环境中会开辟一块全新的网络空间.只有主机能够访问.
特点:NAT模式只有主机访问,其他人通过IP地址禁止访问.
在这里插入图片描述

  • 场景1: 小李刚去公司,需要从公司的服务器上下载源码,问虚拟机应该采用哪种模式?
    桥接模式 如果需要连接其他设备 设定桥接

  • 场景2: 小李由于频繁的出入甲方/公司,请你为他挑选一种网络模式,使得小李不用频繁的切换IP?
    NAT模式 如果连接自己的设备 一般设定NAT

3.3 关于IP说明

启动Linux系统,获取当前ip
登录账号密码 ,统一 root
输入命令:ip addr
在这里插入图片描述

有时启动Linux系统时,可能获取不到当前的IP地址.
如图所示:
在这里插入图片描述

如何动态获取:

service NetworkManager stop 
chkconfig  NetworkManager  off    永久关闭 Manager网卡
service  network restart		  重启network网卡

在这里插入图片描述

3).window系统动态连接Linux系统

通过Ping命令检查网络通讯
在这里插入图片描述

3.4 Linux概述

3.4.1 Linux介绍

      Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
      Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
      严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

3.4.2 Linux发展史

      1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;
(刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过; Multics:Multiplexed Information and Computing Service)
       1969 年,Ken Thompson(B语言之父)利用汇编语言开发了 FIle Server System(Unics,即 UNIX 的原型)
(因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 只是为了移植一款“太空旅游”的游戏;)
       1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,而后写出了 UNIX 的内核
(将 B 语言改成 C 语言,由此产生了 C 语言之父; 90% 的代码是 C 语言写的,10% 的代码用汇编写的,因此移植时只要修改那 10% 的代码即可;)
       1977 年,Berkeley 大学的 Bill Joy 针对他的机器修改 UNIX 源码,称为BSD(Berkeley Software Distribution)
       1979 年,UNIX 发布 System V,用于个人计算机;
      1984 年,因为 UNIX 规定:“不能对学生提供源码”,Tanenbaum 老师自己编写兼容于 UNIX 的Minix,用于教学;
       1984 年,Stallman 开始 GNU(GNU’s Not Unix)项目,创办 FSF(Free Software Foundation)基金会;
(产品:GCC、Emacs、Bash Shell、GLIBC; 倡导“自由软件”; GNU 的软件缺乏一个开放的平台运行,只能在 UNIX 上运行; 自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着 GPL 的版权; 自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;)
       1985 年,为了避免 GNU 开发的自由软件被其他人用作专利软件,因此创建 GPL(General Public License)版权声明;
      1988 年,MIT 为了开发 GUI,成立了 XFree86 的组织;
      1991 年芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了针对 386 机器的 Linux 内核;
       1994 年,Torvalds 发布 Linux-v1.0;
      1996 年,Torvalds 发布 Linux-v2.0,确定了 Linux 的吉祥物:企鹅;

如图-9所示
在这里插入图片描述

3.4.3 Linux系统层级结构

在这里插入图片描述

3.4.4Linux特点

1.系统开源并且免费
2.对硬件要求很低 800M 3-4
3.系统稳定性强
4.系统安全性更好 (军工企业 断网)

3.4.5Linux系统主流产品

如图-10所示

在这里插入图片描述

命令大全Linux全面讲解与命令大全


3.5 远程连接工具

MobaXterm_Personal_20.3

官网:https://mobaxterm.mobatek.net/
在这里插入图片描述

下载完成安装后,打开软件:
在这里插入图片描述

选择SSH
在这里插入图片描述

新建用户
在这里插入图片描述

为了方便后期学习,全部输入root
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

输入密码后:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值