Nginx实现动静分离配置
在传统的 Web 架构中,如果将图片、CSS、JS 等静态资源和 API 接口请求全部交给后端的 Tomcat、SpringBoot 或 PHP 处理,会造成极大的资源浪费。因为后端服务器更擅长处理复杂的业务逻辑,而不是通过 IO 读取静态文件。 什么是动静分离? 动:动态请求(如 JSP, PHP, API 接口),交给后端应用服务器(Tomcat/uWSGI 等)处理。 静:静态资源(如 HTML, CSS, JS, Images),由 Nginx 直接从磁盘读取返回,不再经过后端。 核心优势: 减轻后端压力:后端只专注于业务逻辑,不再处理繁琐的静态文件 IO。 提升访问速度:Nginx 处理静态文件的并发能力是 Tomcat 的数倍,且配合 Gzip 和缓存,加载速度飞快。 架构示意图12345678910🌐 用户浏览器│▼🚀 Nginx (端口 80/443)│├── ⚙️ 动态分流 (匹配 /api, .jsp)│ └── ➡️ 转发至 Tomcat:8080│└── 🖼️ 静态分流 (匹配 .jpg, .css, .js) └── ...
ansible基础常用模块
异步模式async:参数值代表了这个任务执行时间的上限值。即任务执行所用时间如果超出这个时间,则认为任务失败。此参数若未设置,则为同步执行。poll:参数值代表了任务异步执行时轮询的时间间隔,另外,如果poll为0,就相当于一个不关心结果的任务 123456789101112[root@ceshi-128 playbook]# cat http.yml ---- hosts: all user: root gather_facts: false tasks: - name: yum yum: name: httpd state: installed async: 60 超时时长60秒 poll: 0 无结果执行 任务委托比如批量执行任务,但需要某台机器去干别的事情delegate_to 语句来在另一台主机上运行task举例: 批量安装httpd服务,但在某一台机器安装mariadb 123456789101112131415[root@ceshi-128 playbook]# cat http.yml ---- hosts: al...
Hexo基础常用命令
init 初始化网站1hexo init [folder] 如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站。 new 新建文章1hexo new [layout] <title> 如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 选项 描述 -p, –path 文章的路径。 自定义文章的路径 -r, –replace 如果存在的话,替换当前的文章 -s, –slug 文章别名。 自定义文章的 URL generate 生成静态文件1hexo generate 选项 描述 -d, –deploy 生成完成后部署 -w, –watch 监视文件变动 -b, –bail 生成过程中如果发生任何未处理的异常则抛出异常 -f, –force 强制重新生成 -c, –concurrency 要同时生成的文件的最大数量。 默认无限制 server 启动服务1hexo server 启动服务器。 默认情况下,访问网址为: http://localh...
weblogic漏洞修复打补丁
序号 漏洞名称 加固建议 1 Oracle Fusion Middleware Oracle WebLogic Server组件安全漏洞(CVE-2017-10352) http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html 2 Oracle Fusion Middleware和Oracle WebLogic Server 输入验证错误漏洞(CVE-2021-35617) https://www.oracle.com/security-alerts/cpuoct2021.html 3 Oracle WebLogic Server 安全漏洞(CVE-2023-21996) https://www.oracle.com/security-alerts/cpuapr2023.html … 补丁文件下载根据提示直接找最新的,官方补丁状况都是包含老补丁持续兼容更新 查找属于weblogic server 对应的内容 oracle weblogic server选择...
weblogic开启https
JSK证书生成生成密钥库和证书使用Java的keytool命令来生成一个Java密钥库(Keystore)和证书。keytool是Java开发工具包(JDK)中用于管理密钥库和证书的命令行工具。 1234567891011121314151617181920212223242526272829303132#创建证书存放目录[weblogic@osb1 jksHL]$ mkdir -p /home/weblogic/Oracle/jksHL#生成证书[weblogic@Weblogic201 jksHL]$ keytool -genkey -alias weblogic -keyalg RSA -keypass keypass -keystore identity.jks -storepass storepass -validity 3650#姓氏What is your first and last name? [Unknown]: LiuJiangxu #组织单位What is the name of your organizationalunit? [Unknown]:...
Elasticsearch8.11集群部署
集群就是多个node统一对外提供服务,避免单机故障带来的服务中断,保证了服务的高可用,也因为多台节点协同运作,提高了集群服务的计算能力和吞吐量。ES是一个去中心化的集群,操作一个节点和操作一个集群是一样的,任何一个节点出现故障都不会影响其他节点 安装ESES下载地址 目录结构 说明 bin 可执行脚本文件 config 配置文件 jdk es自带的jdk文件 lib 类库 logs 日志 modules 模块 plugins 插件位置 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112...
Elasticsearch基础优化
分片策略分片和副本得设计为ES提供支付分布式和故障转移得特性,但不意味着分片和副本是可以无限分配,而且索引得分片完成分配后由于索引得路由机制,不能重新修改分片数(副本数可以动态修改) 一个分片得底层为一个lucene索引,会消耗一定文件句柄、内存以及CPU运转,当分片数越多资源消耗就会更多 每个搜索请求都需要命中索引中得每个分片,如果分片处于不同节点还好,但如果处于相同节点上竞争使用相同资源就导致性能降低 控制每个分片占用磁盘容量不超过ES得最大JVM堆空间设置(一般不超过32G),因此如果索引得总容量在500G左右,那么分片大小在16个左右即可 考虑node数量,一般一个节点有时就是一台物理机,如果分片数量过多,大大超过节点数,可能会导致一个节点上存在多个分片,一旦该节点故障,即使保持1个以上得副本,同样有可能会导致数据丢失,一般设置分片数不超过节点数得3倍 主分片,副本和节点最大数之间数量 节点数<=主分片数*(副本数+1) 推迟分片分配对于节点瞬时中断得问题,默认情况,集群会等待一分钟来查看节点是否重新加入,如果节点再次期间重新加入,重新加入得节点会保持...
Elasticsearch基础条件查询
条件查询query:查询match:匹配match_all:匹配所有 123456789101112131415161718192021#第一种GET /shopping/_search?q=名字:张三#第二种GET /shopping/_search{ "query": { "match": { "名字": "张三" } }}#全量查询 match_allGET /shopping/_search{ "query": { "match_all": { } }} 分页查询from开始计算公式:(页码-1) * 每页数据条数from:表示从第几行开始size:表示查询多少条文档 12345678910111213141516171819202122#查询从0行开始GET /shopping/_search...
Elasticsearch基础增删改查
Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档 倒排索引正排(正向)索引: ID content 01 my name is zhangsan 02 my name is lisi 倒排索引: keyword ID name 01,02 zhang 01 创建索引创建索引等同于创建数据库PUT具有幂等性,再次相同数据增加会报错 查询索引&删除GET 获取信息GET /shopping 1234#获取所有索引得详细信息GET /_cat/indices?v#删除当前索引DELETE /shopping 文档创建POST非幂等性 1234567891011121314#根据索引创建文档内容POST /shopping/_doc{ "名字": "张三", "年龄": 30, "职业": "工程师", "邮箱": "zhangsan@exa...
docker基于静态路由实现跨宿主机访问
原理与背景在默认情况下,Docker 安装在不同宿主机上时,默认网桥 docker0 的网段通常都是 172.17.0.1/16。这就导致了两个问题: IP 冲突:不同主机上的容器 IP 可能完全一样。 路由不可达:宿主机 A 不知道宿主机 B 的容器网段在哪里,数据包出了宿主机网卡就被丢弃了。 实现原理:本方案的核心思想是**“直连路由”**。 规划网段:手动修改每台宿主机 Docker 的默认网段,保证互不冲突。 添加路由:在宿主机 A 上添加一条静态路由规则,告诉操作系统:“如果你想访问 B 主机的容器网段,请把数据包发给 B 主机的 IP 地址”。 前提条件:宿主机 A 和 宿主机 B 必须在同一个物理网络(或二层网络)中,且宿主机之间可以互通。 环境准备准备两台 Linux 服务器,确保它们之间可以 Ping 通。 主机名 宿主机 IP (eth0) 规划 Docker 网段 (docker0) Node-1 192.168.1.100 172.17.1.1/24 Node-2 192.168.1.101 172.17.2.1...










