当前位置:首页 > nginx > 正文

nginx能实现哪些功能

  • nginx
  • 2024-05-30 01:34:21
  • 4423
本文目录一览

壹、10.Nginx实现反向代理

反向代理:反向代理是指将外部网络用户的请求转发到特定的内部服务器并将数据返回给用户的方式。

除了提供高性能的企业Web服务外,Nginx还可以通过一些预定义的协议转发Nginx本身不需要处理的请求。 对于通信,Nginx服务器与其他服务器使用不同的协议来实现不同场景下的不同功能

生成环境部署架构:

访问逻辑图:

Nginx-反向代理HTTP服务:

1.proxy_pass

2.proxy_hide_headerfield

更改前,响应消息的头部包含ETag信息

更改后ETag信息将被隐藏

3.proxy_pass_headerfield

4.proxy_pass_request_body

5.proxy_pass_request_headers

6.proxy_set_header

由于proxy_set_header只是修改了头信息,在编辑请求报文、添加自定义字段时,还需要修改后端服务器上的协议定义格式,记录客户端-IP

注1:set_proxy_header自定义变量只是在请求报文中添加自定义字段,其字段值是根据系统内置变量人为设置的。

注2:这种方法是在多层代理的情况下,客户端IP不能逐层传递给后端服务器,而必须使用$proxy_add_x_forwarded_for变量来实现

注3:如果需要使用proxy_set_header传递客户端IP和各个代理层的IP地址,则需要在每个Nginx代理层中启用“proxy_set_header”并设置各种自定义变量来访问内置的Nginx变量$remote_addr,这样每个Nginx层都会记录上一层,包括代理可以传递到后端。 Server

proxy_add_x_forwarded_for实现多级代理IP地址透明传输。 需要在代理的各个级别启用。

实验环境:

七、关于反向代理多个时间参数

8.proxy_ignore_client_abort

9.哈希表大小设置

客户端-----http协议-------nginx(代理服务器,10.0.0.86)-----http---apache(10.0.0.85)

客户端通过访问nginx上定义的虚拟主机中的域名server_name,通过内部定义的位置匹配规则转发到10.0.0.85服务器

代理服务器与后端服务器连接问题时可能出现的错误:

当后端服务器要发送图片资源时放在固定目录下,也可以自定义它,如:。 B.将其存储在/var/www/html/static中。 那么nginx的位置需要修改如下:

缓存功能相关参数:

实验环境:

proxy_pass允许Nginx将客户端请求传递给一个代理服务器。 特定的一组服务器无法将相应的服务器状态转发到后端服务器。

Nginx可以使用ngx_http_upstream_module模块上的各种调度算法和其他高级功能来转发服务器数据包、权重分配并提供状态监控

关于ip_forward

注意:本次实验时需要先关闭缓存

固定URI的访问安排在同一个服务器


贰、Nginx的功能与特性
Nginx在过去10年中迅速崛起,成为Web服务器行业的新一代。 Nginx由俄罗斯工程师IgorSysoev编写,第一个公共版本于2004年10月4日发布:1.0.1。 Apache一直占据Web服务器行业的头把交椅,但自2008年以来,其市场份额巧妙地转移到了Nginx。 迄今为止,根据Netcraft的统计,全球排名前100万的网站中有超过27%使用Nginx作为其Web服务器。 Nginx迅速崛起,并在稳定的Web服务器行业中站稳了脚跟。
1.静态HTTP服务器
Nginx是一个HTTP服务器,可以在服务器上存储静态文件。 。 (如HTML、图像)通过HTTP协议显示给客户端。
2.反向代理服务器
客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端。 此时Nginx就是一个反向代理。 服务器。
3.负载均衡
当网站的流量非常大时,同一个应用程序部署在很多台服务器上,需要满足大量用户的请求被分发到很多台机器上处理。 同时带来的好处是,如果其中一台服务器出现问题,只要其他服务器运行正常,就不会影响用户使用。 Nginx可以通过反向代理实现负载均衡,可以使用3种内置策略和2种第三方策略。
(1)RR(默认,每个请求按时间顺序分配到不同的后端服务器)
(2)权重(指定投票概率、权重和命中率)比例与情况成正比,当后端服务器性能不均匀时使用)
(3)ip-hash(以上配置会将请求探测分发到应用服务器,即每个客户端多次。 该请求可以由许多不同的服务器处理(如果有登录会话,则需要多次登录)。 ip-hash根据客户端的IP地址将请求分配给固定的服务器进行处理。
(4)fair(第三方根据后端服务器响应时间分配请求,优先响应时间短的请求)
(5)url_hash(第三方分配访问URL的hash结果。 这样分配请求每个URL都指向同一个后端服务器,当后端服务器在上游添加哈希语句时,效率会更高。 服务器语句中不能写权重等其他参数hash_method是使用的哈希算法)
4.访问和负载平衡请求。 有些网站流量太少,需要节省成本,在同一台服务器上部署多个网站。 例如,如果两个网站www.a.com和www.b.com部署在同一台服务上,则两个域名将解析为同一个IP地址,但用户可以通过两个网站打开完全不同的两个网站。 域名和互相交互没有任何影响,就像访问2台服务器一样,所以称为2台虚拟服务器。
分别在服务器8080和8081上打开一个应用程序,客户端通过不同的域访问,根据server_name可以反向代理到对应的应用程序服务器响应。 虚拟服务器规则是通过查看HTTP请求头中的Host是否与server_name匹配来完成的。 此外,server_name配置还可以过滤掉有人恶意将某些域名指向您的托管服务器。
1.epoll复用IO
2.光
3。 CPU之间的关系(relationship)
4.
叁、nginx的作用是什么?

Nginx(enginex)是一个高性能的HTTP和反向代理Web服务器,还提供IMAP/POP3/SMTP服务。

Nginx是由IgorSesoev为俄罗斯访问量第二大的Rambler.ru网站(俄语:Рамблер)开发的,首次发布版本0.1.0于2004年10月4日发布。

它以类似BSD的许可证发布源代码,以其稳定性、丰富的功能集、简单的配置文件和低系统资源消耗而闻名。

Nginx是一个使用类BSD协议发布的轻量级Web服务器、反向代理服务器和电子邮件(IMAP/POP3)代理服务器。 其特点是占用内存少,并发能力强。 事实上,中国大陆地区的nginx网站用户在百度、京东、新浪、网易等同类型Web服务器中表现较好。 腾讯、淘宝等

反向代理的优点:

1.加快访问内部服务器的速度。

部署两个反向代理服务器。 这样,公共网络的用户可以通过公共网络线路直接访问学校服务器,避公共网络和教育网络之间的链路拥塞。 同时,反向代理服务器的缓存功能也加快了用户访问速度。

2、节约有限的IP资源

校园网内部服务器除了使用学术网地址外,还使用我们提供的公网IP地址进行服务。 公共网络分配的IP地址数量有限。 如果每台服务器都分配一个公网地址,反向代理技术无法解决IP地址耗尽的问题。

上一篇:nginx实现负载均衡

下一篇:nginx怎么使用