nginx

ansible-任务控制tags

一曲冷凌霜 提交于 2021-01-18 12:31:12
1. ansible-任务控制tags介绍 如果你有一个大型的剧本,那么只能运行它的特定部分而不是在剧本中运行所有内容可能会很有用。因此,Ansible支持“tags:”属性。 执行playbook时,可以通过两种方式根据 “tags” 过滤任务 在命令行上,使用或选项“--tags或 --skip-tags ” 在ansible配置设置中,使用和选项“TAGS_RUN 或 TAGS_SKIP”   标签可以应用于Ansible中的许多结构(参见下面的“标签继承”),但最简单的用途是单独的任务。以下是使用不同标记标记两个任务的示例: 1 tasks: 2 - yum: 3 name: " {{ item }} " 4 state: present 5 loop: 6 - httpd 7 - memcached 8 tags: 9 - packages 10 11 - template: 12 src: templates/ src.j2 13 dest: /etc/ foo.conf 14 tags: 15 - configuration    如果您只想运行一个非常长的剧本的“配置”和“包”部分,您可以在命令行上使用该选项:--tags 1 ansible-playbook example.yml --tags " configuration,packages "    另一方面

鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优

心不动则不痛 提交于 2021-01-18 12:11:20
1.1 CPU与内存子系统性能调优简介 调优思路 性能优化的思路如下: l 如果CPU的利用率不高,说明资源没有充分利用,可以通过工具(如strace)查看应用程序阻塞在哪里,一般为磁盘,网络或应用程序的业务处理中存在休眠或信号等待,这些优化措施在后续其它章节描述。 l 如果CPU利用率高,通过优化软件硬件的配置参数来更好适配业务场景,减少CPU占用率,让整个系统有更多的CPU时间来处理业务。 我们也可以选择更好的硬件,根据CPU的能力配置合适的内存条,建议内存满通道配置,发挥内存最大带宽:一颗鲲鹏920处理器的内存通道数为8,两颗鲲鹏920处理器的内存通道数为16;建议选择高频率的内存条,提升内存带宽:鲲鹏920在1DPC配置时,支持的内存最高频率为2933MHz。 主要优化参数 优化项 优化项简介 默认值 生效范围 鲲鹏916 鲲鹏920 优化应用程序的NUMA配置 在NUMA架构下,CPU core访问临近的内存时访问延迟更低。将应用程序绑在一个NUMA节点,可减少因访问远端内存带来的性能下降。 默认不绑定核 立即生效 yes yes 修改CPU预取开关 内存预取在数据集中场景下可以提前将要访问的数据读到CPU cache 中,提升性能;若数据不集中,导致预取命中率低,则浪费内存带宽。 on 重启生效 no yes 调整定时器机制 nohz机制可减少不必要的时钟中断

Nginx+Tomcat 实现负载均衡、动静分离群集配置

做~自己de王妃 提交于 2021-01-18 11:01:11
文章目录 一、Nginx 负载均衡实现原理 二、Nginx 动静分离实现原理 三、Nginx + Tomcat 动静分离、负载均衡配置步骤 1、部署 Nginx 负载均衡服务器 2、部署两台 Tomcat 应用服务器 3、动静分离配置 一、Nginx 负载均衡实现原理 1、Nginx 实现负载均衡是通过反向代理实现 2、Nginx 配置反向代理的主要参数 (1)、upstream 服务池名 {} 配置后端服务器池,以提供响应数据 (2)、proxy_pass http:// 服务池名 配置将访问请求转发给后端服务器池的服务器处理 3、反向代理原理 二、Nginx 动静分离实现原理 1、动静分离原理 服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由 Nginx 提供服务,动态资源由 Nginx 转发至后端。 2、Nginx 静态处理优势 Nginx 处理静态页面的效率远高于 Tomcat 的处理能力 若 Tomcat 的请求量为1000次,则 Nginx 的请求量为6000次 Tomcat 每秒的吞吐量为0.6M,Nginx 的每秒吞吐量为3.6M Nginx 处理静态资源的能力是 Tomcat 处理的6倍 三、Nginx + Tomcat 动静分离、负载均衡配置步骤 环境准备: Nginx 服务器:192.168.200.30 Tomcat 服务器1:192

解决Tengine健康检查引起的TIME_WAIT堆积问题

