微服务实战系列之Nginx(技巧篇)

news2024/11/17 18:36:56

前言

今天北京早晨竟然飘了一些“雪花”,定睛一看,似雪非雪,像泡沫球一样,原来那叫“霰”
自然中,雨雪霜露雾,因为出场太频繁,认识门槛较低,自然不费吹灰之力,即可享受它们的“恩泽”
这个霰,就不一样了,可能容易被忽视,更可能容易被当成雪,自然不会给人们留下深刻的印象。
所以,博主私自为这个,提个建议:“欲留深刻在人间,必有一技抚人心”

叙述到此,言归正传,博主继续向各位盆友分享微服务系列文章,深耕细作方的人心。
接下来,按博主的风格,继续拉出自家的队伍,欢迎三连,有求必应:

  • 微服务实战系列之Nginx
  • 微服务实战系列之Feign
  • 微服务实战系列之Sentinel
  • 微服务实战系列之Token
  • 微服务实战系列之Nacos
  • 微服务实战系列之Gateway
  • 微服务实战系列之加密RSA
  • 微服务实战系列之签名Sign

昨日,博主已对Nginx—这个微服务中的重量级选手,进行了基本的介绍,无论它作为负载均衡,还是代理服务,抑或缓存服务、web服务,都体现了Nginx的专职能力。那么,在实际应用过程中,通常有哪些技巧需要关注或具备呢?
今日,博主继续对掌握Nginx的必备基本技巧进行逐一解答,希望可以带来帮助。

在这里插入图片描述

技巧大观园

Q1:遇到权限异常,怎么办

首先涉及两个用户:一个安装用户,一个运行用户;
安装用户是Nginx安装时的执行用户,比如root或其他,即Nginx的操作用户;
运行用户是Nginx运行的用户,即conf中指定的user;
如果出现权限不允许之类的问题,首先确认这两个用户是否一致,然后逐一验证;

Q2:设置多少个woker合适

Nginx运行机制可以理解为master-woker模式,M与W之间是通过信号传递。所以实际上是woker分摊了执行任务并占用运行的资源。
一般woker的数量与Cpu保持一致,比如4核,则worker_processes可以设置为4;

Q3:设置多少个woker合适

Nginx运行机制可以理解为Master-Woker模式,M与W之间是通过信号传递。所以实际上是Wokor分摊了执行任务并占用运行的资源。
一般Woker的数量与Cpu保持一致,比如4核,则worker_processes可以设置为4;

Q4:访问静态资源404,怎么办

在我们使用过程中,经常会出现请求资源无效或404的问题,虽简单,却极易出错。如果出现了怎么办,稍安勿躁,静下心慢慢找原因。

  • 排查设置的root目录是否正确;
  • 排查设置的root目录下,是否存在相关资源;
  • 排查是否缓存导致,比如升级版本,未达预期,可以尝试先清理缓存;
Q5:搭建负载均衡时,流量分配不均甚至流量在单一节点集中

遇到此类问题,首先应该想到权重是否合理,如果权重配置无问题,继续排查网络原因。比如负载的集群间是否网络联通,或者Nginx与每个节点的网络是否联通。
此刻最常用的武器就是telnet ip port

Q6:配置了SSL证书,https无法访问

https服务作为微服务界的标配和“宠儿”,必须掌握如何使用。
https默认端口443,在conf中server模块配置,当然nginx可同时支持http和https。
如果无法访问,首先检查证书是否有效,ssl模块是否已安装,再确认端口是否开放防火墙,最后检查域名配置是否正常。

配置导致如下:

server{
	listen 443 ssl; //服务端口,支持ssl协议
	server_name  www.xxxx.com;
	ssl_certificate      /ssl/xxx.pem; # 证书文件pem
	ssl_certificate_key  /ssl/xxx.key; # 证书文件key
}
Q7:配置反向代理服务后,数据返回不完整

比如接口报文太大,但是Nginx默认的支持的报文是有限的。可通过调整location下的参数:
proxy_buffers
proxy_buffer_size

