Tomcat

使用 Nginx 部署前后端分离项目,解决跨域问题

岁酱吖の 提交于 2020-10-29 04:28:47
前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览( 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ),然后群里就有小伙伴想让松哥来聊聊如何结合 Nginx 来部署前后端分离项目?今天我们就来聊一聊这个话题。 不得不说的跨域 很多人对前后端分离部署感到困惑,其实主要是困惑跨域问题怎么解决。因为前后端分离项目在开发的时候,前端通过 nodejs 来运行,需要一个单独的端口,后端通过 Tomcat 或者 Jetty 来运行,也需要端口,两个不同的端口,就造成了跨域。 但是松哥之前多次和大家聊过这个问题,这种跨域并不是我们传统开发中真正的跨域,这个所谓的跨域只在开发环境中存在,生产环境下就不存在这个跨域问题了。所以我们不能按照以往的通过 JSONP 或者 CORS 之类的手段来解决这个跨域问题。 前后端分离开发中,前端为了能够模拟出测试数据,并且模拟出请求,一般需要借助于 nodejs 来运行,这是开发时候的状态,开发时候的配置大家可以参考这篇文章: 前后端分离历险记 等开发完成后,我们会对前端项目编译打包,编译打包完成之后,就只剩下一堆 js、css 以及 html 文件了,我们把这些编译打包后的文件拷贝到后端项目中,这样再去运行就不存在跨域问题了(例如将编译打包后的静态文件拷贝到

报表中的地图怎么做?

独自空忆成欢 提交于 2020-10-28 18:07:26
在地图上展现地域相关的数据,是在公共设施管理、交通、电信、城市建设、能源、电力、农业等国民经济相关的应用系统中是比较常见的直观图表形式。以前,如果在报表应用系统中需要显示地图相关的信息,开发人员可能会第一时间想到 GIS(Geographic Information Software 地理信息软件),但是 GIS 的体系较大,需要开发人员定义 GIS 中被执行的各种任务,开发相应的处理程序。 熟练的操作人员甚至还需要克服 GIS 软件功能的不足。事实上,如果只是想做个地图显示数据,完全不必要用这么大的牛刀哦! 现在 echarts 这个小鲸鱼做地图数据呈现可以帮助我们轻松做出地图数据呈现,而润乾报表则将 echarts 脚本集成到了设计器下,在根据类别选好要做的地图模板后,通过设置下几个参数,一个数据地图就轻松完成了。 我们先来看几个润乾内置的 echarts 地图效果吧! 怎么样,是不是很酷炫?下面我们再通过一个例子,看看如此酷炫的地图是不是还需要那么复杂步骤…… 1、数据准备 连接数据源,新建报表,增加数据集。不论数据集是采用哪种方式得到的,最终整理好后的数据都应该是下面的格式。哈哈,不用紧张,字段名可以不一样哟。 注意:第二个字段城市的名字,省份的名字中一定不要出现省市的字样,例如:北京,不要写成北京市;黑龙江,不要写成黑龙江省,否则

Nginx 负载均衡搭建

梦想与她 提交于 2020-10-28 13:25:42
配置文件Nginx/conf/nginx.conf 什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。 针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。 负载均衡的种类 1)一种是通过硬件来进行解决,常见的硬件有NetScaler、F5、Radware和Array等商用的负载均衡器,但是它们是比较昂贵的 2)一种是通过软件来进行解决的,常见的软件有LVS、Nginx、apache等,它们是基于Linux系统并且开源的负载均衡策略. 负载均衡的功能: 转发 故障移除 恢复添加 高可用 Ha 我们想要使用Nginx那么就必须满足上面的四个条件. 我们配置负载均衡的目的是在于当用户访问我们的服务器的时候, 首先会通过 Nginx服务器来决定转发到哪个Tomcat服务器上去给用户提供服务, 当然这个概率是我们通过权重来配置的.

Mybatis-Spring扫描路径有重叠导致Invalid bound statement(not found)问题