僤鯓⒐⒋嵵緔 提交于 2021-01-18 10:39:44
简介: 解决Tengine健康检查引起的TIME_WAIT堆积问题 一. 问题背景 “服务上云后,我们的TCP端口基本上都处于TIME_WAIT的状态”、“这个问题在线下机房未曾发生过” 这是客户提交问题的描述。 客户环境是自建Tengine作为7层反向代理,后端接约1.8万台NGINX。Tengine上云之后,在服务器上发现大量的TIME_WAIT状态的TCP socket;由于后端较多,潜在可能影响业务可用性。用户对比之前的经验比较担心是否可能是接入阿里云之后导致,所以希望我们对此进行详细的分析。 注:TIME_WAIT状态的监听带来的问题在于主机无法为往外部的连接请求分配动态端口。此时,可以配置net.ipv4.ip_local_port_range,增加其端口选择范围(可以考虑 5000 - 65535),但依然存在 2 MSL 时间内被用完的可能。 二. TIME_WAIT原因分析 首先,如果我们重新回顾下TCP状态机就能知道,TIME_WAIT状态的端口仅出现在主动关闭连接的一方(跟这一方是客户端或者是服务器端无关)。当TCP协议栈进行连接关闭请求时,只有【主动关闭连接方】会进入TIME_WAIT状态。而客户的顾虑也在这里。 一方面,健康检查使用 HTTP1.0 是短连接,逻辑上应该由后端NGINX服务器主动关闭连接,多数TIME_WAIT应该出现在NGINX侧。

厚着脸皮求领导写了一篇java小白进阶大牛之路!!!

做~自己de王妃 提交于 2021-01-17 18:42:32
缘起&应朋友之邀 2019年已经过去两个月了,应朋友之邀,写写自己的个人经历,与其说经历还不如是自我的总结与反思。2012年2月份只身一人拖着行李箱来到北京库巴科技有限公司实习,那时候库巴处在高速发展的阶段,我记得那一年库巴招了300多个应届毕业生,光技术就招了50多人,有运维、测试、开发、产品经理。那时候公司有宿舍,4个人一间,上下铺,条件虽然艰苦了一些,但认识了很多好朋友,至今还在保持着联系。下班之余大家经常一起吃饭喝酒,也就是那个时间胖了很多,回学校答辩的时候老师说:“你怎么胖成这样了,都有点快认不出来了”。 学校&java 在 学校 的时候对java很感兴趣,以至于上C语言课的时候,我在看java的学习视频,记得那时候看了很多牛人的视频,像魔乐科技的李兴华老师,尚学堂的马士兵老师,传智播客的张孝祥老师。 库巴&实习 在学校学的是struts、spring、Hibernate, 实习 的时候,公司用的是SSI,Ibatis没有用过,花了一周的时间学习框架,可能基础还算比较好,第二周领导就让我参与项目,这也是我人生中的第一个真实项目,虽然以前在学校也做过一些项目和参加过一些比赛,都是只限于单机版。公司的网站最早是用.net开发的,遇到高并发的时候经常宕机,我属于用户中心组,我们的任务是将注册登录部分用java进行重构,我负责登录功能的开发,在这个项目学到了很多东西

redis session共享

安稳与你 提交于 2021-01-17 17:07:48
session + redis 共享session的原因: 先进的企业级或者大型的网站平台,都是分布式结构,分布式的好处是通过nginx分发请求,让多个服务器各自处理请求,来减少单一服务器的压力,并且提高执行效率。 在这个分布式结构下,如果不用共享session的话,就会出现问题。当一个客户端发送一个请求(无session),通过nginx将第一次请求分发给服务器1,服务器判断无session,就让那个客户进行登录操作,并得到响应,此时客户端会存储一个来自服务器1响应的session,并存储在客户端。 当客户端发送第二次请求的时候,此时本次请求已经携带了session(跳过登录),nginx却将请求分发给服务器2,因为服务器2中没有session,所以无法与客户端session进行对应。所以程序会出现异常或是报错,无法正常响应。 解决方法 : session + redis 实现session 共享 session + redis 实现session 共享原理: 为了避免上面session 在服务器直接不共享的问题,就将 session 放入 redis 中。 当客户端第一次发送请求后,nginx将请求分发给服务器1 ,然后将服务器1 产生的session 放入redis中,这样的话 客户端、服务器1 和redis中都会有一个相同的session,当客户端发送第二次请求的时候

