web容器

Linux&&Tomcat

白昼怎懂夜的黑 提交于 2020-03-01 17:54:50
Linux&&Tomcat 动静分离 反向代理+负载均衡 部署Tomcat及其负载均衡 配置Tomcat站点 动静分离 静态文件(.html)交由LNMP服务器处理 动态文件(.php)交由LAMP服务器处理 web-1.1 #部署LNMP环境 #配置 vim /usr/local/nginx/conf/nginx.conf location ~ \.php$ { proxy_pass http://192.168.1.2 ; } 反向代理+负载均衡 web-1.1 #部署LNMP环境 #配置 vim /usr/local/nginx/conf/nginx.conf --snip-- http { --snip-- #定义服务器池,名称为web_servers。 upstream web_servers { server 192.168.1.2:80 weight = 1 ; server 192.168.1.3:80 weight = 1 ; } --snip-- location / { root html ; index index.html index.php index.htm ; #代理到服务器池web_servers proxy_pass http://web_servers ; } } service nginx restart web-1.2 #部署LAMP环境

RESTful协议【软件架构】

折月煮酒 提交于 2020-03-01 08:39:49
概述 REST(英文: Representational State Transfer ,简称 REST )描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。 在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。 值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。 原则条件 REST 指的是一组架构 约束条件 和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合 云计算 之类的环境。客户端可以缓存数据以改进性能。 在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI

java jar 和 war 包的区别

会有一股神秘感。 提交于 2020-03-01 02:50:38
一. jar 包 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。   JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。 简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。 二. war 包   war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。   war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录

request.getParameter() 和request.getAttribute() 区别

爷,独闯天下 提交于 2020-02-29 09:27:05
request.getParameter() 和request.getAttribute() 区别 getParameter 是用来接受用post个get方法传递过来的参数的. getAttribute 必须先setAttribute. (1)request.getParameter() 取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。 (2)request.getParameter() 方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。 request.setAttribute() 和 getAttribute() 方法传递的数据只会存在于Web容器内部 还有一点就是,HttpServletRequest 类有 setAttribute() 方法,而没有setParameter() 方法。 来源: https://www.cnblogs.com/jing1617/p/8675127.html

Tomcat建立多个应用(Web Server)、多个主机、多个站点的方法

心已入冬 提交于 2020-02-28 15:42:59
当你使用Tomcat作为Web Server的时候,是不是会想过这样的一个问题:如何利用Tomcat建立多个Web应用 呢? 要实现这一点是很简单的,也有多种方法.(以下说明使用%tomcat_home%代表Tomcat安装目录). 一.首先介绍一下Tomcat及server.xml Tomcat服务器是由一系列的可配置的组件构成,tomcat的组件可以在%tomcat_home%/conf/server.xml文件中进行配置,每个Tomcat组件和server.xml文件的一种配置元素对应. 主要分为4类: 1.顶层类元素:包括和,他们位于整个配置文件的顶层. 元素代表整个Catalina Servlet 容器,由org.apache.catalin.Server接口定义.包含一个或多个元素. 元素由org.apache.catalin.Service 接口定义.包含一个元素,及一个或多个元素.多个元素共享一个元素. 2.连接器类元素 连接器类代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户. 元素由org.apache.catalin.Connector 接口定义.代表了与客户程序实际交互的组件,它负责接收客户请求,以及向客户返回响应结果. 3.容器类元素 容器类元素代表处理客户请求并生成响应的组件.包括 和. 元素由org

tomcat: 配置文件server.xml

穿精又带淫゛_ 提交于 2020-02-28 14:54:07
一、概念 tomcat属于apach基金会,是一个开源的轻量级web应用服务器。 server.xml是tomcat的最重要的配置文件。 server.xml里每一个元素对应了tomcat的一个组件,通过对server.xml元素的配置,可以实现对tomcat组件的控制。 server.xml位于$TOMCAT_HOME/conf目录下。 二、server.xml的整体结构与核心组件 <Server> 根元素,代表整个tomcat容器,有一个或多个service元素,提供接口让客户端访问service,维护service <Service> 包装Connector和Engine, 一个service包含多个Connector和一个Engine;一个Tomcat的不同端口部署多个webapp,就有多个service <Executor name="aa" namePrefix="aa-exec-" maxThreads="400" minSpareThreads="10"/> // 最大线程数 <Connector /> 连接器,代表外部客户端与哪个service接口交互(接收请求),创建request和response对象,分配给Engine处理 <Engine> 容器,处理连接器接收进来的请求并返回结果;处理service中的所有请求 <Host> 处理一个特定虚拟主机的所有请求

Java web面试10个问题