人盡茶涼 提交于 2020-10-28 13:23:48
背景 近日,某个系统的测试环境mybatis总是报 Invalid bound statement(not found) 异常,导致tomcat容器无法启动。异常信息如下: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.management.dao.IssueDao.countByCid at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227) at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49) at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58) at com.sun.proxy.$Proxy126.countByCid(Unknown Source) at com.xxx.management.service

nginx和tomcat的负载均衡

元气小坏坏 提交于 2020-10-28 12:47:22
对于tomcat的搭建就不详细介绍了。 nginx的安装 对于nginx的版本,看个人喜好来安装,我装的是1.9.9 wget http://nginx.org/download/nginx-1.9.9.tar.gz 添加相应的用户 useradd www 名字可以自己随意起,不过为了接地气用www 解压nginx的包 tar -xvzf nginx-1.9.9.tar.gz cd nginx-1.9.9/ 编译安装 注意这里的user要和之前创建的用户名称相对应 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make && make install 6. 安装完毕 通过 /usr/local/nginx/sbin/nginx -t 测试nginx的安装是否成功 ``` nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 出现上面的消息,即成功

Spring Boot修改Tomcat配置

冷暖自知 提交于 2020-10-28 10:04:08
Spring Boot框架默认使用自动嵌入的Tomcat,可以在配置文件中修改Tomcat的一些参数,具体如下: server. Port = xxxx server. Address = server. contextPath = server. displayName = server. servletPath = server. contextParameters = server. useForwardHeaders = server. serverHeader = server. maxHttpHeaderSize = server. maxHttpPostSize = server. connectionTimeout = server. session.timeout = server. session.trackingModes = server. session.persistent = server.session.storeDir = server.cookie. name = server.cookie. domain = server.cookie. path = server.cookie. comment = server.cookie. httpOnly = server.cookie. secure = server.cookie. maxAge

如何配置Spring Boot Tomcat

我与影子孤独终老i 提交于 2020-10-28 09:41:59
点击左上角,关注:“锅外的大佬” 专注分享国外最新技术内容 帮助每位开发者更优秀地成长 1.概述 Spring Boot Web应用程序默认包含预配置的嵌入式Web服务器。但在某些情况下,我们要 修改默认配置 以满足自定义要求。 在本教程中,我们将介绍通过 application.properties 文件配置Tomcat嵌入式服务器的一些常见用例。 2.常见的嵌入式Tomcat配置 2.1. 服务器地址和端口 我们希望更改的最常见配置是端口号 : server . port = 80 如果我们不提供 server.port 参数,则默认设置为 8080 。 在某些情况下,我们可能希望设置服务器应绑定的网络地址。换句话说,我们定义一个 服务器将监听的IP地址 : server . address = my_custom_ip 默认情况下,该值设置为 0.0.0.0 ,允许通过所有IPv4地址进行连接。设置另一个值,例如localhost - 127.0.0.1 - 将使服务器更具选择性。 2.2. 错误处理 默认情况下,Spring Boot提供标准错误网页 。此页面称为 Whitelabel 。它默认启用,但如果我们不想显示任何错误信息,我们可以禁用它: server . error . whitelabel . enabled = false Whitelabel 的默认路径是

Java程序员非要进大厂才能拿到年薪50W+?