Q8:配置了反向代理服务后,http状态显示超时

一般我们可以使用Nginx实现服务转发,即Nginx是代理服务,服务端可能是另外一个节点,首先应该检查Nginx服务节点与服务端节点是否网络联通。也可以合理设置一个相对合适的超时时间,不宜过长不易太短。

Q9:遇到502怎么办?

这个一般是后端服务问题导致。可从“肇事”后端服务中,通过日志中排查失败原因,确定问题所在。

Q10:如何正确的查看日志,排查问题

Nginx启动运行后,一般有2个日志:accesserr
access通常是请求nginx的日志记录,无论正常或异常,均可查找;
err通常是错误日志记录,从中可查相关的运行记录和http响应状态情况;

在这里插入图片描述
最后,博主来一张Nginx原理架构图,解决问题必抓本质,不然容易“捉襟见肘,顾此失彼”。


结语

综上所述,各位盆友在使用Nginx过程中,难免遇到一些棘手或者更复杂的问题,如果恰好是生产故障,那更惊心动魄了。博主精心为各位盆友选择10个易错环节或情景,希望可以为你们所用,助你们一臂之力。

时间有限,知识无涯,Nginx到此结束,下一篇主题是什么?各位盆友拭目以待。
博主有空接着聊,欢迎追订哈哈,不胜感激~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1252888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑技巧:电脑常见蓝屏、上不了网等故障及解决办法

目录 一、电脑蓝屏 常见原因1: 病毒木马 常见原因2: 安装了不兼容的软件 二、电脑不能上网 常见原因1: 新装系统无驱动 常见原因2: DNS服务器异常 常见原因3: 硬件问题 三、电脑没声音 常见原因1: 未安装驱动 常见原因2: 硬件故障 四、电脑屏幕不显示 常见原因1: 显…

【限流配电开关】TPS2001C

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大…

物联网AI 无线连接学习之蓝牙基础篇 协议的发展

学物联网,来万物简单IoT物联网!! 蓝牙由来 “蓝牙”(Bluetooth)原是一位在10世纪统一丹麦的国王哈拉尔 (HaralBluetooth),他将当时的瑞典、芬兰与丹麦统一起来。而将“蓝牙”与后来的无线通讯技术标准关联…

SpringBoot——配置及原理

优质博文:IT-BLOG-CN 一、Spring Boot全局配置文件 application.properties与application.yml配置文件的作用:可以覆盖SpringBoot配置的默认值。 ◀ YML(is not a Markup Language:不仅仅是一个标记语言)&#xff1…

plotneuralnet和netron结合绘制模型架构图

plotneuralnet和netron结合绘制模型架构图 一、plotneuralnet 本身的操作 模型结构图的可视化,能直观展示模型的结构以及各个模块之间的关系。最近借助plotneuralnet python库(windows版)绘制了一个网络结构图,有一些经验和心得…

【SpringCloud】设计原则之单一职责与服务拆分

一、设计原则之单一职责 设计原则很重要的一点就是简单,单一职责也就是所谓的专人干专事 一个单元(一个类、函数或微服务)应该有且只有一个职责 无论如何,一个微服务不应该包含多于一个的职责 职责单一的后果之一就是职责单…

产品经理和项目经理的区别在哪里?

在当今的商业环境中,产品经理和项目经理扮演着两个非常重要的角色。虽然他们都是组织成功的重要推动者,但他们的职责和所关注的角度却有着显著的不同。 1. 职责差异 产品经理负责一个或多个产品线,从产品的规划到开发、推出和市场表现。他们…

Java实现-数据结构 2.时间和空间复杂度

.如何衡量一个算法的好坏:时间复杂度和空间复杂度 算法效率分为时间效率和空间效率,时间效率称为时间复杂度,空间效率称为空间复杂度 时间复杂度 算法的时间复杂度是一个数学函数,它描述了算法的运行时间,一个算法执…

分享一个鬼~

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 先看效果: 上源码: import GUI from "https://cdn.jsdelivr.net/npm/lil-gui0.18.2/esm"const canv…

