org.apache.coyote.Request和org.apache.coyote.Response 在Acceptor接收到一个socket之后,在JIoEndpoint的processSocket方法中这个socket被包装成SocketWrapper [html] view plaincopyprint? protectedbooleanprocessSocket(Socketsocket){ //Processthereq...
如下图所示,Tomcat服务器主要有两大核心模块组成:连接器和容器,本节只分析连接器的实现。 连接器主要是接收用户的请求,然后封装请求传递给容器处理,tomcat中默认的连接器是Coyote.首先来看连接器的类图: protocol 我们发现这个类里面有很多与protocol...
Wrapper 代表一个 Servlet,它负责管理一个 Servlet,包括的 Servlet 的装载、初始化、执行以及资源回收。它的父容器一般是Context,Wrapper 是最底层的容器,它没有子容器了,所以调用它的 addChild 将会抛illegalargumentexception。Wrapper 的实现类是 St...
类装载器 JDK中提供了3种不同的类加载器:启动类装载器,扩展类装载器和系统类装载器。引导类装载器,用于引导启动JAVA虚拟机,当执行一个JAVA程序时,就会启动引导类装载器,它是使用本地代码来实现的,会装载%JAVA_HOME%\\jre\lib\rt.jar,它是所有类装载...
容器主要负责处理来自客户端的请求,并把响应结果返回给客户端。前面提到一个Service是由一个容器和多个连接器组成的,接口org.apache.catalina.Container是对容器的抽象,来看看这个接口中都有哪些方法? 1、与容器层次结构有关的方法 [html] view plaincop...
Enginetomcat engine是一个完整的Servlet容器,其下面拥有多个虚拟主机,它的责任就是将用户请求分配给一个虚拟上机处理。接口Engine代表一个Servlet引擎,其实现类是StandardEngine,先来看看构造方法 [html] view plaincopyprint? publicStandardEngine(){...
同HostConfig一样,ContextConfig也是在Digester解析server.xml的时候添加到StandardContext上的监听器,ContextConfig主要是处理web应用的配置文件,先看看它的init方法做了哪些事? protected void init(){ //CalledfromStandardContext.init() Digesterco...
context 一个context代表一个web应用,它运行在特定的虚拟主机中,每个web应用要么是一个war文件,要么是一个符合规范的目录。一般HTTP请求路径中带有requestURI,我们可以从requestURI中获取上下文路径,根据上下文路径可以选择适合的web应用程序来处理这个...
引言 tomcat中一个Host代表一个虚拟主机,一个虚拟主机上可以有多个应用。Host的默认实现是StandardHost,它的pipeline有两个阀门:ErrorReportValve和StandardHostValve。前者负责选择context来处理用户请求,后者负责处理错误信息。本文主要讲解host容器部...
什么是HostConfig HostConfig实现了LifecycleListener接口,因此它是一个监听器,这个监听器的作用是部署应用。那么这个监听器是加在哪个组件上的呢?是何时被添加的呢?我们知道,在Catalina容器启动过程中会加载server.xml配置文件,这是通过Digester库来...
我一直在使用的一台测试用VMware虚拟机,其原来只有8G的磁盘大小,可最近因数据太多,导致空间不够。因不想重装系统, 决定在保留原有数据的情况下,对其进行扩容。 该扩容方法也适合于在现实环境中,即单个物理磁盘仍有剩余空间用于扩大原分区的情况(有点...
场景说明:我的主机是windows7, 虚拟机是wmware,里面装的是linux-ubuntu10.04版本。 虚拟机的磁盘分区不够,想扩容。 1) 首先进入vm中的linux,sudo fdisk -l 列出磁盘的情况 Disk /dev/sda : 10.7 GB , 10737418240 bytes 255 heads, 63 sectors/track,...
两个问题, 1)spinlock的实现原理是? a. 在用户态尝试竞争一个共享资源. 如果竞争不到, 则不断尝试竞争. 但是不借助内核提供的mutex等变量机制. 因为涉及到内核,就意味这效率低下. b. 要想在用户态实现竞争一个共享资源, 必须借助cpu提供的原子操作指令. 如果...
自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,自旋一词就是因此而得名。 由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必...
Graphite 只是一个数据绘图工具,安装 Graphite完以后啥也不能干,需要其他工具喂它数据,所以具体的数据采集工作是由第三方工具完成,Graphite 的设计体现了 Unix 的思想:只做一件事,把事情做好。Graphite 支持的第三方工具很多,Bucky, collectd, Collec...
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等 Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及...
Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以...
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix 由2部分构成, zabbix server 与可...
Hawt IO 是一个新的可插入式 HTML5 面板,设计用来监控 ActiveMQ, Camel, Karaf, Fuse Fabric, Tomcat 和其他系统。可通过其提供的一堆插件提供额外的监控。...
Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息! 它类似于sar,能监控和收集服务器和关键应用的信息,支持实时终端显示和...
MRTG(Multi Router Traffic Grapher)是一套可用来绘出网络流量图的软件,由瑞士奥尔滕的Tobias Oetiker与Dave Rand所开发,此软件以GPL授权。 下面是网卡流量监控图 MRTG最早的版本是在1995年春天所推出,以Perl所写成,因此可以跨平台使用,它利用了SNMP...
collectd是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。 当系统运行和存储信息的时候,Collectd会周期性统计系统的相关统计信息。那些信息可以用来找到当前系统性能瓶颈。(如作为性能分析 performan...
正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容...
这里做了些基准测试表明nginx打败了其它的轻量级的web服务器和代理服务器,同样也赢了相对不是那么轻量级的产品。 有人说这些基准测试是不准确的,因为在这样那样的环境下,做的比较不一致。我倾向同意基准测试只是告诉了我们其中一部分情况,你能做的是消除...
Eclipse的安装 http://java.sun.com/javace/downloads/index.jsp 下载: Jdk-6u17-linux-i586.bin http://www.eclipse.org/downloads 下载: Eclipse-SDK-3.14-linux-gtk.tar.gz http://www.eclipse.org/cdt/download.php cdt-master-5.0.0.zip eclipse的安装...
VirtualBox是一款SUN出品的非常优秀的虚拟机程序,版本也非常齐全,你可以在官网上找到适合各种操作系统平台的版本。 这里我先给大家大致讲解下VBox的网络配置及应用。 VirtualBox的提供了四种网络接入模式,它们分别是: 1、NAT 网络地址转换模式(NAT,Netwo...
Nginx 配置里头的正则表达式写法很强大。 之前我们常用,过滤站点某个存放静态文件(jpg,gif,html..)目录写法是: location ~ ^/images/ { root /data/web_server/gznow; expires 4d; } 然后如果该站点目录下还有个存放 css 文件的目录,我们就要再写一次.....
一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。 http { upstream myproject { server 127.0.0.18000 weight=3; server 127.0.0.18001; server 127.0.0.18002; server 127.0.0.18003; } server { listen 8...
1 Docker 是什么? -1.1 容器是什么? -2 安装 Docker -2.1 启动 docker 守护进程 -3 ...
使用场景 最近,报告查询系统负载均衡集群相关配置已经完成,两种实现方式分别是基于E...
当你执行 nginx -t 得时候,nginx会去测试你得配置文件得语法,并告诉你配置文件是否...
本文将介绍一些SSL安全性的配置,以此提升网站的安全等级。先给出本博客的SSL配置: s...
Step 1:安装配置JDK 1.下载JDK rpm包 下载地址:http://www.oracle.com/technetwork/...
问题现象: 我们有时候会遇到ssh连接服务器的时候非常慢,经常是要等30秒以上,甚至更...