服务器中间件

这篇具有很好参考价值的文章主要介绍了服务器中间件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、tomcat

tomcat(全称为Apache Tomcat)是一个开源的Java Web应用服务器,它实现了Java Servlet、JavaServer Pages(JSP)和Java WebSocket等JavaEE规范,提供了一个运行Java Web应用的容器。Tomcat由Apache软件基金会开发和维护,是一个非常流行的Web应用服务器。

Tomcat的主要特点包括:

  1. Servlet容器:Tomcat是一个Servlet容器,可以部署和运行基于Servlet技术的Web应用程序。
  2. JSP支持:Tomcat支持JavaServer Pages(JSP),可以编译和执行JSP页面。
  3. 易于配置和部署:Tomcat提供了简单易用的配置文件,可以灵活地配置和部署Web应用程序。
  4. 多版本支持:Tomcat可以同时运行多个版本的Java Servlet和JSP规范,方便开发者在不同的项目中使用不同的规范版本。
  5. 嵌入式支持:Tomcat可以作为一个嵌入式服务器集成到Java应用程序中,方便开发者在自己的应用程序中内嵌Tomcat服务器。
  6. 安全性:Tomcat提供了安全性功能,包括基于角色的访问控制、SSL/TLS支持等。
  7. 扩展性:Tomcat可以通过插件和扩展来增加功能和支持,例如支持WebSockets、JNDI、JMX等。

Tomcat是一个成熟稳定的Web服务器,被广泛应用于Java Web应用程序的开发和部署。它具有良好的性能和可靠性,提供了丰富的功能和配置选项,适用于各种规模的应用程序。

二、 nginx
2.1 代理问题

客户端到底要将请求发送给哪台服务

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TmpL3Ur8-1687195362853)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.2 负载均衡问题

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwZNP5Ep-1687195362854)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.3 资源优化

客户端发送的请求可能是申请动态资源的,也有申请静态资源,但是都是去Tomcat中获取的

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jpTlPlQ2-1687195362855)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.4 Nginx处理

静态资源尺寸不大放在Nginx 如淘宝的图片太大放不进去

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b8M3PWgl-1687195362856)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.5 Nginx的特点:
  • 稳定性极强。 7*24小时不间断运行。
  • Nginx提供了非常丰富的配置实例。
  • 占用内存小,并发能力强。
2.6 Nginx的安装

/usr/local/nginx/ docker-compose.yml

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vcIPJldR-1687195362857)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

./conf 在当前目录创建conf.d目录 数据卷

version: '3.1'
services:
  nginx:
    restart: always
    image: daocloud.io/library/nginx:latest
    container_name: nginx
    ports:
      - 80:80
    volumes:
      - ./conf.d/:/etc/nginx/conf.d

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mQoZG17N-1687195362857)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

2.7 Nginx的配置文件

关于Nginx的核心配置文件nginx.conf 在容器内部的etc/nginx/nginx.conf

worker_processes 1;
error_log /var/log/nginx/error.log warn;
# 以上统称为全局块,
# worker_processes他的数值越大,Nginx的并发能力就越强
# error_log 代表Nginx的错误日志存放的位置

events {
worker_connections 1024;
}
# events块
# worker_connections他的数值越大,Nignx并发能力越强

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;

​ location / {
​ root /usr/share/nginx/html;
​ index index.html index.htm;
​ }
# location块
​ # root:将接收到的请求根据/usr/share/nginx/html去查找静态资源
​ # index: 默认去上述的路径中找到index.html或者index.htm

}
# server块
# listen: 代表Nginx监听的端口号
# localhost:代表Nginx接收请求的ip

}
# http块
# include代表引入一个外部的文件 -> /mime.types中放着大量的媒体类型
# include /etc/nginx/conf.d/*.conf; -> 引入了conf.d目录下的以.conf为结尾的配置文件

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U9UNPRno-1687195362858)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

做了数据卷 宿主主机在conf.d 目录下的conf.d结尾文件也会引入到配置文件中。

2.8 Nginx的反向代理

正向代理和反向代理介绍

正向代理

  • 正向代理服务是由客户端设立的。
  • 客户端了解代理服务器和目标服务器都是谁。
  • 帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址。

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wkzzyFm5-1687195362858)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

例如 vpn就是正向代理

2.9 反向代理:
  • 反向代理服务器是配置在服务端的。
  • 客户端是不知道访问的到底是哪一台服务器。
  • 达到负载均衡,并且可以隐藏服务器真正的ip地址。

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CvIRcP3V-1687195362859)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.10 基于Nginx实现反向代理

准备一个目标服务器。

启动了之前的tomcat服务器。

编写nginx的配置文件,通过Nginx访问到tomcat服务器。

访问本地服务器 80端口相当于访问 8080 直接输入ip啥也不加相当于访问80端口,80端口是默认端口