别说谁变了你拦得住时间么 提交于 2020-02-27 19:05:00
1、JSP中动态include与静态include的区别? 静态include :<%@include%>,直接将内容先包含后处理 动态include :<jsp:include>,如果包含的是动态页,则先编译之后再进行处理 2、两种跳转方式是什么?有什么区别? 服务器端跳转 :<jsp:forward>,跳转之后地址栏不改变,可以传递 request属性,实际是对 RequestDispatcher接口的封装. 客户端跳转 :response.sendRedirect(),跳转之后地址栏改变. 3、jsp和servlet的区别、共同点、各自应用的范围? Jsp:JSP 是 Servlet 技术的扩展,本质上就是 Servlet的简易方式。 JSP编译后是“类servlet” JSP 侧重于视图是 Java 和 HTML 可 以组合成一个扩展 名为.jsp 的文件 Servlet:Servlet 主要用于 控制逻辑;在 struts 框架中,JSP 位于 MVC 设 计模式的视图层,而 Servlet 位于控制层.应用逻辑是在 Java 文件中,并且完全从 表示层中的HTML里 分离开来 4、cookie和session的区别? cookie 主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的 数据量有限 session 保存在服务端,每一个 session

War包是什么??

偶尔善良 提交于 2020-02-27 01:49:59
感谢大佬: https://blog.csdn.net/Stitch__/article/details/88091745 https://www.jianshu.com/p/3b5c45e8e5bd war 包是一种打包格式 Java web工程,都是打成war包,进行发布,打成war包的好处是不会缺少目录,并且只管理好一个发布文件就好,并且tomcat服务器能够自动识别,将war包放在tomcat容器的webapps下,启动服务,即可运行该项目,该war包会自动解压出一个同名的文件夹。 war 包的结构(是一个web 项目编译后的结果) 在创建web 项目的时候要选择打包的方式,一般都是热部署(war explode jar包和war包的介绍和区别 Java开发,jar包和war包接触的挺多的,有必要对它们做一个深入的了解,特总结整理如下: 1.jar包的介绍 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。 JavaSE程序可以打包成Jar包 (J其实可以理解为Java了)。 JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装 库、组件 和 插件程序 ,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如

Docker容器之基础管理

依然范特西╮ 提交于 2020-02-25 16:04:00
Docker介绍 是一种轻量级的“虚拟机” 在Linux容器里运行应用的开源工具 Docker与虚拟机的区别 虚拟机是在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。Docker是开源的应用容器引擎,依然需要先在电脑上安装操作系统,然后安装Docker容器的管理器,才可以。虚拟机是在硬件级别进行虚拟化,而Docker是在操作系统的层面虚拟化;虚拟机是通过模拟硬件搭建操作系统 Docker的使用场景 打包应用程序简化部署 可脱离底层硬件任意迁移 例:服务器从腾讯云迁移到阿里云 Docker核心概念 镜像 容器 仓库 CentOS安装Docker的两种方式 使用curl获得docker的安装脚本进行安装 使用yum仓库来安装docker docker的安装 设置镜像源,安装docker [root@localhost ~]# yum install -y \ > yum-utils \ //设置源工具 > device-mapper-persistent-data \ //映射工具 > lvm2 [root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //加载阿里云镜像源

关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)

雨燕双飞 提交于 2020-02-23 11:34:44
  上篇文章我简要的介绍了下网站静态化的演进过程,有朋友可能认为这些知识有点过于稀松平常了,而且网站静态化的技术基点也不是那么高深和难以理解,因此它和时下日新月异的web前端技术相比,就显得不伦不类了。其实当我打算写本系列的之前我个人觉得web前端有一个点是很多人都知道重要,但是有常常低估它作用的,那就是web前端和web服务端如何融合的这个点上,这个点再加上我们要做出一个规模庞大,高并发,快速响应的网站时候它对于web前端的架构技术的演进起到了一个不可忽视的作用。   网站的web前端要实现高效,第一个要解决的短板就是网络的延迟性对网站的加载效率的影响,当然很多人会说网速快不快这是网络运营商的问题,不是网站的问题,但是大家肯定也见过就算我们用上了千兆宽带也会有些网站加载速度慢的让人无法忍受,网站本身的确是没法控制网络速度的能力,但是如果我们不降低网络对页面加载效率的影响,其他任何优化网站的手段也就无从谈起,原因就是网络效率对于网页加载效率的影响是起到大头作用的,只有这个大头被解决了,那么解决其他的小头才能发挥作用。   回到上文讲到的网站静态化的关键点动静分离,解决这个关键点的本质就是为了降低网速对网站加载效率的影响,但是我们在处理动静分离问题时候采取的策略不同会对我们整个网站架构产生重大影响,特别是将网页做好动静拆分后,静态的资源尽力向浏览器端推移