郑州企业网站怎么优化,网文网站开发方案,微官网与手机网站首页,厦门软件开发培训机构前言
Nginx#xff1f;写了那么多文章#xff0c;为什么今天才轮到它的表演#xff1f;那是因为它实在太重要了#xff0c;值得大书特书#xff0c;特别对待。 当我们遇到单点瓶颈#xff0c;第一个idea是#xff1f;Nginx#xff1b; 当我们需要反向代理#xff0c;…前言
Nginx写了那么多文章为什么今天才轮到它的表演那是因为它实在太重要了值得大书特书特别对待。 当我们遇到单点瓶颈第一个idea是Nginx 当我们需要反向代理第一个idea是Nginx 当我们需要静态部署第一个idea是Nginx 当我们需要透传服务第一个idea是Nginx 好了好了不再罗列了博主手都麻了… 当我们遇到一件趁手的武器是不是愿意找一个合适的“对手”练一练 当我们遇到一件棘手的问题是不是愿意找一个熟练的“队友”试一试 答案是肯定的毕竟我们都愿意“百尺竿头更进一步”不希望“按部就班坐以待毙”。 在Nginx正式表演前博主首先让它的“队友们”报个到欢迎三连有求必应
微服务实战系列之Feign微服务实战系列之Sentinel微服务实战系列之Token微服务实战系列之Nacos微服务实战系列之Gateway微服务实战系列之加密RSA微服务实战系列之签名Sign
话锋一转请允许博主带着大家熟悉Nginx探索它的奥秘。 一、前世 Nginx是一款轻量级的Web 服务器以及电子邮件IMAP/POP3代理服务器在BSD-like 协议下发行。其特点是占有内存少并发能力强事实上Nginx的并发能力在同类型的网页服务器中表现较好。 通过一段标准语言我们可以大致了解到Nginx几个特征
1. 反向代理 2. Web服务器 3. 邮件代理服务 4. 并发 5. 轻量级
当然博主尝试将其翻译成工程实践语言大致可以包括以下几个功能
1. 代理服务反向、邮件 2. Web服务面向前端 3. 负载均衡高并发 4. 缓存服务静态资源
通过以上的应用场景博主继续带着大家剖析Nginx探究一下它为何如此迷人。
二、今生
1. 代理服务
谈到代理服务各位盆友首先想到什么 比如小花一个消息今天没空让你帮她买个零食… 比如小芳一通电话今天请假让你帮她取个快递… 诸如此类皆算代理的范畴原因是什么因为不管小花小芳还是你都能够基于同一个方法完成一件事。通俗讲就是“代劳”。这个时候小花小芳都是采用了代理服务而且是正向代理那么你就是“正向代理服务器”。
既然有正向代理自然就有反向代理了因为讲究对称嘛暗然自喜~ 反向代理是怎么回事无非是你要吃的我事先替你备齐你自取。如此这般方便你我他相亲相爱一家人。 所以自从有了代理这个业务这世上似乎“懒人”变多了当然生活品质也提高了。 Nginx如何配置代理可参考以下
server{location /api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/; //这句很关键}
}2. Web服务
提到Web服务博主首先会联想到从早年的Apache、IIS到如今的Nginx、Tomcat、WebLogic等等。不禁有感而发“变化的始终是工具不变的是永恒的服务”。 Nginx作为Web服务器主要做什么呢
比如部署一套vue比如上传一组图片资源等等可以通过http访问即可。如果不清楚怎么使用可以参考以下配置指定访问目录即可
server{location / {root /usr/local/html; //这句很关键try_files $uri $uri/ /index.html;index index.html index.htm;}
}3. 负载均衡
负载均衡好像在哪里提过对了 网关。如有兴趣请回看博主相关介绍。 正因为Nginx有这个作用所以在微服务中Nginx的任务相当艰巨所谓能力越大责任越大当然期望越高。 如何配置可参考如下
http {upstream myserver {server 192.168.1.11:8080 weight10;//设置权重server 192.168.1.12:8081 weight10;}server {listen 80;// 默认端口server_name 192.168.1.10;location / {proxy_pass http://myserver;root /usr/local/html;index index.html index.htm;}
}4. 缓存服务
Nginx也可以做缓存答案是的。 某些场景下Nginx需要Worker到服务中获取数据并返回客户端在高并发场景下我们可以将这些数据缓存到Nginx中。 如何配置可参考如下
http {# 设置缓存路径、目录层级(1:2 表示两个子目录)、内存zone的名字和内存大小# 缓存有效时间、硬盘最大存储大小、缓存文件直接写到cache文件中而不使用temp_pathproxy_cache_path /usr/local/nginx/cache levels1:2 keys_zonengxcache:100m inactive7d max_size1g use_temp_pathoff;server { proxy_cache ngxcache;proxy_cache_valid 200 304 5m;proxy_cache_valid 301 302 2m;proxy_cache_min_uses 1;# 添加一个响应头用来标识请求是否命中缓存add_header N-Cache-Status $upstream_cache_status;proxy_cache_methods GET HEAD;proxy_cache_convert_head on;proxy_cache_key $scheme$host$uri$is_args$args;proxy_cache_background_update on;}
}综上关于Nginx博主带着各位盆友进行功能剖析旨在一文把握它的命脉。如果还需了解更详细的内容可参考官网文档了解每个参数的配置的意义博主不再啰嗦了。 结语
微服务盛行于当下好比日出东方之时趁着朝霞获得希望。 各位盆友GoodNight