server{
  listen 80;
  server_name localhost;
    # 基于反向代理访问到Tomcat服务器
  location / {
    proxy_pass http://192.168.199.109:8080/;
  }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QXbrZj78-1687195362859)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SRf4tPlf-1687195362860)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

2.11 关于Nginx的location路径映射

优先级关系如下

# 1. 直接匹配
location = / {
# 精准匹配,主机名后面不能带任何的字符串
}

# 2. 通用匹配
location /xxx {
# 匹配所有以/xxx开头的路径
}

# 3. 匹配开头路径
location ^~ /images/ {
# 匹配所有以/images开头的路径
}

# 4. 正则匹配
location ~ /xxx {
# 匹配所有以/xxx开头的路径
}

# 5. 匹配后缀
location ~* .(gif|jpg|png)$ {
# 匹配以gif或者jpg或者png为结尾的路径
}

# 6. 全部通配
location / {
# 匹配全部路径
}

优先级从上到下

2.12 负载均衡

Nginx为我们默认提供了三种负载均衡的策略:

  • 轮询:将客户端发起的请求,平均的分配给每一台服务器。
    • 权重:会将客户端的请求,根据服务器的权重值不同,分配不同的数量。
  • ip_hash:基于发起请求的客户端的ip地址不同,他始终会将请求发送到指定的服务器上。

轮询

想实现Nginx轮询负载均衡机制只需要在配置文件中添加以下内容

一个一个挨个轮着来

upstream 名字 {
  server ip:port;
  server ip:port;
  ...
}
server {
  listen 80;
  server_name localhost;
  
  location / {
    proxy_pass http://upstream的名字/;
  }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uWd2pI89-1687195362860)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

权重

按照权重比例来 ,假如说三七 则10个链接 三七分

upstream 名字 {
  server ip:port weight=权重比例;
  server ip:port weight=权重比例;
  ...
}
server {
  listen 80;
  server_name localhost;
  
  location / {
    proxy_pass http://upstream的名字/;
  }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mPFhCxaJ-1687195362860)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

ip_hash

hash(ip)====> 唯一的

client: hash( 192.168.75.135) ===>server 1

upstream 名字 {
  ip_hash;
  server ip:port;
  server ip:port;
  ...
}
server {
  listen 80;
  server_name localhost;
  
  location / {
    proxy_pass http://upstream的名字/;
  }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d30SJY2K-1687195362861)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

通过哈希算法 算出唯一访问地址,始终访问这一个地址

负载均衡示例

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UlizRm3f-1687195362861)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.13 Nginx动静分离

Nginx的并发能力公式:

worker_processes * worker_connections / 4 | 2 = Nginx最终的并发能力

动态资源需要/4,静态资源需要/2.

Nginx通过动静分离,来提升Nginx的并发能力,更快的给用户响应。

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ST16aIwC-1687195362861)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

layui html css 图片 是静态资源

jsp是动态资源

动态资源代理

使用proxy_pass动态代理

# 配置如下
location / {
  proxy_pass 路径;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lb9Id1au-1687195362862)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

静态资源代理

使用root静态代理

# 配置如下
location / {
  root 静态资源路径;
  index 默认访问路径下的什么资源;
  autoindex on; # 代表展示静态资源全的全部内容,以列表的形式展开。
}

# 先修改docker,添加一个数据卷,映射到Nginx服务器的一个目录
# 添加了index.html和1.jpg静态资源
# 修改配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjOkQLiX-1687195362863)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

做数据卷 当前目录的html 映射容器内部的/usr/share/nginx/html

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EamkzFRC-1687195362863)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

