Tomcat

Zabbix——可视化的资源监控解决方案

随声附和 提交于 2020-08-06 07:53:25
Zabbix监控的内容 1.硬件监控   温度   磁盘、主板等故障   待机时间 2.系统监控   CPU 内存   负载   磁盘   内核参数   网卡流量   TCP连接数   进程数   IO   端口采集 3.程序   应用:Nginx、mysql、php、tomcat、redis    业务   业务流量   日志   业务接口 (未完,持续更新) 来源: oschina 链接: https://my.oschina.net/u/4325154/blog/4429024

WebSocket 详解教程

你说的曾经没有我的故事 提交于 2020-08-06 06:31:01
概述 WebSocket 是什么? WebSocket 是一种网络通信协议。 RFC6455 定义了它的通信标准。 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 为什么需要 WebSocket ? 了解计算机网络协议的人,应该都知道:HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。 这种通信模型有一个弊端:HTTP 协议无法实现服务器主动向客户端发起消息。 这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数 Web 应用程序将通过频繁的异步 JavaScript 和 XML(AJAX)请求实现长轮询。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。 因此,工程师们一直在思考,有没有更好的方法。WebSocket 就是这样发明的。WebSocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。WebSocket 只需要建立一次连接,就可以一直保持连接状态。这相比于轮询方式的不停建立连接显然效率要大大提高。 WebSocket 如何工作? Web 浏览器和服务器都必须实现 WebSockets 协议来建立和维护连接。由于 WebSockets

Tomcat部署Web项目的3种方式

让人想犯罪 __ 提交于 2020-08-06 04:15:00
转载自 Tomcat部署Web项目的3种方式 文章目录 一、将war包丢进webapps 二、配置Server.xml部署Web工程 三、添加xml方式部署Web工程 四、注意点 ①将对应位置改为ROOT即可实现目录缺省 ②三种部署方式的优先级别 一、将war包丢进webapps 这是最简单粗暴的方式:将web工程打成war,丢进tomcat/webapps目录即可,tomcat会自动解压。无需修改任何配置文件即可完成部署。 这里我准备了tomcat8.5.43与dubbo控制台的war包来做测试。    ①启动tomcat ②将war丢进webapps目录,tomcat会自动解压该war包。   浏览器直接访问:localhost:8080/dubbo-admin-2.5.10,说明我们的war包部署成功!(访问路径为war包的名称) 二、配置Server.xml部署Web工程 修改配置文件无需我们打war,这样方便开发,结合IDEA自动部署WEB工程至远程服务器(学习笔记)可以实现快速开发。 编辑server.xml 添加如下: <Context docBase="D:\test\dubbo-admin-2.5.10" path="/test" reloadable="false" /> (访问路径为path内容) 通过浏览器访问:localhost:8080/test 三

10 个Linux Awk文本处理经典案例

偶尔善良 提交于 2020-08-06 03:41:14
awk是Linux系统下一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等,应用非常广泛。 基本的命令语法:awk option ‘pattern {action}’ file 其中pattern表示awk在数据中查找的内容,而action是在找到匹配内容时所执行的一系列命令。花括号用于根据特定的模式对一系列指令进行分组。 awk处理的工作方式与数据库类似,支持对记录和字段处理,这也是grep和sed不能实现的。 在awk中,缺省的情况下将文本文件中的一行视为一个记录,逐行放到内存中处理,而将一行中的某一部分作为记录中的一个字段。用1,2,3…数字的方式顺序的表示行(记录)中的不同字段。用$后跟数字,引用对应的字段,以逗号分隔,0表示整个行。 下面根据工作经验总结了10个实用的awk案例,面试笔试题也经常会出,供朋友们参考学习。 1、分析访问日志(Nginx为例) 日志格式: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"' 统计访问IP次数: awk '{a[$1]++}END{for(v in a)print v

Spring Boot 项目瘦身指南,瘦到不可思议!

邮差的信 提交于 2020-08-06 03:40:13
目录: 1.前言 2.瘦身前的Jar包 3.解决方案 一、前言 Spring Boot 部署起来虽然简单,如果服务器部署在公司内网,速度还行,但是如果部署在公网,部署起来实在头疼:编译出来的 Jar 包很大,如果工程引入了许多开源组件( Spring Cloud 等),那就更大了。 这个时候如果想要对线上运行工程有一些微调,则非常痛苦。 二、瘦身前的Jar包 Tomcat 在部署Web工程的时候,可以进行增量更新, Spring Boot 也是可以的~ Spring Boot 编译出来的Jar包中,磁盘占用大的,是一些外部依赖库(jar包),例如:进入项目工程根目录,执行 mvn clean install 命令,得到的Jar包,用压缩软件打开,目录结构如下: 整个Jar包 18.18 MB, 但是 BOOT-INF/lib 就占用了将近 18 MB: 三、解决方法 步骤1: 正常编译JAR包,解压出lib文件夹 POM文件如下: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.johnnian.App</mainClass>

【面试题资源共享】一文总结最高频软件测试|sq|语句|思维发散|计算机基础|Linux|测试用例|接口测试|等技术面试题

