Nginx开启Gzip兼容多层反代
使用docker部署前端时,如果使用了静态资源压缩,则需要在nginx的配置中开启gzip: server { listen 80; server_name localhost; gzip on; gzip_static on; # 需要http_gzip_static_module 模块 gzip_min_length 1k; gzip_comp_level 4; gzip_proxied any; gzip_types text/plain
使用docker部署前端时,如果使用了静态资源压缩,则需要在nginx的配置中开启gzip: server { listen 80; server_name localhost; gzip on; gzip_static on; # 需要http_gzip_static_module 模块 gzip_min_length 1k; gzip_comp_level 4; gzip_proxied any; gzip_types text/plain
Rancher密码忘记了可以通过命令重置: docker exec -it <rancher容器id> reset-password 执行命令就可以看到重置后的密码了,拿到密码登陆后再修改即可。
问题 在NextCloud后台设置连接OnlyOffice时一切正常,并且域名为https, NextCloud域名和OnlyOffice域名均使用nginx代理(使用了宝塔,方便管理),OnlyOffice只对外映射了80端口,证书使用了nginx配置,但是在打开文档时会报错: Refused to frame 'http://office.xxx.com' because itviolates the following Content Security Policy directive: "frame-src 'self' https://demo.
熔断降级 什么是熔断降级 由于调用关系的复杂性,如果调用链路中的某个资源出现了不稳定,最终会导致请求发生堆积。这个问题和 Hystrix 里面描述的问题是一样的。 Sentinel 和 Hystrix 的原则是一致的: 当调用链路中某个资源出现不稳定,例如,表现为 timeout,异常比例升高的时候,则对这个资源的调用进行限制,并让请求快速失败,避免影响到其它的资源,最终产生雪崩的效果。 熔断降级设计理念 在限制的手段上,Sentinel 和 Hystrix 采取了完全不一样的方法。 Hystrix 通过线程池的方式,来对依赖(在我们的概念中对应资源)进行了隔离。这样做的好处是资源和资源之间做到了最彻底的隔离。缺点是除了增加了线程切换的成本,
🍬A set of tools that keep Java sweet. 官网: 👉 https://hutool.cn/ 👈 📚简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当; Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。 🍺Hutool如何改变我们的coding方式 Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”
传统项目处理配置的问题 没有「配置中心」的传统项目中,我们是怎么处理各类配置参数问题的: 1. 静态化配置 大多数在项目配置写在例如 application.propertie,然后将各类 参数配置、应用配置、环境配置、安全配置、业务配置 都写到这个文件里。当项目代码逻辑中需要使用配置的时候,就从这个配置文件中读取。这种做法虽然简单,但如果参数需要修改,就非常的不灵活,甚至需要重启运行中的项目才能生效。 2. 配置文件无法区分环境。 由于配置文件是放在项目中的,但是我们项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置参数理论上都是不同的,所以我们在配置文件中根据不同环境配置不同的参数,这些都是手动维护,
为什么需要服务注册与发现 * 如下图,当 A用户服务调用B订单服务时,一般情况下会使用 httputils 请求 B服务的 IP:port (http://192.168.0.200:8080/xxx) 即可。但是当 B订单服务的网络信息(IP等)发生改变则A对应服务的代码配置也要做对应的修改,增加服务间的耦合性和运维部署的复杂性。 * 如下图, 当A用户服务调用B订单服务时,为了保证B服务(服务提供方)的高可用,我们会对B服务部署多份,然后通过NGINX 反向代理,提供统一的服务地址 。 我们需要根据每个B服务节点的信息,实时维护nginx
一、Harbor简介 * 虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。 * Harbor是由VMware公司开源的企业级的Docker Registry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务。 * 它主要提供 Dcoker Registry 管理界面UI,可基于角色访问控制,镜像复制, AD/LDAP 集成,日志审核等功能,完全的支持中文。 二、Harbor安装 首先需要确保已经安装了docker和docker compose 1.下载安装包 下载最新版离线安装包即可,地址:https://github.com/goharbor/harbor/releases
什么是Elasticsearch? Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有,但它也仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理,因为Lucene 非常复杂。 为了解决Lucene使用时的繁复性,于是Elasticsearch便应运而生。它使用 Java 编写,内部采用 Lucene 做索引与搜索,但是它的目标是使全文检索变得更简单,简单来说,就是对Lucene 做了一层封装,
elasticsearch默认不支持中文分词,需要手动安装。 执行命令进入docker容器,安装分词插件 docker exec -it pce-elasticsearch sh 进入容器后执行如下命令安装ik分词插件 需要注意的是 命令中的版本号要和elasticsearch版本对应 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.