016_nginx运维问题总结
一、关于nginx请求包过大的解决思路
message-api.jyall.me.conf
nginx报错问题问题定位,经分析跟接入navigator后关联不大,可参考一下结论连接超时抓包分析了一下每次请求过来的数据过大,需要在location增加以下参数upstream timed out (110: Connection timed out)
proxy_connect_timeout
proxy_read_timeout
proxy_send_timeout
upstream请求连接方式,目前是短连接可配置keepalive保持连接资源复用增加keepalive 参数对比
[root@xyz-proxy-12 ~]# netstat -na |grep :8856 | wc -l
7547
增加keepalive后
[root@xyz-proxy-12 ~]# netstat -na |grep :8856 | wc -l
767
过早断开连接这个问题,跟业务场景有关系,如果对业务没有影响可忽略upstream prematurely closed connection
二、proxy_pass、set和rewrite的相互影响。
正常的用户请求: https://www.jyall.me/feedback-webapi/quality_control/statistics
最好的配置是这样滴=>
为了支持动态upstream,现在改成这样了
但是后端的upstream都是没有变的。
但是原来的请求变成这样了,一直404
nginx的日志:/feedback-webapi/quality_control/statistics-----10.0.32.153 - - [14/Sep/2017:20:18:14 +0800] "GET /feedback-webapi/quality_control/statistics HTTP/1.1" 200 48 "-" "curl/7.43.0" 0.006 - - - - - - - - application/json;charset=UTF-8 4341360345404689BDA29A906BA77F47 www.jyall.me - 0.006 10.20.96.148:8060 -
后端upstream的日志: - 10.0.38.160 - - [14/Sep/2017:20:03:32 +0800] "GET /quality-web-svr/feedback-webapi/ HTTP/1.0" 404 992
-------------------------------------------------------------------------------------------------------------
这种的后端的原始请求的nginx设置是ok的,如下:
这个可能set和proxy改写路径有关系,但是set是生效的
于是,添加了一条rewrite语句"rewrite /feedback-webapi/(.*) /quality-web-svr/feedback-webapi/$1 break;"
然后正常的用户请求 https://www.jyall.me/feedback-webapi/quality_control/statistics就可以了。
三、
016_nginx运维问题总结的更多相关文章
- IT运维监控解决方案介绍
现状 •小公司/ 创业团队< 500台服务器规模 开源方案:Zabbix.Nagios.Cacti- 云服务提供商:监控宝.oneAlert等 •BAT级别> 10万台服务器 投 ...
- 一切从“简”,解放IT运维人员
运维人的神技 运维既是个技术活儿也是个苦差事,而运维人员被期望有着无限的技能:主机.存储.网络.操作系统样样精通,而且还要会写SQL.shell.开发语言java..net.python等等,对业务更 ...
- 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)
马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...
- IIS日志-网站运维的好帮手
对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情. 有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的. 还有些时候,我们希望不断地优化网站,让网站更快速的 ...
- 做linux运维工程师,必须要掌握以下几个工具
linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...
- SQL Server 自动化运维系列
本系列为SQL SERVER自动化运维的一些操作技巧点,所有内容都是根据日常运维过程中最经常遇到的问题,并为此形成了一些自动化运维的方式,皆为原创.... 供部分DBA和开发人员浏览借鉴,所应用平台基 ...
- CheungSSH国产自动化运维工具开源Web界面
CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...
- 自动化运维工具ansible部署以及使用
测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...
- 1、SQL Server自动化运维 - 备份(一)业务数据库
为了能够恢复数据,数据库运维基础就是备份,备份自动化也是运维自动化首要进行的. 笔者的备份自动化,通过配置表快速配置为前提,同时记录备份过程,尽可能的减少人工操作.首先将SQL Server备份按用途 ...
随机推荐
- docker的memory和cpu资源限制
这里仅针对docker本身,不涉及任何编排工具compose或者k8s等. 按照惯例,官文撸起来. 重要的部分是一些选项,用来限制资源大小. Memory Most of these options ...
- A1023. Have Fun with Numbers
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, wit ...
- 【POJ3666】Making the Grade 离散化+DP
学到了一个引理:在满足S最小化的条件下,一定存在一种构造序列B的方案,使得序列B中的数值都来自于A中.(数学归纳法+中位数定理得证) 对于状态的表示来说,首先肯定有一个 i ,表示选到了第 i 个数时 ...
- 文件拷贝, 使用 BIO,NIO的对比,四种写法性能分析。
测试环境: jdk 1.7 + 2G内存 测试代码基本上复制了: http://blog.csdn.net/tabactivity/article/details/9317143 1 2 3 4 5 ...
- 面向对象——类的内置attr(三十三)
class Foo: x=1 def __init__(self,y): self.y=y def __getattr__(self, item): print('----> from geta ...
- 走进Java中的持有对象(容器类)【二】Collection
概述 通过前文的学习,我们对容器的分类及常用容器类的作用有了基本的认识.本文将针对Collection容器的功能与使用进行细致分析. 基本操作 Collection集合抽象出的目的是为存放独立元素的序 ...
- 用webstorm来开发微信小程序之less的配置
1.安装less. 安装好node之后,打开运行-->cmd-->进入安装node的文件夹目录-->输入 npm install -g less. 然后自动就会在C:\Users\A ...
- Prometheus Redis_exporter
Redis 下载redis_exporter wget https://github.com/oliver006/redis_exporter/releases/download/v0.15.0/re ...
- Prometheus MySQL_exporter
MySQL Exporter mysqld_exporter是用来搜集mysql的性能指标的,适用于mysql5.5及其以上版本 程序安装 下载地址:https://prometheus.io/dow ...
- ElasticSearch 批量增加索引
服务端批量增加索引,版本是5.1.1 TransportClient client; Settings esSettings = Settings.builder() .put("clust ...