孤人 提交于 2020-08-05 19:46:22
思维发散 1.一个球, -把尺子长度是球直径的2/3,怎样测出半径? 2.四枚硬币,花面朝上,每次翻转三个,几次可以将四枚硬币变为字面朝上? 3. U2合唱团在1 7分钟内赶到演唱会现场问题? 4.小明一家过桥,黑夜? 5.一名军官要求24名士兵占成6排? 6.一只笔有什么用途,想象力发散一下? 7.有两根各段都不均匀的绳子,和一个打火机? 8.甲卖铅笔,成本是28元,卖31元。-天乙上甲那买铅笔,给了甲100元,甲没有零钱,于是和丙换了10元的 零钱后找到乙69元。过了一-会,丙说刚才甲和他换的100元是假的,于是甲只好给了丙一张真的100元。问甲 在整个交易中损失了多少? 9.时钟的指针一天内会重合几次? 10.有两个奇怪的村庄A和B,A村的人每周- - -三五说谎,B村的人每周二四六说谎,其他的日子里他们都说真话。 某天有个外地人来到这里,碰到两个人,并分别向他们提出关于日期的问题,两个人都说“前天是我说谎的日 子”。如果这两个人分别来自A和B村,那么这一天最有可能 是星期几? 11.有三顶黑帽子、两顶白帽子.A、B、C三个人在黑暗中分别拿- -顶戴上.开灯后每个人是看不到自己帽子的.A看 了其他两个人之后无法判断自己帽子颜色,于是说不知道: B看了其他两人之后也说自己不知道自己帽子颜色: C本来也判断不出自己帽子颜色,但听了A和B的话后,C说可以判断自己的帽子颜色了.A、B

Jenkins+Maven+SVN快速搭建持续集成环境(转)

≡放荡痞女 提交于 2020-08-05 18:50:01
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。 假设我们目前已经有2个maven项目:entities(JAVA类库),web(Web应用,依赖entities)。 一、安装Jenkins 地址 http://mirrors.jenkins-ci.org/ 下载适合的Jenkins版本。 Windows最新稳定版的Jenkins地址为: http://mirrors.jenkins-ci.org/windows-stable/jenkins-1.409.1.zip https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service 把Jenkins 1.409.1版解压,把得到的war包直接扔到tomcat下,启动tomcat,Jenkins就安装完毕,是不是很简单啊。 redhat系统下安装流程: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions 二、配置Jenkins 1、打开 http://10.3.15.78:8080/jenkins/

除了负载均衡,Nginx 还能干啥?

倾然丶 夕夏残阳落幕 提交于 2020-08-05 18:20:00
1. Nginx简介 1.1 Nginx 概述 NGINX是一个免费、开源、高性能、轻量级的HTTP和反向代理服务器,也是一个电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。 Nginx 因为它的稳定性、丰富的模块库、灵活的配置和较低的资源消耗而闻名 。目前应该是几乎所有项目建设必备。 Nginx由内核和一系列模块组成,内核提供web服务的基本功能,如启用网络协议,创建运行环境,接收和分配客户端请求,处理模块之间的交互。Nginx的各种功能和操作都由模块来实现。Nginx的模块从结构上分为核心模块、基础模块和第三方模块。 核心模块: HTTP模块、EVENT模块和MAIL模块 基础模块: HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块 第三方模块: HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块及用户自己开发的模块 这样的设计使Nginx方便开发和扩展,也正因此才使得Nginx功能如此强大。Nginx的模块默认编译进nginx中,如果需要增加或删除模块,需要重新编译Nginx,这一点不如Apache的动态加载模块方便。如果有需要动态加载模块,可以使用由淘宝网发起的web服务器Tengine,在nginx的基础上增加了很多高级特性

在 Spring Boot 中使用 HikariCP 连接池

送分小仙女□ 提交于 2020-08-05 16:24:12
上次帮小王解决了如何在 Spring Boot 中使用 JDBC 连接 MySQL 后,我就一直在等,等他问我第三个问题,比如说如何在 Spring Boot 中使用 HikariCP 连接池。但我等了四天也没有等到任何音讯,似乎他从我的世界里消失了,而我却仍然沉醉在他拍我马屁的美妙感觉里。 突然感觉,没有小王的日子里,好空虚。怎么办呢?想来想去还是写文章度日吧,积极创作的过程中,也许能够摆脱对小王的苦苦思念。写什么好呢? 想来想去,就写如何在 Spring Boot 中使用 HikariCP 连接池吧。毕竟实战项目当中,肯定不能使用 JDBC,连接池是必须的。而 HikariCP 据说非常的快,快到 Spring Boot 2 默认的数据库连接池也从 Tomcat 切换到了 HikariCP(喜新厌旧的臭毛病能不能改改)。 HikariCP 的 GitHub 地址如下: https://github.com/brettwooldridge/HikariCP 目前星标 12K,被使用次数更是达到了 43.1K。再来看看它的自我介绍。 牛逼的不能行啊,原来 Hikari 来源于日语,“光”的意思,这意味着快得像光速一样吗?讲真,看简介的感觉就好像在和我的女神“汤唯”握手一样刺激和震撼。 既然 Spring Boot 2 已经默认使用了 HikariCP,那么使用起来也相当的轻松惬意

HTTP

早过忘川 提交于 2020-08-05 12:24:53
一 HTTP简介 Hyper Text Transfer Protocol 超文本传输协议 定义了客户端和服务器通信时 发送数据的格式 二 HTTP特点 1. 基于TCP/IP的高级协议 2. 默认端口号80 3. 基于请求/响应模型 一次请求对应一次响应 4. 无状态的 每次请求之间相互独立 不能交互数据 三 请求消息数据格式 原始数据 POST /login.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://localhost/login.html Connection: keep-alive Upgrade-Insecure-Requests: 1 username=zhangsan 1. 请求行 GET