Tomcat学习篇

Tomcat

安装Tomcat
进入 Tomcat 官网:https://tomcat.apache.org/

介绍
Tomacat是由Apache推出的一款免费开源的Servlet容器,可实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,在处理静态Html上的能力略逊一筹。

访问 Tomcat
当我们运行 Tomcat 之后,就可以在浏览器中通过localhost:8080来进行访问。如下图所示
在这里插入图片描述
Tomcat 的目录结构

/bin:存放用于启动及关闭的文件,以及一些脚本。其中以*.sh结尾的是linux下运行的文件,window下是.bat文件。

/conf:配置文件及相关的信息。容器的主配置文件为server.xml。

/log:日志记录文件。

/webapps:存放Web应用的相关文件。

/lib:存放以.jar文件,各种依赖

/webapps:里面存放我们的应用,Tomcat会自动找到。我们会自动访问ROOT下面的index.jsp页面。

Tomcat 的配置文件
catalina.policy: 当基于 -securty 选项启动 Tomcat 实例时会读取此配置文件。此文件是 Java 的安全策略配置文件,用于配置访问 codebase(代码库)或某些 Java 类的权限

catalina.properties: Java 属性定义文件,设定类加载器路径、安全包列表和一些调整性能的参数信息

context.xml: 为部署与此 Tomcat 实例上的 web 应用程序提供的默认配置文件,每个 webapp 都可以使用独有的 context.xml,通常放置于 webapp 目录的 META-INF 子目录中,常用于定义会话管理器,Realm 和 JDBC 等

logging.properties: 定义日志相关的配置信息,如日志级别、文件路径等

server.xml: Tomcat 核心配置文件,包含 Service、Connector、Engine、Realm、Valve、Hosts 主组件的相关配置信息

tomcat-users.xml: 包含 Realm 认证时用到的相关角色、用户和密码等信息;Tomcat 自带的 manager 默认情况下会用到此文件;在 Tomcat 中添加火删除用户,为用户指定角色等将通过编辑此文件实现

web.xml: 为部署与 Tomcat 实例上的所有 web 应用程序提供部署描述符,通常用于为 webapp 提供默认的 servlet 定义和基本的 MUIME 映射表

部署单个 HTML
可以将自己写好的单个 HTML 部署到 Tomcat 中,方法如下:

  • 先创建好 html 文件(hello.html)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>将 HTML 部署到 Tomcat</title>
</head>
<body>
    <div>hello</div>
</body>
</html>
  • 将创建好的 html 文件拷贝到 Tomcat 的 webapps/Root 目录中
  • 启动 Tomcat,在浏览器的网址栏输入 127.0.0.1:8080/hello.html 就可以访问到刚刚部署的 HTML
    在这里插入图片描述

Nignx

介绍
Nginx是一款高性能的Web服务器,最初由俄罗斯程序员Igor Sysoev开发,自2004年问世以来,凭借其高性能、高可靠、易扩展等优点,在反向代理、负载均衡、静态文件托管等主流场合得到了广泛的应用。

特点
高性能:相比于其他Web服务器如Apache,在正常请求以及高峰请求期,可以更快地响应请求。

高可靠:Nginx采用多进程模型,分为主进程和工作进程。主进程负责监视工作进程,当工作进程异常退出时,可以快速拉起一个新的工作进程,从而为用户提供稳定服务

高并发:Nginx通常作为网关级服务,其支持的并发量通常在万级别,经过优化甚至可以达到十万级别。

易扩展:Nginx是模块化设计,具有极高的扩展性,使用者可以根据自身需求,定制开发相应模块。

热部署:Nginx提供了优雅重启以及平滑升级的方案,使用户在修改配置文件或者升级Nginx时,不会影响线上服务。

跨平台:支持Linux、Windows、macOS多种平台。

应用场景
一、HTTP服务器
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。
二、静态服务器
静态服务器,通常会提供一个上传的功能,其他应用如果需要静态资源就从该静态服务器中获取
三、反向代理
反向代理使用proxy_pass指令来配置,如

server {
listen 80;
location / {
proxy_pass http://10.205.18.30:5000;
}
}

如此访问http://localhost:80时就会被代理到http://10.205.18.30:5000
还可以进一步配置成server_group的形式,为后面的负载均衡做准备:

upstream api_server {
server 10.205.18.30:5000;
}
server {
listen 80;
location / {
proxy_pass http://api_server;
}
}

负载均衡

Nginx支持三种负载均衡模式:

round-robin,轮询,这也是默认的模式

least-connected,请求会被转发到当前连接数最少的节点

ip-hash,基于请求方的IP地址的Hash值决定转发目标

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值