我就改了一下参数,竟然让Tomcat和JVM的性能提升了两倍!

坚强是说给别人听的谎言 提交于 2021-01-17 17:06:40
前言 在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的。但是,在系统并发量比较大的情况下,Tomcat 就会出现卡死和自动关闭等问题。如何优化 Tomcat,让它更高效的运行就成了问题,在本篇小编中,我将为你分享如何更好的提升 Tomcat 性能。 Tomcat性能调优 找到Tomcat根目录下的conf目录,修改server.xml文件的内容。小编这里也对应整理了一份JVM调优和实战400多页 学习笔记 ,关注公众号:麒麟改bug,获取详细PDF对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一些参数值,给各位详细解释一下吧: ​ 1、URIEncoding=“UTF-8”: 设置Tomcat的字符集。这种配置我们一般是不会设置的,因为关于乱码的转换我们会在具体项目中具体处理,直接修改Tomcat的字符集未免过于太死板。 2、maxThreads=“300”: 设置当前Tomcat的最大并发数。Tomcat默认配置的最大请求数是150个,即同时能支持150个并发。但是在实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的,更好的硬件、更高的处理器都会使Tomcat支持更多的并发数

Nginx Linux和Windows安装教程

杀马特。学长 韩版系。学妹 提交于 2021-01-17 17:02:01
前言 本篇文章主要介绍的是Nginx Linux环境和Windows的安装教程。 Nginx 介绍 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 HTTP基础功能: 处理静态文件,索引文件以及自动索引; 反向代理加速(无缓存),简单的负载均衡和容错; FastCGI,简单的负载均衡和容错; 模块化的结构。过滤器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理; SSL 和 TLS SNI 支持; IMAP/POP3 代理服务功能: 使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端; 使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端; 认证方法: POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5; IMAP: IMAP LOGIN; SMTP: AUTH LOGIN PLAIN CRAM-MD5; SSL 支持; 在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持; ...

Docker 极简入门指南,10 分钟就能看懂

别等时光非礼了梦想. 提交于 2021-01-17 14:54:28
富 Web 时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。本节我们就来探索一下 Docker 的神秘世界,从零到一掌握 Docker 的基本原理与实践操作。别再守着前端那一亩三分地,是时候该开疆扩土了。我们将会围绕下面几点展开: 讲个故事 虚拟机与容器 认识 Docker 核心概念 安装 Docker 快速开始 常规操作 最佳实践 一、讲个故事 为了更好的理解 Docker 是什么,我们先来讲个故事:我需要盖一个房子,于是我搬石头、砍木头、画图纸、盖房子。一顿操作,终于把这个房子盖好了。 结果,住了一段时间,心血来潮想搬到海边去。这时候按以往的办法,我只能去海边,再次搬石头、砍木头、画图纸、盖房子。 烦恼之际,跑来一个魔法师教会我一种魔法。这种魔法可以把我盖好的房子复制一份,做成「镜像」,放在我的背包里。 等我到了海边,就用这个「镜像」,复制一套房子,拎包入住。是不是很神奇?对应到我们的项目中来,房子就是项目本身,镜像就是项目的复制,背包就是镜像仓库。如果要动态扩容,从仓库中取出项目镜像,随便复制就可以了。Build once,Run anywhere! 不用再关注版本、兼容、部署等问题,彻底解决了「上线即崩,无休止构建」的尴尬。 二、虚拟机与容器 开始之前,我们来做一些基础知识的储备: 1.虚拟机

wss nginx代理无法获取真实IP解决

夙愿已清 提交于 2021-01-17 03:35:22
最近在做一个小游戏项目,准备上线的时候,却发现移动网络居然连接不了mqtt ,后来客户端把ws 换成wss就解决连接的问题了,但是随之而来的还有另一个问题,服务器无法获取到真实IP了。大致数据是这样的 猜测方向,应该是由于使用了证书文件有关 Nginx简单配置如下 upstream mqttServer { server 127.0.0.1:3088 weight=1; } server { listen 80; listen 443 ssl; server_name www.*****.com; ssl_certificate cert/*****.pem; ssl_certificate_key cert/********.key; ssl_session_timeout 5m; ssl_ciphers ******************************; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { index index.htm index.html index.php; } location /mqtt { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded