Tomcat

Tomcat控制台中文乱码问题

不想你离开。 提交于 2020-11-21 04:41:16
新从官网下载的Tomcat7和Tomcat8,在运行的时候都会有乱码的问题,就此发现问题,我们就给它就地正法! 经过初步的分析,问题产生的大概原因是由于Tomcat的log日志模块不识别中文的问题, 我们在Tomcat的目录bin/catalina.bat文件中可以发现 ##Tomcat 7代码大概在195行 if not "%LOGGING_CONFIG%" == "" goto noJuliConfig set LOGGING_CONFIG=-Dnop if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" :noJuliConfig 产生原因: 如果没有设置环境变量“%LOGGING_CONFIG%”值,则到Tomcat根目录下“conf”子目录下的“ logging.properties ”文件中查看日志记录的配置,找到该文件,可发现很多的“encoding = UTF-8”配置项,因此判断是该配置项影响了Tomcat控制台的中文乱码输出 解决方案: 在Tomcat根目录下“conf”子目录下的“

k8s Ingress和ingress控制器

二次信任 提交于 2020-11-21 03:14:44
k8s Ingress和ingress控制器 ingress架构图简介 我们知道service的表现形式为IP:PORT,即工作在第四层传输层(TCP/IP层),那么对于不同的URL地址经常对应用不同的后端服务或者虚拟服务器,这些应用层的转发机制仅通过kubernetes的service机制是无法实现的,这种情况我么可以使用ingress策略定义和一个具体的ingress Controller,两者结合实现一个完整的Ingress 负载均衡,这个负载均衡是基于nginx七层反向代理来实现的,ingress工作原理如下图: 外部客户端通过访问负载均衡器,然后调度到service上,然后在调度到IngressController,IngressController通过Ingress规则(域名或虚拟主机)访问到后端pod,而在Ingress规则当中对应的主机是又service分组来设定的,可以看到,这幅图有2种service,最上面的service是用来对外提供服务的,而下面2个service仅仅是用来分pod组的 ingress安装和配置 在github上下载相关yaml文件 下载mandatory.yaml文件 wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.20.0/deploy

这是我见过最详细的“Docker学习宝典”,阿里云大佬纯手写总结的!

随声附和 提交于 2020-11-20 16:06:44
前言 什么是Docker?对于很多不了解Docker技术的人来说,Docker可能只是一条“蓝色的鲸鱼”。实际上,Docker技术的流行,还是因为开发人员对它的认可。目前,大部分的互联网公司都在使用docker,包括腾讯、京东、美团、新浪等等,腾讯的盖亚,就是基于docker的,可见docker对于一名开发人员的重要性。 学习docker与其他技术是一样的,从基础出发,由浅入深,熟练掌握docker,成为成熟的开发人员,才能更受大厂青睐。 为了让更多的开发人员学习好docker,这份docker学习宝典贡献给大家吧! 当然文章会将这份docker学习宝典的章节目录内容截图展示出来,若你需要完整的pdf版,请添加VX:tkzl6666 免费领取 第一部分:Docker初级技能(基础入门) 1.重新认识Docker与容器 (what?why?Docker与虚拟化) 内容展示 2.Docker核心概念与安装配置 (核心概念+安装Docker引擎+配置Docker服务+推荐实践环境) 3.使用Docker镜像 (获取镜像+查看镜像信息+搜寻镜像+删除和清理镜像+创建镜像+存出和载入镜像+上传镜像) 4.操作Docker容器 (创建容器+停止容器+进入容器+删除容器+导入和导出容器+查看容器+其他容器命令) 5.访问Docker仓库 (Dokcer Hub公共镜像市场+第三方镜像市场

MOOC网站日志分析

可紊 提交于 2020-11-20 08:43:44
网站日志分析是针对万网云虚拟主机存储的日志数据提供的一站式多维度、可视化的一系列数据分析报表,虚机客户可以通过这些分析报表来查看近期站点的流量趋势、洞察站点用户行为、用户地域属性等。 MOOC网站日志分析认证可以帮助学员掌握如何收集用户访问日志,如何对访问日志进行分析,如何利用大数据计算服务对数据进行处理,如何以图表化的形式展示分析后的数据。 关于MOOC网站日志分析的详细内容: Apsara Clouder大数据专项技能认证:MOOC网站日志分析 (本课程是阿里云大学Apsara Clouder大数据专项技能认证:MOOC网站日志分析相关课程,仅能试听免费课时,需购买认证包才能学完全部课时,考取证书。) 课程介绍: 对于网站在运营过程中遇到的一些问题:网站加载内容慢,用户反馈网站样式错乱,网站内容销量不行,网站易发生崩溃等。本认证课程可以帮助学员掌握如何收集用户访问日志,如何对访问日志进行分析,如何利用大数据计算服务对数据进行处理,如何以图表化的形式展示分析后的数据。 学员可以学习到网站日志分析的完整流程,包括: 数据采集(使用服务器容器收集用户访问日志) 数据处理(使用正则表达式从日志中提取有效属性 从IP中提取出城市和运营商信息,如何使用大数据计算服务) 数据展现(使用阿里云Quick BI对数据进行编辑,然后以图表的形式展示) 结果处理(根据分析后的结果提出解决方案)

Tomcat架构解析(五)-----Tomcat的类加载机制

。_饼干妹妹 提交于 2020-11-20 07:30:20
类加载器就是根据类的全限定名(例如com.ty.xxx.xxx)来获取此类的二进制字节流的代码模块,从而程序可以自己去获取到相关的类。 一、java中的类加载器 1、类加载器类别 java中的类加载器主要分为三类: Bootstrap ClassLoader:启动类加载器,负责加载<JAVA_HOME>\lib目录中的class文件; Extension ClassLoader:扩展类加载器,负责加载<JAVA_HOME>\lib\ext路径下的class文件; Application ClassLoader:应用程序类加载器,也称为系统类加载器。负责加载用户路径上所指定的类库,开发者可以直接使用,如果开发者没有自己定义类加载器,一般就是使用此类加载器。 类加载器的层次结构如下: 2、双亲委派模型 要求:除了顶层的启动类加载器之外,其他的类加载器都必须具有父类 解释:如果一个类加载器收到了加载类的请求,首先并不会自己尝试加载这个类,而是将请求委派给父类加载器完成,父类又去委派给其父类,因此最终的请求都到了顶层,若顶层类加载器无法加载,子类再尝试自己加载。 好处:费了这么大劲,到底有啥好处呢? 按照双亲委派模型加载类,会让类首先有一种层次感,或者说是上下级感。最顶层的类加载器只加载<JAVA_HOME>\lib下的class文件,这是jdk的核心所在

支付宝沙箱demo演示

大城市里の小女人 提交于 2020-11-20 03:50:42
沙箱地址 https://sandbox.alipaydev.com/user/accountDetails.htm?currentBar=1 当面付demo https://docs.open.alipay.com/54/104506/ 将demo导入idea 下载签名工具 https://docs.open.alipay.com/291/105971/ 运行: 修改配置文件 zfbinfo.properties # 支付宝网关名、partnerId和appId open_api_domain = https://openapi.alipaydev.com/gateway.do mcloud_api_domain = http://mcloudmonitor.com/gateway.do # 商户id pid = 2088102178133370 # APPID appid = 2016100100640966 # RSA私钥、公钥和支付宝公钥 private_key = MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCbyKmKzr1EacFjP1DL3cTb1AIobLtHOJTExynFtkDkrHlBjdMPVYKjSW5MnyC9A2NjzMcyLLOZSacOm8zA76aE8fT0X4C7vKCKKSIk

docker可视化管理portainer

烂漫一生 提交于 2020-11-19 23:54:34
使用场景一:一台服务上有多个应用,根据需要启动、关闭指定的一个或多个应用。 使用场景二:将开发环境制作成镜像,上线时直接使用镜像快速部署。 这里以场景一为例. 使用的操作系统使centos7.x 1、docker的安装启动关闭 systemctl stop docker.service systemctl start docker.service 2、安装运行docker的可视化管理工具portainer docker search portainer docker pull portainer/portainer docker volume create portainer_data // --privileged=true是授予挂载的权限 // -v前面的目录是宿主机目录,后面的目录是容器内目录 // -p 20000:9000 前面的端口号是外部访问使用的,后面的端口号为容器内部的. // portainer的默认端口为9000 docker run -d --name portainer --privileged=true -p 20000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer 访问http://ip

linux下配置JavaWeb开发环境+vscode配置

不羁的心 提交于 2020-11-19 09:16:11
首先从官方网站下载maven,jdk和tomcat Jdk,Maven和tomcat环境变量配置 通过之前的一篇文章,开发环境下可以直接讲路径写入/etc/profile,执行以下指令即可 echo '#set Java environment'>>/etc/profile echo 'export JAVA_HOME=/root/jdk1.8.0_241'>>/etc/profile # 将java的目录改为自己系统上java的目录 echo 'export PATH=$JAVA_HOME/bin:$PATH'>>/etc/profile echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar'>>/etc/profile echo '#set Tomcat environment'>>/etc/profile echo 'export CATALINA_HOME=/root/apache-tomcat-8.5.53'>>/etc/profile # 将tomcat的目录改为自己系统上tomcat的目录 echo 'export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH'>>/etc/profile echo 'export CLASSPATH=

nginx 500错误分析

非 Y 不嫁゛ 提交于 2020-11-18 20:03:39
在春节时浅橙的接口nginx上偶尔会报500的错误,但tomcat应用日志里找不到什么东西。后来想到有可能不是应用报的错,而是在应用处理之前tomcat就报错了,于是在spring boot中加上了tomcat的访问日志。几天后,发现了这个错 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4542552a rejected from java.util.concurrent.ThreadPoolExecutor@a3464b4[Running, pool size = 10 , active threads = 10 , queued tasks = 0 , completed tasks = 43433 ] 看起来是线程池的问题,而且是业务逻辑进入处理之前出的问题,业务逻辑的总入口是 * 浅橙请求我方api接口封装 * * @Description * * @author <a href="changjunhui8173@adpanshi.com"

Nginx 配置实例-动静分离

烂漫一生 提交于 2020-11-18 14:51:19
概述: Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和 静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面。 动静分离从目前实现角度来讲大致分为两种, 一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案; 另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。 通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使 浏览器缓存过期时间,减少与服务器之前的请求和流量。 具体 Expires 定义:是给一个资 源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可, 所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件, 不建议使用 Expires 来缓存),我这里设置 3d,表示在这 3 天之内访问这个 URL,发送 一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304,如果有修改,则直接从服务器重新下载,返回状态码 200。 实验代码: 1. 在linux中准备静态资源 1.1 创建静态资源文件夹 [root@VM-0-7-centos static]# pwd /usr/local