分类目录归档:Linux

Nginx基于请求头的分发


前面的分发方式都是基于一个集群分发的,nginx是一个基于7层的分发也就是可以实现基于主机头的分发,这种分发一般都是用于多集群环境中。

一、HTTP请求头和响应头

客户端浏览器开发者工具network工具下,获取请求的请求头信息如下所示:

Request URL: http://192.168.0.40    #请求的URL
Request method:GET  #请求的方法,GET是获取数据
Remote address:192.168.0.40:80#远程主机的地址
Status code: 2...

Read more

Nginx分发算法


一、分发算法介绍

如何将用户请求按照一定的规律分发给业务服务器。主要分为Nginx集群默认算法和基于请求头分发算法。

二、nginx集群默认算法

nginx的upstream 目前支持4种方式的分配

  • 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。用于处理静态页面
  • weight 指定权重,数值大的服务器,获得的请求的数量越多,用于后端服务器性能不均的情况。用于处理静态页面
  • ip_hash 每个请求按访问ip的hash结果分配,...

Read more

部署LVS TUN集群


一、TUN模式集群

在NAT模式中,由于所有的请求及响应的数据包都需要经过LVS调度器,如果后端的服务器数量较大,则调度器就会成为整个集群环境的瓶颈。

而请求包的大小往往小于响应包,因为响应数据包中包含有客户需要的具体数据,所以TUN模式的思路就是将请求与响应分离,让调度器仅处理请求,让真实服务器将响应数据包直接返回给客户端。

在TUN模式中有一个IP隧道,这个IP隧道是一种数据包封装技术,可以将原始数据包封装并添加新的包头(包头内容包括新的源地址和端口,新的目标地址和端口),从而实现将一个目标为调度...

Read more

部署LVS NAT集群


一、NAT模式集群

NAT也就是网络地址转换,其作用是通过数据报头的修改,使位于企业内部的私有IP可以访问外网,以及外部用户可以访问位于公司内部的私有IP主机,在nat模式中LVS负载均衡器需要使用两块网卡配置不同的IP地址,第一块网卡与内部的web服务器连接,第二块网卡与公网用户连接

image20200204131325307.png

工作原理

基于NAT机制实现。当用户请求到达Director(负载均衡)之后,Director(负载均衡)将请求报文的目标地址(即VIP)改成选定的RS(真实服务器)地址,同时将报文的目标端口也改成选定的RS(真实服...

Read more

部署LVS DR集群


一、DR模式集群

在TUN模式下,由于需要在LVS与真实服务器之间创建隧道连接,这样会增加服务器的负担。

与TUN模式类似,在DR模式中LVS依然只承担数据的入站请求,并且根据算法选择出合适的真实服务器,最终有后端真实服务器负责将响应数据包发送给客户端。

但是与隧道模式不同的是,DR模式中要求调度器与后端服务器必须在同一个局域网内,VIP地址也需要在调度器与后端所有的服务器间共享,因为最终的真实服务器给客户端回应数据包时需要设置源地址为VIP的地址,目标地址为为客户端的IP地址,这样客户端访问的是LV...

Read more

部署nginx web集群


一、案例需求

使用nginx分发器构建一个web集群

二、环境准备

实验机 :四台虚拟机,一台测试机,一台分发器,两台web服务器。

网卡:vmnet4

系统:CentOS8.0

SELinux&防火墙:关闭

网段:192.168.8.0/24

角色&主机名 IP
客户端 client 192.168.8.10/24
分发器 nginx1 192.168.8.40/24
web服务器 web1 192.168.8.42/24
web服务器 web2 192.1...

Read more

Nginx集群


一、Nginx集群组成

组成要素:

1)VIP: 给分发器的一个虚拟IP

2)分发器:nginx

3)数据服务器:web服务器

二、nginx集群原理

在Nginx集群中Nginx扮演的角色是:分发器。 任务:接受请求、分发请求、响应请求。 功能模块: 1)ngx_http_upstream_module:基于应用层(七层)分发模块

2)ngx_stream_core_module:基于传输层(四层)分发模块(1.9开始提供该功能)

nginx集群的实质

nginx 默认支持分发 他有一个自带模块 叫...

Read more

使用nginx发布tomcat站点


之前我们在访问的时候使用的都是类似http://serverip/test或者http://serverip/jpress这种字样的URL,使用起来比较麻烦,所以呢,我们可以将tomcat和nginx结合在一起,可以通过nginx以下功能发布:

  • 使用nginx url重写
  • 使用nginx的反向代理功能

一、部署tomcat网站

通过部署两个tomcat站点,分别采用nginx url rewrite方法和反向代理发布。

  • 设置tomcat1
[root@zuolaoshi ~]# cd /opt...

Read more

Tomcat多实例


Tomcat是一个单进程多线程的软件,在很早之前,我们都认为这种模式挺好的,因为早些年的CPU都是单核的,但是现在都是多核心的CPU了,如果还是一个进程的话呢,就比较浪费CPU资源,所以本节课我们要讨论下如果多开几个tomcat,也就是我们本节课要实现的是tomcat的多实例,这样可以提高资源的利用率,在之前的课程中我们提到过tomcat有三个端口8005 8009 8080,其中8005是用来关闭tomcat的端口,8080是访问端口,8009是ajp协议使用的端口,如果我想在一台机器上开启多个to...

Read more

Tomcat 发布动态页面


我们知道tomcat是用来发布jsp网站的,jsp的网站,页面漂亮还安全,上节课我们已经知道如何发布静态页面了,本节课我们一起来看一下如何发布动态页面,我们通过jpress一个使用java开发的建站软件来实现jsp页面

jpress下载地址:https://www.jpress.cn/download

step 1 准备jsp页面

[root@zuolaoshi ~]# mv jpress-v3.2.1.war jpress.war

[root@zuolaoshi ~]# cp jpress.w...

Read more