We're sorry but nginx-community doesn't work properly without JavaScript enabled. Please enable it to continue.
开源社区
首页
文章
问答
文档
软件下载
发现更多
三方插件
技术支持
电子书
公开课
社区贡献榜
关于我们
登录
注册
NGINX
负载均衡
JavaScript
NGINX Unit
Kubernetes
微服务
容器
NGINX系列
WAF
Node.js
Go(编程语言)
服务网格(Service Mesh)
HTTP/3_专栏
版本发布
# NGINX
NGINX 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 NGINX 的并发能力在同类型的网页服务器中表现较好。
关注标签
52人关注
文章
问答
排序
热门
最新
NGINX官方账号
发布于2023-12-05 15:50
《NGINX 完全指南》章节精选 | 流量管理和可编程性
置顶
由 O'Reilly 出版的《NGINX 完全指南》中文版(2022 年最新版)现已正式上线,访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。 这本 180 多页易于理解的配置指南将为您讲述从如何安装 NGINX 到如何进行配置,再到如何调试和排除应用性能故障。不仅如此,本书还提供了将 NGINX 用于负载均衡、云部署、自动化、容器和微服务、服务网格、安全防护等场景的相关配置示例。
点赞
0
浏览
2.3k
SHERlocked_93
发布于2021-11-01 13:04
Nginx 从入门到实践,万字详解!
精华
最近越来越频繁地遇到需要配置反向代理的场景,在自己搭建博客的时候,也不可避免要用到Nginx,所以这段时间集中学习了一下Nginx,同时做了一些笔记,希望也可以帮助到大家~😜这篇文章会在CentOS环境下安装和使用Nginx,如果对CentOS基本操作还不太清楚的,可以先看看 一文先做了解。相信作为开发者,大家都知道Nginx的重要,废话不多说,一起来学习吧。CentOS版本: 7.6Nginx版本: 1.16.11.Nginx介绍传统的Web服务器,每个客户端连接作为一个单独的进程或线程处理,需在切换任务时将CPU切换到新的任务并创建一个新的运行时上下文,消耗额外的内存和CPU时间,当并发请求增加时,服务器响应变慢,从而对性能产生负面影响。Nginx是开源、高性能、高可靠的Web和反向代理服务器,而且支持热部署,几乎可以做到7*24小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是Nginx最重要的考量,其占用内存少、并发能力强、能支持
点赞
7
浏览
37.4k
守望
发布于2020-09-11 15:38
Nginx 处理一个 HTTP 请求的全过程
精华
转载:https://www.cnblogs.com/iziyang/p/12933565.html前面给大家讲了 Nginx是如何处理HTTP请求头部的,接下来就到了真正处理HTTP请求的阶段了。先看下面这张图,这张图是Nginx处理HTTP请求的示意图,虽然简单,但是却很好的说明了整个过程。ReadRequestHeaders:解析请求头。IdentifyConfigurationBlock:识别由哪一个location进行处理,匹配URL。ApplyRateLimits:判断是否限速。例如可能这个请求并发的连接数太多超过了限制,或者QPS太高。PerformAuthentication:连接控制,验证请求。例如可能根据Referrer头部做一些防盗链的设置,或者验证用户的权限。GenerateContent:生成返回给用户的响应。为了生成这个响应,做反向代理的时候可能会和上游服务(UpstreamServices)进行通信,然后这个过程中还可能会有些子请求或者重定向,那么还会走一下这个过程(Internalredirec
点赞
3
浏览
10.3k
守望
发布于2020-09-03 18:32
nginx系列之七:限流配置
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享一、限流算法1.1令牌桶算法算法思想是:令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时,多余的令牌被丢弃;请求要消耗等比例的令牌才能被处理;令牌不够时,请求被缓存。1.2漏桶算法算法思想是:水(请求)从上方倒入水桶,从水桶下方流出(被处理);来不及流出的水存在水桶中(缓冲),以固定速率流出;水桶满后水溢出(丢弃)。这个算法的核心是:缓存请求、匀速处理、多余的请求直接丢弃。相比漏桶算法,令牌桶算法不同之处在于它不但有一只“桶”,还有个队列,这个桶是用来存放令牌的,队列才是用来存放请求的。从作用上来说,漏桶和令牌桶算法最明显的区别就是是否允许突发流量(burst)的处理,漏桶算法能够强行限制数据的实时传输(处理)速率,对突发流量不做额外处理;而令牌桶算法能够在限制数据的平均传输速率的
点赞
10
浏览
5.6k
NGINX官方账号
发布于2020-07-23 17:57
NGINX从入门到精通进阶系列培训
感谢您参加“NGINX从入门到精通进阶系列培训”!以下为培训的问答、课件和录像,希望您能通过此培训学有所得,祝学习进步!>问与答:- 基础篇+高级篇 - 应用篇+实战篇(New)>课件(PPT):基础篇:-NGINX概要、安装、配置:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-Setup.pdf-NGINX日志、运维:https://interact.f5.com/rs/653-SMC-783/images/cnfeb22-nginxcorecourse-maintenance.pdf高级篇:-NGINX变量、API:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-API.pdf-NGINXSSL、NJS:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-SSL.pdf
点赞
10
浏览
4.8k
守望
发布于2021-02-08 10:00
nginx下安装配置modsecurity waf防火墙(附完整编译、配置、排错、详细规则)
ModSecurity是一个免费、开源的Apache模块,可以充当Web应用防火墙(WAF)。ModSecurity是一个入侵探测与阻止的引擎.它主要是用于Web应用程序所以也可以叫做Web应用程序防火墙.ModSecurity的目的是为增强Web应用程序的安全性和保护Web应用程序避免遭受来自已知与未知的攻击。目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成生产级的WAF,是保护和审核web安全的利器。而OWASP是一个安全社区,开发和维护着一套免费的应用程序保护规则,这就是所谓OWASP的ModSecurity的核心规则集(即CRS)。我们可以通过ModSecurity手工创建安全过滤器、定义攻击并实现主动的安全输入验证。nginx下安装配置modsecurity如下:第一步:备份原环境模块使用 /../nginx-V 先查看原来都有哪些模块。然后把上面这些先复制下来以作备用。第二步:安装依赖,阿里云的服务器可以直接使用yum安装或者升级yuminstall-ygccmakeautomakeautoconflibtoolyu
点赞
1
浏览
5.8k
陈钇蒙
发布于2020-05-25 13:51
如何使用nginxWebUI图形化gui界面管理nginx
介绍nginx网页配置工具QQ技术交流群1:1106758598QQ技术交流群2:560797506邮箱: cym1102@qq.com官网地址: http://www.nginxwebui.cn码云: https://gitee.com/cym1102/nginxWebUIgithub: https://github.com/cym1102/nginxWebUI功能特点nginxWebUI也可管理多个nginx服务器集群,随时一键切换到对应服务器上进行nginx配置,也可以一键将某台服务器配置同步到其他服务器,方便集群管理.部署此项目后,配置nginx再也不用上网各种搜索配置代码,再也不用手动申请和配置ssl证书,只需要在本项目中进行增删改查就可方便的配置和启动nginx。技术说明本项目是基于springBoot的web系统,数据库使用sqlite,因此服务器上不需要安装任何数据库项目启动时会释放一个.sqlite.db到系统用户文件夹中,注意进行备份本系统通过Let'sencrypt申请证书,使用acme.sh脚本
点赞
6
浏览
6.1k
NGINX官方账号
发布于2020-09-10 21:47
NGINX第四季资料下载
感谢您参加NGINX开源社区基础培训系列课程(第四季),以下为本系列培训的课件和录像,希望您能通过此培训学有成果,祝学习进步!> 课程演讲稿下载:-9月03日:NGINX性能为什么远高于Apache?-9月10日:Tengine与官方NGINX的差别在哪里?-9月17日:OpenResty与官方NGINX的差别在哪里?-9月24日:从Lua语言看NGINX生态的扩展> 视频回顾:-9月03日:NGINX性能为什么远高于Apache?-9月10日:Tengine与官方NGINX的差别在哪里?-9月17日:OpenResty与官方NGINX的差别在哪里?-9月24日:从Lua语言看NGINX生态的扩展> 访问NGINX开源社区:https://www.nginx.org.cn/>NGINX 官方微信群(扫码入群)> 后续活动推荐NGINX 公开课:9月23日:使用NGINX/NGINXPlus构建CDN如果您通过互联网向受众交付内容并关心性能,那么您很可能使用CDN。CDN是广告、媒体、在线游戏、商业、移动、医疗、甚至政府和
点赞
6
浏览
3.5k
守望
发布于2020-09-08 18:27
Nginx stream模块的执行阶段
Nginx的stream模块提供了TCP负载均衡的功能,最初的stream模块比较简单,在nginx-1.11.4后也开始采用类似HTTP模块中分阶段处理请求的方式。stream模块的处理阶段在ngx_stream.h中定义了stream模块的7个阶段。如下面所示typedefenum{NGX_STREAM_POST_ACCEPT_PHASE=0,NGX_STREAM_PREACCESS_PHASE,NGX_STREAM_ACCESS_PHASE,NGX_STREAM_SSL_PHASE,NGX_STREAM_PREREAD_PHASE,NGX_STREAM_CONTENT_PHASE,NGX_STREAM_LOG_PHASE}ngx_stream_phases;与HTTP模块相同,每个阶段有相应的checker检查方法和handler回调方法,每个阶段都有零个或多个ngx_stream_phase_handler_t结构体。typedefstructngx_stream_phase_handler_sngx_s
点赞
2
浏览
3.8k
守望
发布于2020-09-06 10:47
利用nginx内置ngx_http_mirror_module模块实现流量复制及流量放大
0.需求复制线上真实流量,在不影响真实业务前提下,利用复制流量来做故障分析、性能定位、迁移评估等功能。具体功能包含:支持或禁止post请求复制记录复制(镜像)日志mirror: 中文为镜像的意思,这里指流量复制的目的地。1.ngx_http_mirror_module模块特性nginx1.13.4及后续版本内置ngx_http_mirror_module模块,提供流量镜像(复制)的功能。支持流量放大,做法为:配置多份相同镜像。相比tcp-copy的优势:无需录制流量,实时可用;配置相当简单。源站请求,直接原路返回;正常配置下,mirror请求不影响源站请求及响应,源站nginx-server将流量复制到mirror站后,两者不再有任何交集。2.安装及配置正常安装nginx1.13.4及后续版本。下面配置在1.14.1中验证通过。2.1复制get及post请求server{ listen80; server_nameweb1.www.com; #源站配置 location
点赞
2
浏览
4.2k
NGINX官方账号
发布于2021-10-22 09:53
支持 QUIC 和 HTTP/3 的 NGINX 技术预览版上线
很高兴宣布NGINX支持 QUIC+HTTP/3的预览版本正式发布。该预览版实现了IETF QUIC 草案规范,并由独立的开发分支维护,与稳定分支及主线分支隔离。经过几个月的初步开发,该版本已可进行互操作性测试,并接受意见反馈和代码贡献了。
点赞
0
浏览
3.6k
守望
发布于2020-09-10 09:33
nginx ssl模块使用详解
nginx针对https提供ssl/tls配置功能的支持,这些功能由openssl库提供,除了原生的nginx模块能对https提供支持之外,openresty也同样在nginx原生的基础上提供了lua脚本层面对https进行配置与处理的功能。 nginxopenssl模块在ngx_http_ssl_module实现,实际与openssl进行交互的模块还是在ngx_event_openssl以及ngx_event_openssl_stapling模块中。目前nginx可支持的ssl/tls版本如下:SSLv2 SSLv3TLSv1TLSv1.1TLSv1.2TLSv1.3,具体配置可支持的版本可以自由进行设置。openssl模块配以配置openssl的开启以及关闭,通常https配置的端口一般是443。 目前的ssl模块支持配置多个ssl证书及整数的秘钥。通过ssl
点赞
2
浏览
3.5k
守望
发布于2020-10-12 14:25
Nginx + Lua 搭建网站WAF防火墙
前言对于项目里面只是使用代理等常用功能,在线安装即可,如需制定化模块,则推荐编译安装PS:本文不仅仅包含Nginx相关的知识点,还包含了逆天学习方法(对待新事物的处理)官方网站:https://nginx.org/Github:https://github.com/nginx/nginxNginx书籍:NginxCookbook中文版 https://huliuqing.gitbooks.io/complete-nginx-cookbook-zh/content/Nginx官方中文文档 https://docshome.gitbooks.io/nginx-docs/content/Nginx入门教程 https://xuexb.github.io/learn-nginx/淘宝Nginx文档 http://tengine.taobao.org/book/1.在线安装1.1.修改yum源地址清华源:https://mirrors.tuna.tsinghua.edu.cn/help/centos/更新软件包缓存:yummakecache1.2.在
点赞
0
浏览
3k
NGINX官方账号
发布于2023-06-06 14:00
全球首发 | 《NGINX 完全指南》中文版
精华
原文作者:Derek DeJonghe of F5原文链接:全球首发 | 《NGINX 完全指南》中文版转载来源:NGINX 开源社区NGINX唯一中文官方社区 ,尽在 nginx.org.cn在社区
点赞
1
浏览
6.1k
李俊鹏
发布于2021-09-16 08:18
Nginx并发优化之TIME-WAIT
在Nginx的并发优化中,TIME-WAIT是服务器优化必然会谈到的一个话题,而我们常见的问题就是TIME-WAIT过多怎么处理?常见的解决方法就是:1、快速回收2、链接复用而这里有个误区就是到底TIME-WAIT要优化到什么程度,有的童鞋甚至看到TIME-WAIT就觉得需要优化,今天就是想聊一下这个话题要聊明白,还是要从原理来说起TIME-WAIT是TCP链接的一种状态,之前有写文章介绍过TCP的11中链接状态,有兴趣可以再去看下这张图整个展示了所有状态的转换过程,总共分为三个部分,上半部分是建立连接的过程,下面部分分成主动关闭和被动关闭的过程可以看到TIME_WAIT只在主动关闭的过程中出现,实际上TIME_WAIT是TCP为了解决复杂的网络问题提出的一种解决方案解决什么问题呢?看下面两个场景四次挥手中,A发FIN,B响应ACK,B再发FIN,A响应ACK实现连接的关闭。而如果A响应的ACK包丢失,B会以为A没有收到自己的关闭请求,然后会重试向A再发FIN包。如果没有TIME_WAIT状态,A不再保存这个连接的信息,收到一个不存在的连
点赞
3
浏览
3.8k
像雾像雨又像风
发布于2020-06-24 10:32
Nginx学习笔记(版本选择和介绍)
前三周学习了陶辉老师的“NGINX基础培训系列课程”,感觉受益良多,在这里想把一些知识点记录一下,和大家分享一下知识点,也方便日后的随手查看,温故知新。 首先,我们了解到了Nginx的版本,Nginx发布版本分为主线版本和稳定版本,区分两个版本也非常简单,主线版本版本号为单数,比如1.19,稳定版本为双数,比如1.18,今天我要说的是稳定版本,这个版本会尽量少的减少Nginx的bug问题,适用于生产环境,这里我不建议使用Nginx和其他软件一样在生产环境中落后一个或多个大版本使用,之前生产环境做过漏扫,发现我们编译自带的Nginx版本为:nginx/1.13.3(查询命令为nginx-V),结果出现了多个漏洞,四个高危和一个中危漏洞: 通过升级Nginx到稳定版最新版本后修复! 其次,是Nginx发行版本的选择,目前比较流行的有:nginx、nginxplus、Tengine、openresty、ope
点赞
1
浏览
3.2k
NGINX官方账号
发布于2022-10-20 18:13
立即升级 NGINX 以应对漏洞风险
精华
今日,我们发布了针对NGINXPlus、NGINX开源版、NGINX企阅版以及NGINXIngressController的更新,以应对最近在NGINX模块ngx_http_mp4_module及ngx_http_hls_module中发现的漏洞——这两个模块用于以MP4以及AppleHTTPLiveStreaming(HLS)格式进行视频流媒体处理。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞
2
浏览
4.1k
守望
发布于2020-09-03 18:33
nginx系列之八:使用upsync模块实现负载均衡
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享一、nginxreload的问题问题描述nginxreload是有一定损耗的,如果你使用的是长连接的话,那么当reloadnginx时长连接所有的worker进程会进行优雅退出,并当该worker进程上的所有连接都释放时,进程才真正退出。解决办法对于社区版nginx目前有三个选择方式:Tengine的Dyups模块。微博的Upsync+Consul实现动态负载均衡。OpenResty的balancer_by_lua(又拍云使用其开源的slardar(Consulbalancer_by_lua))。本文使用upsync模块来解决配置文件修改后,reloadnginx进程造成性能下降的问题。它的功能是拉取consul的后端server的列表,并更新Nginx的路由信
点赞
4
浏览
2.4k
守望
发布于2021-02-05 09:22
NGINX中$host、$http_host和$proxy_host区别
nginx中$host、$http_host和$proxy_host区别变量是否显示端口值$host不显示端口浏览器请求的ip,不显示端口$http_host端口存在则显示浏览器请求的ip和端口号$proxy_host默认80端口不显示,其它显示被代理服务的ip和端口号配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com),后端服务域名为B(www.b.com);为了解决跨域问题,配置nginx反向代理如下:... proxy_set_headerHost$host; ... location^~/api/{ rewrite"^/api/(.*)$"/$1break; proxy_pass http://www.b.com; }问题:这样配置完成后,接口报404问题。解决:方案一:将proxy_set_header注释掉方案二:修改反向代理配置,设置请求头Host,如下所示:location^~/api/{ rewrite"^/api/(.*)$"/$1break; proxy_pass http:
点赞
1
浏览
3.6k
守望
发布于2021-02-01 13:17
NGINX负载均衡的五种算法
1.roundrobin(默认)轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。 适用于后台机器性能一致的情况。 挂掉的机器可以自动从服务列表中剔除。2.weight根据权重来分发请求到不同的机器中,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstreambakend{ server192.168.0.14weight=10; server192.168.0.15weight=10; }3. IP_hash根据请求者ip的hash值将请求发送到后台服务器中,可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。例如:upstreambakend{ ip_hash; server192.168.0.14:88; server192.168.0.15:80; }4.url_hash(第三方)根据请求的url的hash值将请求分到不同的机器中,当后台
点赞
2
浏览
2.3k
守望
发布于2020-09-08 17:48
Nginx开启debug日志的办法
转载:https://www.cnblogs.com/larry-luo/p/10563457.html译序:一般来讲,Nginx的错误日志级别是error,作为Nginx用户来讲,你设置成info就足够用了。 但有时有些难以挖掘的bug,需要看到更详细的debug级别的日志,这时候,单单把 error_log 级别设置成debug是不行的,Nginx记录下来的还是info级别以上的信息。你需要激活Nginx的debug日志才可以得到debug级别的日志信息。本文简要介绍了Nginxdebug日志的激活和配置使用。官方正文如下: 要激活debug日志,Nginx在构建时需要配置为支持debug:./configure--with-debug... 然后可以通过 error_log 指令设置debug级别:error_log/
点赞
2
浏览
2.3k
51CTO张岩峰
发布于2021-09-03 20:28
Nginx调度算法
各位同学大家好!我是张岩峰,这是我在Nginx社区一直以来发表的第一篇博文。之前在社区也进行了一场直播课,看到很多同学说我很年轻,哈哈,是的!我这么年轻都可以会这么多,那么你应该也可以的!虽然年轻但是我经历的一些项目经验还是很丰富的。以后我会在这个社区多多做分享,大家一起努力学习。 老师微信:feng0523fengxxx,老师邀你进微信交流群,一起交流经验。 QQ交流群:1127825548 只有多碰撞才会有技术上的突破! Nginx负载均衡相信很多同学都很熟悉吧,但是你真的了解它吗?今天小张带大家来深入了解一下Nginx的调度算法,我们来看下Nginx负载均衡是如何将流量转发给后端的。1、轮询 轮询,在nginx配置文件中是这样定义的,如下所示: &
点赞
1
浏览
2k
NGINX官方账号
发布于2023-04-06 09:59
生日快乐!NGINX 中文开源社区三岁啦
NGINX 社区三岁啦!立即观看纪念视频,并查收获奖名单。
点赞
5
浏览
4.7k
守望
发布于2020-09-03 18:25
nginx系列之五: 负载均衡
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享使用nginx做负载均衡的两大模块:upstream定义负载节点池。location模块进行URL匹配。proxy模块发送请求给upstream定义的节点池。一、upstream模块解读nginx的负载均衡功能依赖于ngx_http_upstream_module模块,所支持的代理方式有proxy_pass(一般用于反向代理),fastcgi_pass(一般用于和动态程序交互),memcached_pass,proxy_next_upstream,fastcgi_next_pass,memcached_next_pass。upstream模块应该放于http{}标签内。模块写法:upstreambackend{ ip_hash; server
点赞
5
浏览
2k
NGINX官方账号
发布于2022-09-07 10:47
更新:为 NGINX 配置免费的 Let’s Encrypt SSL/TLS 证书
精华
原文作者:AmirRawdatofF5原文链接:更新:为NGINX配置免费的Let’sEncryptSSL/TLS证书转载来源:NGINX官方网站 众所周知,网站的SSL/TLS加密会为您的用户带来更靠前的搜索排名和更出色的安全性。但目前有许多障碍阻碍了网站所有者采用SSL。 其中两个最大障碍是证书获取成本高昂和所涉人工流程繁琐。而现在,有了Let’sEncrypt,这些都不再是问题。Let’sEncrypt支持所有人免费使用SSL/TLS加密。 Let’sEncrypt是一家免费、开放、自动化的证书颁发机构(CA)。是的,没错Let’sEncrypt颁发的SSL/TLS证书是免费的。现今的大多数浏览器都信任Let’sEncrypt颁发的证书,包括旧版浏览器,例如WindowsXPSP3上的InternetExplorer。此外,Let’sEncrypt实现了证书颁发和更新的全自动化。 NGINX对于成为Let’sEncrypt的赞助者之一感到非常骄傲。 本文介绍了如何使用Let’s
点赞
1
浏览
3.5k
icodeU
发布于2022-10-31 15:25
如何通过grafana展示NGINX metrics数据
点赞
2
浏览
3.7k
守望
发布于2020-09-01 09:43
一文了解什么是4层负载均衡
通常使用的nginx负载均衡技术,在网络分层中处于应用层(第七层)的,nginx与客户端建立TCP连接(握手),然后再根据请求信息以及本地配置信息,将请求灵活的分发到不同的服务上。nginx这类7层负载均衡的优缺点都很明显。除了nginx这种7层负载均衡策略,还有基于传输层(4层)的负载均衡策略。通过分析请求的IP地址以及端口号进行请求的负载均衡。根据请求处理的模式不同4层负载均衡算法可以分为:NAT,D-NAT,DR以及TUN隧道技术等。4层负载均衡的实现方式有:LVS。负载模式NAT(NetworkAddressTranslation,网络地址转换)技术,在专用内部网络中,分配一台实现了NAT技术的路由或服务LoadBalanceService。这台负载均衡服务器分配了公网IP(VIP,VirtualIP),所有客户端请求服务都请求此IP。LBS通过不同的算法,将请求数据包的源IP以及目标IP修改,转发到真实服务器(RealService)上进行业务处理。其具体的步骤可以分为:1、客户端发送请求,源IP为:CIP,目标IP为:VIP3、RS接收到请求,进行业务处理
点赞
4
浏览
2.1k
守望
发布于2020-09-10 16:20
利用Nginx的resolver实现动态upstream
之前写了篇文章用openresty实现了一个动态路由,虽然说是动态的,但是实际上还是需要将upstream在配置文件中写好,还是相当于静态的。最近工作中有这方面的需求,upstream是完全动态,由客户端来指定,开始的时候有一些错误,最后通过resolver指定dns服务来完成,具体流程如下。1.开始踩坑nginx的配置如下:worker_processes1; events{ worker_connections1024; } http{ server{ listen8001; server_namelocalhost; location/{ set$upstream_host$http_upstream_host; echo$http_upstream_host; proxy_passhttp://$upstream_host;
点赞
1
浏览
2k
守望
发布于2020-09-01 18:09
nginx系列之一:nginx入门
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享一、nginx功能介绍Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer的轻量级代替者,不仅是因为响应静态页面的速度非常快,而且它的模块数量达到Apache的近2/3。对proxy和rewrite模块的支持很彻底,还支持mod_fcgi、ssl、vhosts,适合用来做mongrelclusters的前端HTTP响应。nginx和Apache一样使用模块化设计,nginx模块包括内置模块和第三方模块,其中内置模块中包含主模块和事件模块。nginx处理请求逻辑图二、nginx可以提供的服务web服务.负载均衡(反向代理)webcache(web缓存)三、nginx的优点高并发。
点赞
5
浏览
2.1k
洪志道
发布于2020-10-31 12:53
编程是门手艺,做一名优秀的将军
编程是门手艺,NGINX社区的经验分享一文提过,专业的程序员擅长整体设计和细节处理能力。本文探讨整体设计,尤其是模块化这个技能。 全能天才,FabriceBellardFFmpeg,最强大的流媒体库QEMU,硬件虚拟化的虚拟机TCC,迷你CC编译器QuickJS,100%支持JS语法的C引擎等等,以上皆出自一人之手,法国天才。去年QuickJS曾一度刷爆技术圈,NGINX社区的哥们第一时间推荐给我看,并以天才称他。这软件开拓了我的视野。本文以它为引子探讨我认为非常重要的技能:如何组织代码。 NJS,实现语言引擎真难私下问过FabriceBellard(给QJS提过patch)开发QJS的历程,答案令人惊叹,他只用了两年的业余时间。参与NJS这几年,才深知实现语言引擎有多复杂。NJS从17年开始,现在差不多完成40%。但基础已经非常良好,后续功能开发会快速很多。而且常用功能都已经支持,其中我支持了模块化,箭头函数,等常用的。语言解析引入了LL(k)。看似做了些不错的工作。然而跟QJS比,以台球打个比方。一个长距离很准的选手,90%的球都能打进,看似很厉害。但对一个发力非常厉害的
点赞
7
浏览
1.6k
李俊鹏
发布于2021-10-07 20:37
Nginx日志分析解决方案
最近客户有个新需求,就是想查看网站的访问情况,由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的页面,咱也做不到成熟的日志解决方案,那就是ELK,还有现在比较火的Loki,(当然还有很多其他解决方案,比如Splunk、Datadog等),那我们这个小网站,小体量,必然是选择Loki来做所以这次就采用Nginx+Promtail+Loki+Grafana来做一个简单的Nginx日志展示Nginx的安装不多说,Promtail和Loki都选用二进制的方式进行安装,直接下载对应版本的二进制文件,解压后指定配置文件启动即可其中promtail配置文件如下配置:server: http_listen_port: 9080 grpc_listen_port: 0positions: filename: /tmp/positions.yamlclients: - url: http:/
点赞
0
浏览
2.1k
NGINX官方账号
发布于2022-04-22 17:14
避免 10 大 NGINX 配置错误(上)
原文作者:TimoStarkofF5和SergeyBudnevichofF5原文链接:避免10大NGINX配置错误转载来源:NGINX官方网站在帮助NGINX用户解决问题时,我们经常会发现配置错误,这种配置错误也屡屡出现在其他用户的配置中,甚至有时还会出现在我们的NGINX工程师同事编写的配置中!本文介绍了10个最常见的错误,并解释了问题所在以及相应的解决方法。由于本文篇幅较长,我们将分上下两篇发布。 每个worker的文件描述符不足error_logoff 指令未启用与上游服务器的keepalive连接忘记指令继承的工作机制proxy_bufferingoff 指令if 指令使用不当过多的健康检查不安全地访问指标当所有流量都来自同一个/24CIDR块时使用 ip_hash不采用上游组错误1:每个worker没有足够的文件描述符worker_connections 指令用于设置NGINXworker进程可以打开的最大并发连接数(默认为512)。所有类型的连接(例
点赞
2
浏览
2.2k
守望
发布于2020-08-30 11:26
如何监控 NGINX(第一篇)
转载:https://linux.cn/article-5970-1.html作者: KYoung译者: LCTT strugglingNGINX是什么?NGINX (发音为“engineX”)是一种流行的HTTP和反向代理服务器。作为一个HTTP服务器,NGINX可以使用较少的内存非常高效可靠地提供静态内容。作为反向代理,它可以用作多个后端服务器或类似缓存和负载平衡这样的其它应用的单一访问控制点。NGINX是一个自由开源的产品,并有一个具备更全的功能的叫做NGINXPlus的商业版。NGINX也可以用作邮件代理和通用的TCP代理,但本文并不直接讨论NGINX的那些用例的监控。NGINX主要指标通过监控NGINX可以捕获到两类问题:NGINX本身的资源问题,和出现在你的基础网络设施的其它问题。大多数NGINX用户会用到以下指标的监控,包括每秒请求数,它提供了一个由所有最终用户活动组成的上层视图;服务器错误率 ,这表明你的服务器已经多长没有处理看似有效的请求;还有请求处理时间,这说明你的
点赞
5
浏览
1.7k
守望
发布于2020-09-10 09:56
nginx缓存原理及配置
1.nginx缓存原理及配置nginx的http_proxy模块,可以实现类似于squid的缓存功能。基于nginx静态缓存的解决方案:1.1nginxcache的基本配置proxy_cache_path/data/nginx/cache_itemlevels=1:1:2keys_zone=cache_item:10mmax_size=10ginactive=60m; server{ location~\.(gif|jpg|jpeg|png|bmp|ico)${ proxy_set_headerHost$host; proxy_set_headerX-Forwarded-For$remote_addr; proxy_passhttp://127.0.0.1:8080; proxy_cachecache_item;
点赞
3
浏览
1.6k
守望
发布于2020-09-10 09:59
Nginx下关于缓存控制字段cache-control的配置说明 - 运维小结
HTTP协议的Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括:no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括:public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。下面做一详细总结,方便在以后的运维工作中理解和运用.一. 浏览器中关于Cache的3属性:1.Cache-Control:设置相对过期时间,max-age指明以秒为单位的缓存时间.若对静态资源只缓存一次,可以设置max-age的值为315360000000(一万年). 比如对于提交的订单,为了防止浏览器回退重新提交,可以使用Cache-Control之no-store绝对禁止缓存,即便浏览器回退依然请求的是服务器,进而判断订单的
点赞
3
浏览
1.8k
NGINX官方账号
发布于2022-10-12 11:05
Ingress Controller 的工作原理(上)
原文作者:陶辉原文链接:课程实录|IngressController的工作原理(上)转载来源:NGINX开源社区编者按——本文为系列课程《K8SIngressController技术细节探讨》的第一节《IngressController的工作原理》的课程实录。由于文章较长,将分为上下两篇发布。在本节课程中,陶辉老师介绍了NGINX集群是怎么工作的,并对比NGINX官方和Kubernetes官方的两个IngressController在运行时各自的特点以及性能上的差别。课程内容包括Kubernetes的网络流量场景,以及NGINX集群该如何管理,如何解决分布式集群中常见的高可用、容灾、扩容等问题。课程背景简介为什么大家一直比较重视Kubernetes?近五年来随着DevOps逐渐落地,微服务的服务种类变多,服务的托管都希望变为自动化的方式,DevOps也在往这个方向发展,因此NGINX现在更希望用集群化、自动化托管去管理NGINX配置文件。采用这种方式,我们可能只需要在一个抽象的web界面上进行配置,甚至在各种配置文
点赞
0
浏览
2.8k
守望
发布于2020-09-01 09:50
Nginx常用命令与配置
一、nginx安装1、本地安装windows系统:直接去官网:https://nginx.org/en/download... 下载相应版本即可。mac系统:$brewinstallnginx2、Linux安装:以centOS系统为例,有下面两种安装方式(推荐1)1.)通过rpm镜像源安装$rpm-ivhhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm $yuminstall-ynginx2.)通过依赖包详细安装安装nginx依赖库pcre、zlib$yuminstallpcrepcre-devel $yuminstallzlibzlib-devel如有必要,可以安装c++编译环境和openssl$yuminstallgcc-c++ $yuminstallopensslopenssl-devel下载/编译nginx$wget-chttps://nginx.org/download/ngi
点赞
7
浏览
1.6k
NGINX官方账号
发布于2022-01-07 10:00
NGINX 获中国信通院“可信开源项目”和“可信开源社区”双重认证,并正式加入可信开源社区共同体
2022获得“可信开源项目”和“可信开源社区”双重认证,并且以“正式成员”的身份加入由信通院牵头成立的可信开源社区共同体(TWOS)。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞
0
浏览
2.2k
守望
发布于2020-09-03 15:25
nginx系列之二:配置文件解读
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享nginx配置文件主要分为四个部分:main{#(全局设置)http{#服务器upstream{}#(负载均衡服务器设置:主要用于负载均衡和设置一系列的后端服务器)server{#(主机设置:主要用于指定主机和端口)location{}#(URL匹配特点位置的设置)}}}server继承main,location继承server,upstream即不会继承其他设置也不会被继承。一、main全局配置nginx在运行时与具体业务功能(比如http服务或者email服务代理)无关的一些参数,比如工作进程数,运行的身份等。userwwwwww; worker_processes4; worker_cpu_affinity0001001001001000; err
点赞
4
浏览
1.6k
NGINX官方账号
发布于2022-09-14 10:16
将 NGINX 部署为 API 网关,第 1 部分
原文作者:LiamCrillyofF5原文链接:将NGINX部署为API网关,第1部分转载来源:NGINX官方网站 本文是将NGINX开源版和NGINXPlus部署为API网关系列博文的第一篇。 本文提供了几个用例的详细配置说明。文章最初发布于2018年,现进行了更新,以反映API配置的当前最佳实践——即使用嵌套的location块来路由请求,而不是通过重写规则。第2部分对这些用例进行了扩展,探讨了一系列可用于保护生产环境中后端API服务的安全措施。第3部分解释了如何将NGINX开源版和NGINXPlus部署为gRPC服务的API网关。 注:除非另有说明,否则本文中的所有信息都适用于NGINX开源版和NGINXPlus。为了便于阅读,下文将NGINX开源版和NGINXPlus统称为“NGINX”。 现代应用架构的核心是HTTPAPI。HTTP支持快速构建和轻松维护应用。HTTPAPI提供了一个通用接口,因此不必考虑应用的规模大小,无论是单独用途的微服务还是大型综合
点赞
1
浏览
2.2k
查看更多文章
发表文章
提问
社区达人
成为达人
陶辉
暂无个人介绍
关注
洪志道
暂无个人介绍
关注
皮皮鲁
暂无个人介绍
关注
加菲
暂无个人介绍
关注
lwl
暂无个人介绍
关注
相关文章
重新配置新的include的conf配置文件,重启不读取
include配置不生效
捂脏
发布于2023-08-01 16:51
基础知识回顾:借助 SSL/TLS 和 NGINX 进行 Web 流量加密
原文作者:Robert Haynes of F5原文链接:基础知识回顾:借助 SSLTLS 和 NGINX 进行 Web 流量加密转载来源:NGINX 官方网站NGINX唯一中文官方社区 ,尽在 ng
NGINX官方账号
发布于2023-06-13 10:59
职场发展两条路:当专家还是管理者?
“千金在手,不如一技傍身”,老古人留下的名言,放在今时今日还是经典名言。能拥有当前人才市场需要的技能,工作随时会候着你,要获取高薪也是易如反掌的事。但现在不少论坛上的论调是,三十五岁的技术人员没有做到
BUG退散
发布于2023-03-20 16:36
保持联系
微信公众号
加入微信群
获取商业支持
了解商业产品和专业支持服务
加入邮件列表
向开发组提交代码或反馈意见