作为一名 Linux 工程师,会写好的脚本不仅能提高工作效率,还能有更多的时间做自己的事。最近在网上冲浪的时候,也注意收集一些大佬写过的脚本,汇总整理一下,欢迎收藏,与君共勉!
类比Windows上的tomcat 启动,通过bin目录下startup.sh脚本来启动tomcat
最近在和安卓开发对接接口,遇到一个接口总是报405错误,有对接经验的开发应该都知道是请求方式不对,假如接口定义为POST请求的,但是客户端却用GET请求,这时候就会报这个错误。Android客户端那边使用xUtils框架请求网络API接口,也是多年的Android开发,对接也是使用post请求过来的,所以初步排查有可能是缓存或者是被代理服务器给转了,为了确定请求的方式和其它业务参数,需要去查看日志验证
1.自己电脑下载好jdk的linux版本传到linux上或者直接用wget命令下载
在windows下,tomcat启动之后有一个黑窗口,很容易看到System.out.println或ex.printStackTrace这样的函数输出,非常方便调试,但是在linux下,没有这样的窗口,所以给我们调试带来了一定难度。
(1)用户猜数字 #!/bin/bash # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了, # 猜小了或猜大了,直至用户猜对脚本结束。 # RANDOM 为系统自带的系统变量,值为 0‐32767的随机数 # 使用取余算法将随机数变为 1‐100 的随机数 num=$[RANDOM%100+1] echo "$num" # 使用 read 提示用户猜数字 # 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于
(15)编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机
CentOS-6.4-minimal版中Apache-2.2.29与Tomcat-6.0.41实现集群 ---------------------------------------------------------------------------------------------------------------------- 本文建立在Apache-2.2.29与Tomcat-6.0.41实现负载均衡的基础上,实现过程详见 http://www.linuxidc.com/Linux/2014-09/107337.htm ---------------------------------------------------------------------------------------------------------------------- 几个术语 1)负载均衡 前端服务器(常常名为"负载均衡器","代理均衡器"或"反向代理")收到HTTP请求后,将请求分发到后端的不止一个"worker"的web服务器,由它们实际处理请求 2)会话复制 会话复制(即常说的Session共享)是一种机制,将客户端会话的整个状态原原本本复制到集群中的两个或多个服务器实例,以实现容错和故障切换功能 3)集群 集群由两个或多个Web服务器实例组成,这些服务器实例步调一致地工作,透明地处理客户端请求,客户端将一组服务器实例认为是单一实体服务 ---------------------------------------------------------------------------------------------------------------------- 几个区别 1)集群有别于分布式的解决方案,它采用的是每台服务器运行相同应用的策略,由负责均衡的服务器进行分流,这可以提高整个系统的并发量及吞吐量 2)由于集群服务需要在处理请求之间不断地进行会话复制,复制后的会话将会慢慢变得庞大,因此它的资源占用率是非常高的 如果在并发量大的应用中,复制的会话大小会变得相当大,而使用的总内存更是会迅速升高 3)集群的会话复制,增加了系统的高可用性,由于在每台服务器都保存有用户的Session信息 如果服务器群中某台宕机,应用可以自动切换到其它服务器上继续运行,而用户的信息不会丢失,这提高了应用的冗错性 4)实践证明,在各应用服务器之间不需要状态复制的情况下,负载均衡可以达到性能的线性增长及更高的并发需求 ---------------------------------------------------------------------------------------------------------------------- 配置集群的Tomcat实例的名称 这里jvmRoute属性值要与workers.properties中设置的节点名相同,该值将做为后缀添加在每个由该结点生成的jsessionid后面 而mod_jk正是根据jsessionid后面的后缀来确定一个请求应由哪一个结点来处理,这也是实现session_sticky的基本保证 [root@CentOS64 app]# vi /app/tomcat1/conf/server.xml (为<Engine/>节点增加jvmRoute属性,属性值为tomcat1) [root@CentOS64 app]# vi /app/tomcat2/conf/server.xml (为<Engine/>节点增加jvmRoute属性,属性值为tomcat2) [root@CentOS64 app]# vi /app/tomcat3/conf/server.xml (为<Engine/>节点增加jvmRoute属性,属性值为tomcat3) ---------------------------------------------------------------------------------------------------------------------- 配置集群参数 0)如果tomcat是放在不同机器上面的 那么直接取消注释tomcat/conf/server.xml中的<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>即可 1)如果tomcat是放在同一机器上面的(参考http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html) 此时就要修改<Cluster/>节点的默认配置,其默认配置如下 <Cluster className="org.apache.catalina.
使用到的工具:xshell(选择自己喜欢的SSH工具都可以的) 一、宝塔面板安装和配置
测试工程师的四大基础技能:数据库、linux、网络协议、测试工具,不管是刚入门还是已经工作多年,这几个方向都是要掌握的。今天我们再讲一下测试工程师必须要掌握的linux命令。
CentOS-6.4-minimal版中Apache-2.2.29与Tomcat-6.0.41实现负载均衡 ---------------------------------------------------------------------------------------------------------------------- 关于负载均衡(Load Balancer)与集群(Cluster)的区别,以及配置方式的不同,详见 http://www.linuxidc.com/Linux/2014-09/107336.htm ---------------------------------------------------------------------------------------------------------------------- 配置负载均衡 本文建立在Apache-2.2.29与Tomcat-6.0.41整合的基础上,整合过程详见 http://www.linuxidc.com/Linux/2014-09/107338.htm
有些时候我们需要查看jvm的运行参数,这个需求可能会存在2种情况: 第一,运行java命令时打印出运行参数; 第二,查看正在运行的java进程的参数;
最近遇到一个流量异常调用的接口,所以需要通过后台日志查看接口调用情况,先统计今天内接口的调用次数,再具体到对应的设备号,就知道哪台设备有问题了,初步想到wc和awk命令来筛选统计,但是真正去写的时候,发现很多写法都不太记得了,所以花了点时间去查手册,找资料,现在整理成博客,方便以后需要就马上统计出来,也分享出来,希望可以帮助需要的人
目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:
上一篇已经讲解了为什么需要Docker?,相信大家已经对Docker有一个简单的认识了。
阅读本文大概需要5分钟 有时候,我们挂在服务器上的应用会因为一些特殊情况挂掉,致使项目经理又对我们说:又挂了!赶紧去看看! 于是有了以下脚本,使用shell编写,用于定时检查应用情况,挂掉则重启。 这里以tomcat为例。 根据以下步骤即可实现: 1.创建并编辑脚本 vim test.sh 2.复制以下脚本内容至.sh文件中 #自动检测某个tomcat状态(w精确匹配 v去除某种进程 awk数据处理 print $2 打印第二列) TomcatID=$(ps -ef |grep -w 'apache-t
使用宝塔Linux安装了Tomcat,然后对Tomcat进行了卸载操作;但是Tomcat依赖的jdk8依然存在于环境中。而这时我需要使用jdk11,所以需要卸载jdk8。
由于Linux在服务器领域应用非常广泛,有很多开源和成熟的软件,目前大多数的应用后台都是部署在linux上的,熟悉Linux操作系统和相关命令,可以加深我们对软件的架构和运行机制的了解,也可以增加自己核心竞争力、拓宽自己的技能栈,从而获得更高的薪水。
此文出处云时代架构,作者:李艳鹏 教你如何成为Java的OOM Killer 前言 虽然事隔半年,当时排查线上OOM事故的过程记忆犹新,每一个步骤都历历在目,感谢业务组、系统部、压测组、监控与应急部对架构组的强力支持,得以让这个Java内存问题水落石出,经过半年多的全面的应用日志 切割方式的改造,现在基本没有OOM的问题了,线上服务运行非常健康,对可用性的保障起到了很大的作用,如果你在经历OOM,读了这个文章会有很大的启发。 Become OOM Killer 我们都知道JVM的内存管理是自动化的,Jav
JVM大家可能都知道是个什么玩意-Java虚拟机,但是到底是个什么鬼?相信即使工作3-5年的程序员可能也不大了解。
这篇短文主要介绍Tomcat的集群和用Nginx反向代理实现Tomcat负载均衡。
本文介绍如何基于Docker和Nginx搭建一个简单的负载均衡环境,并通过在两个CentOS服务器中部署Tomcat,结合Nginx实现负载均衡。具体步骤包括准备宿主机、安装Docker和Nginx,部署Tomcat,以及配置Nginx和访问Tomcat。
JVM大家可能都知道是个什么玩意-Java虚拟机,但是到底是个什么鬼?相信即使工作3-5年的程序员可能也不大了解。 如题所述,今天与大家分享的是如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题。
是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。
This chapter focuses on Tomcat startup using two classes in the org.apache.catalina.startup package, Catalina and Bootstrap. The Catalina class is used to start and stop a Server object as well as parse the Tomcat configuration file, server.xml. The Bootstrap class is the entry point that creates an instance of Catalina and calls its process method. In theory, these two classes could have been merged. However, to support more than one mode of running Tomcat, a number of bootstrap classes are provided. For example, the aforementioned Bootstrap class is used for running Tomcat as a stand-alone application. Another class, org.apache.catalina.startup.BootstrapService, is used to run Tomcat as a Windows NT service.
1、镜像(image) Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
使用最新版的Spring-Boot1.4.0开发完项目后,部署到Linux机器上,其JDK版本是JDK7,启动报错: org/eclipse/jetty/webapp/WebAppContext : Unsupported major.minor version 52.0 由于在spring-boot的pom文件里面使用了jetty依赖: <dependency> <groupId>org.springframework.boot</groupId> <art
上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK对应的二进制发布包,在课程资料中已经提供,如下:
在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP、线程号、访问url、返回状态码、访问时间、持续时间。
安装环境:CentOS7 安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/download-70.cgi
ssh登录远程服务器重启项目(第一次),未等tomcat启动完成,直接访问项目的对应后台管理系统网站,导致网页一直加载不出来,心急又去重复启动项目(第二次),再次访问网页报错:502 Bad Gateway nginx。
tomcat里的几类日志: catalina(catalina.out,catalina.log) localhost manager admin host-manager
本文介绍如何使用S2I技术构建一个基于Tomcat的Java Web应用,并将其部署到OpenShift上。文章首先介绍了S2I的基本概念和工作原理,然后详细描述了如何利用S2I工具快速生成Tomcat镜像,并基于此镜像快速构建一个可运行的Web应用。最后,文章介绍了如何将应用部署到OpenShift上,并给出了在OpenShift上运行Tomcat的详细步骤和示例。
在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的。但是,在系统并发量比较大的情况下,Tomcat 就会出现卡死和自动关闭等问题。如何优化 Tomcat,让它更高效的运行就成了问题,在本次面试题分享中,我将为你解答如何更好的提升 Tomcat 性能。
描述:Apache Tomcat是美国Apache软件基金会的一款轻量级Web应用服务器,该程序实现了对Servlet和JSP的支持。 Tomcat是在Sun公司推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。 Tomcat本身完全用java语言编写,所以tomcat的运行需要java的支持,所以要先安装JDK才能运行;
本文介绍如何使用 inotify 工具来监控 Linux 文件系统事件,并结合 rsync 工具实现文件系统事件的实时同步。首先介绍了 inotify 的基本概念,然后通过一个简单的示例展示了如何在服务器上使用 inotify,并实时监控文件系统事件。当文件系统事件发生时,可以使用 rsync 工具将文件系统事件同步到另一个服务器,从而实现文件系统的实时同步。
初始Jenkins这个词,我记得是17年的10月份,那是在我司的服务器上面看到一个名叫的Jenkins的文件夹。当时我就百度了Jenkins这个词,知道它是基于Java开发的一种持续集成工具。后来也没机会用到Jenkins就逐渐淡出了我的视野。直到现在,我对它的认知也仅仅停留在百度词条。
_NullPointer 出处:https://www.cnblogs.com/renwei/
用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。使用jps时,不需要传递进程号做为参数。
kill命令可将指定的信号发送给相应的进程或工作。kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业.
一、思维导图软件 1.xmind 2.mindmanager 二、Bug管理工具 1.工具原理介绍 2.禅道讲解 3.Bugfree讲解 4.jira 三、HPPT协议 四、抓包工具 1.charles 2.谷歌浏览器开发者工具 3.fiddler 五、常规软件 1.微软office 2.visio 3.cmder 4.switchhosts 5.notepad++ 六、接口工具(熟悉) 1.postman 2.jmeter 七、性能测试工具(初步掌握) 1.jmeter 八、adb 命令 1.基础adb 50个命令 2.adb dumpsys 命令 九、cmd及linux基础20个命令 1.cmd 2.linux 十、monkey 1.参数 2.场景 3.标准 十一、Android LOG讲解 1.log等级 2.异常 十二、自动规化测试工具介绍 1.业界 2.内部
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。
在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。
-- Docker 镜像仓库地址 :一般是 域名或者IP[:端口号]。默认地址是 Docker Hub -- 仓库名 :两段式名称,即 用户名/软件名。对于Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。
昵称:院长 性别:男 爱好:羽毛球,乒乓球,嗨歌,钻研技术 技能:在下方 职位:落魄技术
1.1 JPS (JVM Process Status Tool),查看当前机器上所有JVM进程的状态和启动参数
领取专属 10元无门槛券
手把手带您无忧上云