下图是**/etc/nginx/conf.d/*.conf结尾的文件,也可以加进配置文件中 ,这个地址也在容器内部,**

下图表示 动态资源访问192.168.59.12:8080 静态资源访问root aa表示只能访问aa开头的文件

如 aa.html 这时在数据卷的宿主主机上自己创建的html地址 里加入aa.html, 访问

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xm0vlksl-1687195362863)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-myIBTh4p-1687195362863)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TA4ZuvSz-1687195362864)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ss6kpSoh-1687195362864)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.14 Nginx集群

集群结构

单点故障,避免nginx的宕机,导致整个程序的崩溃

准备多台Nginx。

准备keepalived,监听nginx的健康情况。

准备haproxy,提供一个虚拟的路径,统一的去接收用户得请求。

服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rYoAOKNa-1687195362865)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑 服务器中间件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X6FOVpXv-1687195362865)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

2.14 Nginx集群

集群结构

单点故障,避免nginx的宕机,导致整个程序的崩溃

准备多台Nginx。

准备keepalived,监听nginx的健康情况。

准备haproxy,提供一个虚拟的路径,统一的去接收用户得请求。

服务器中间件[外链图片转存中…(img-rYoAOKNa-1687195362865)]编辑 服务器中间件[外链图片转存中…(img-X6FOVpXv-1687195362865)]编辑

资料里直接拉进来一个文件夹 运行就行文章来源地址https://www.toymoban.com/news/detail-498643.html

到了这里,关于服务器中间件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务攻防-中间件安全&CVE复现&IIS&Apache&Tomcat&Nginx漏洞复现

    目录 一、导图 二、ISS漏洞 中间件介绍 1、短文件 2、文件解析 3、HTTP.SYS 4、cve-2017-7269 三、Nignx漏洞 中间件介绍 1、后缀解析漏洞 2、cve-2013-4547 3、cve-2021-23017 无 EXP 4、cve-2017-7529 意义不大 四、Apache漏洞 中间件介绍 1、漏洞版本简介 2、cve-2021-42013 3、cve-2021-41773 4、cve-2017-1571

    2024年02月10日
    浏览(49)
  • 第59天-服务攻防-中间件安全&CVE 复现&IIS&Apache&Tomcat&Nginx

    文章仅供学习交流,一些价值不高的漏洞没复现,日后来兴趣再补坑(大概~) 文章略长,阅读需耐心~ 视频链接:  【小迪安全】红蓝对抗 | 网络攻防 | V2022全栈培训_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1pQ4y1s7kH 目录 一.知识点 二.章节内容 1、常见中间件的安全测试 2、

    2024年02月20日
    浏览(35)
  • 小迪安全 第59天 服务攻防-中间件安全&CVE 复现&IIS&Apache&Tomcat&Nginx

    IIS现在用的也少了,漏洞也基本没啥用  没有和权限挂钩 windows 2003上面的漏洞 配置不当:该漏洞与 Nginx、php 版本无关,属于用户配置不当造成的解析漏洞。 这个跟文件上传类似,找到文件上传点,上传png图片 找到上传路径和nginx版本号 查看路径 添加后缀可以用php执行png

    2024年02月04日
    浏览(48)
  • 【分布式技术专题】「Zookeeper中间件」zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)

    目前希望可以升级将Zookeeper中log4j的版本升级到log4j2版本,并且要避开相关的log4j2的安全隐患问题,此时需要考虑的就是针对于如何将无缝衔接log4j2的版本jar包的安装呢?我们接下来观察一下看看问题所在。目前我采用的环境是windows环境,不过也同样对其他操作系统有效,毕

    2024年02月20日
    浏览(33)
  • Day79:服务攻防-中间件安全&IIS&Apache&Tomcat&Nginx&弱口令&不安全配置&CVE

    目录 中间件-IIS-短文件文件解析蓝屏写权限 HTTP.SYS(CVE-2015-1635)主要用作蓝屏破坏,跟权限不挂钩 IIS短文件(iis全版本都可能有这个问题) IIS文件解析 IIS写权限 中间件-Nginx-文件解析目录穿越漏洞CRLF CVE-2013-4547 文件上传 解析漏洞(配置不当) 目录穿越(配置不当) CRLF注入(配置

    2024年04月08日
    浏览(43)
  • LNMT(linux下nignx+mysql+tomcat(中间件)应用)部署应用、及各服务介绍、部署开源站点jpress

    目录 一、环境准备 二、tomcat1和tomcat2服务器,安装配置tomcat 1.tomcat服务器介绍 2.JDK软件介绍 3.查看JDK是否安装 4.tomcat1和tomcat2服务器,安装JDK1.8.0_191(JDK必须和nginx版本相适应,不然一直报错) 5.安装并启动apache-tomcat-8.5.16  6.关闭tomcat 7.tomcat配置目录及文件说明 三、自定义默

    2024年02月12日
    浏览(51)
  • tomcat中间件漏洞复现

    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性

    2024年02月10日
    浏览(33)
  • 性能优化-中间件tomcat调优

    主要有三个: 管理Servlet应用的生命周期。Tomcat可以管理和控制Servlet应用程序的启动、停止、暂停和恢复等生命周期过程,确保Servlet应用的稳定运行和有序管理。 把客户端请求的url映射到对应的servlet。Tomcat作为一个Web服务器,可以将客户端发送的HTTP请求URL映射到相应的Se

    2024年02月07日
    浏览(29)
  • 【精选】中间件 tomcat漏洞复现

    目录 1、tomcat后台弱口令漏洞利用 利用冰蝎连接: 2、tomcat远程代码执行漏洞 利用冰蝎子连接: 利用冰蝎连接: 靶场: 124.70.71.251:49586 利用冰蝎的 shell.jsp 文件 利用冰蝎子连接:

    2024年01月21日
    浏览(32)
  • Tomcat中间件打印请求日志

    修改conf下的 server.xml 文件中的 Valve 配置 主要修改pattern的值 相关pattern的含义可以参考官方文档,这里贴上方便查询 最后打印格式如下 在SpringBoot使用嵌入式Tomcat可以在配置文件中按照如下配置 directory可以配置相对路径或绝对路径,如果是相对路径,那么最终会放在Tomcat的基

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包