余生颓废 提交于 2020-10-28 08:42:29
不想当将军的兵不是好兵,就程序猿不想当架构师就不是好的程序员! Java架构师主要需要做哪些工作呢? 1、负责设计和搭建软件系统架构(平台、数据库、接口和应用架构等),解决开发中各种系统架构问题。 2、优化现有系统的性能,解决软件系统平台关键技术问题攻关、核心功能模块设计、核心代码开发。 3、在项目需求不断细化的工程中校正整体的架构设计,以及详细模块拆分设计。 4、营造技术学习氛围,带领团队不断完善开发开发方法及流程,提升开发效率与质量,加强技术标准及规范。 5、带领团队攻克例如大数据量、高并发、高稳定性等带来的各种挑战及技术难关。 6、责任心强,有团队合作精神,工作认真负责高效并具有一定抗压能力。 7、参与讨论公司产品发展方向,完整的规划和把握产品研发架构。 Java架构师要学习哪些知识呢? 希望以下的学习路线能对你有帮助 并发编程 JAVA内存模型(JMM) java当中的线程通讯和消息传递 什么是重排序和顺序一致性?Happens-Before?As-If-Serial? Synchronized的概念和分析 同步、重量级锁以及Synchronized的原理分析 自旋锁、偏向锁、轻量级锁、重量级锁的概念、使用以及如何来优化他们 Volatile和DCL的知识 Volatile的使用场景和Volatile实现机制、内存语义、内存模型 DCL的单例模式,什么是DCL

容器日志管理的最佳实践

余生颓废 提交于 2020-10-28 08:21:58
摘要:本文以 Docker 为例,依托阿里云日志服务团队在日志领域深耕多年积累下的丰富经验,介绍容器日志处理的一般方法和最佳实践。 背景 自 2013 年 dotCloud 公司开源 Docker 以来,以 Docker 为代表的容器产品凭借着隔离性好、可移植性高、资源占用少、启动迅速等特性迅速风靡世界。下图展示了 2013 年以来 Docker 和 OpenStack 的搜索趋势。 容器技术在部署、交付等环节给人们带来了很多便捷,但在日志处理领域却带来了许多新的挑战,包括: 如果把日志保存在容器内部,它会随着容器的销毁而被删除。由于容器的生命周期相对虚拟机大大缩短,创建销毁属于常态,因此需要一种方式持久化的保存日志; 进入容器时代后,需要管理的目标对象远多于虚拟机或物理机,登录到目标容器排查问题会变得更加复杂且不经济; 容器的出现让微服务更容易落地,它在给我们的系统带来松耦合的同时引入了更多的组件。因此我们需要一种技术,它既能帮助我们全局性的了解系统运行情况,又能迅速定位问题现场、还原上下文。 日志处理流程 本文以 Docker 为例,依托阿里云日志服务团队在日志领域深耕多年积累下的丰富经验,介绍容器日志处理的一般方法和最佳实践,包括: 容器日志实时采集; 查询分析和可视化; 日志上下文分析; LiveTail - 云上 tail -f。 容器日志实时采集 容器日志分类

很多未解之谜终于有答案了——2018年JVM生态系统报告出炉

随声附和 提交于 2020-10-28 07:48:24
很多未解之谜终于有答案了——2018年JVM生态系统报告出炉 在Java开发者中,一直存在着很多鄙视链。如: IntelliJ → Eclipse → NetBeans Unix → Linux → Mac OS→ Windows → DOS Emacs → Vim → Sublime → Word → Power Point 这诸多鄙视链中一直存在着很大的争议 也正是存在诸多争议,导致很多开发者更加迷茫 到底选择IntelliJ还是Eclipse? Java 11 出来了,我要不要升级? 听说SSH过时了?那Hibernate还要不要学了? Git和SVN,Maven和Gradle,到底如何选? 我今年30岁了,还要继续做开发吗? 笔者无法给出明确的答案,只能给你一些建议。 近日,SNYC出炉了一份2018年JVM生态系统报告 涉及到了很多一直困扰广大Javaer的问题 让我们一起来看一下 全世界的广大开发者是如何解决这些世纪难题的? 生产环境中主要使用哪个厂商提供的JDK 很多厂商都提供了自己的JDK实现,到底哪个厂商提供的JDK更受开发者青睐呢,调查发现,Oracke JDK以70%的绝对优势占据了主导地位。 生产环境中主要使用哪个版本的Java SE 目前,Java SE 官方版本已经更新到了 Java 11,但是,光大开发者主要使用的版本是哪个呢? 调查结果显示,80