为社会做贡献的EasyDarwin 4.0.1发布了,支持视频点播、文件直播、摄像机直播、直播录像、直播回放、录像MP4合成下载

经过几个月的不懈努力和测试,最新的EasyDarwin 4.0版本总算是发布出来了,功能还是老几样:文件点播、视频直播(支持各种视频源)、直播录像与回放、录像合成MP4下载,稍稍看一下细节: 文件上传与点…

【UCAS自然语言处理作业二】训练FFN, RNN, Attention机制的语言模型,并计算测试集上的PPL

文章目录 前言前馈神经网络数据组织Dataset网络结构训练超参设置 RNN数据组织&Dataset网络结构训练超参设置 注意力网络数据组织&Dataset网络结构Attention部分完整模型 训练部分超参设置 结果与分析训练集Loss测试集PPL 前言 本次实验主要针对前馈神经网络&#xff0…

SRM供应商、采购管理系统

前言: 随着互联网和数字技术的不断发展,企业采购管理逐渐走向数字化和智能化。数字化采购平台作为企业采购管理的新模式,能够提高采购效率、降低采购成本、优化供应商合作效率,已成为企业实现效益提升的关键手段。 软件开发资料…

Oracle登录认证方式详解

文章目录 一、简介二、OS认证三、口令认证四、remote_login_passwordfile 详解 一、简介 在数据库管理中,登录认证是确保数据库安全性的重要环节。Oracle数据库提供 了两种认证方式,一种是“操作系统认证”,一种是“口令文件认证&#xff0c…

基于Vue+SpringBoot的家庭个人记帐理财系统

登陆 注册 (用户账号,密码,再次确 认密码,手机号) 用户注销功能,用户能注销就行 管理员不需要注销功能 用户个人信息修改删除 (头像,性 别,账号,密码,手机号,地址) 新闻页…

基于Scapy修改ClientHello的SNI(三)

需求:修改HTTPS的ClientHello中的SNI字段 目标:修改成功,wireshark显示正常 语言:Python 三方库:Scapy 下面是一个标准的ClientHello报文,是从一个完整的HTTPS流中保存出来的,原始报文中的SNI是www.baidu.com 在上一篇文章中 记录基于scapy构造ClientHello报文的尝试…

【教学类-06-08】20231125(55格版)X-Y之间“减法-题”(以10-20之间为例)(必须A>B,题目少)

图片展示 需求: 20以内减法,不需要再练习其中10以内部分,改为10-20以内的减法,X-Y大于10,小于20的所有减法题。 代码展示: “-”减法 X-Y 之间的所有减法-题(如10-20之间的所有减法&#xff0…

C3 多媒体查询

文章目录 前言CSS3 多媒体查询CSS2 多媒体类型CSS3 多媒体查询浏览器支持多媒体查询语法CSS3 多媒体类型多媒体查询简单实例 媒体类型媒体功能更多实例后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:CSS 🐱‍👓博…

nginx反向代理解决跨域实践

需求实现 本地请求百度的一个搜索接口,用nginx代理解决跨域思路:前端和后端都用nginx代理到同一个地址8080,这样访问接口就不存在跨域限制 本地页面 查询一个百度搜索接口,运行在http://localhost:8035 index.js const path …

5.7 Windows驱动开发:取进程模块函数地址

在笔者上一篇文章《内核取应用层模块基地址》中简单为大家介绍了如何通过遍历PLIST_ENTRY32链表的方式获取到32位应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通用的获取函数,本章将继续延申这个话题,并依次实现通用版…

国产航顺HK32F030M: 简易篮球计分器(便携计分器)

【自制】《基于航顺HKF030MF4P6手持比赛计分牌》(便携计分器) 1. 简介 便携篮球计分器是一种小型化设计的设备,主要用于记录和显示篮球比赛的得分和计时。以下是由Type-C充电电路TP5400/ASM1117电路、HK32F030MF4单片机最小系统、数码管显示…