1. 首页 > 快讯

Nginx: 高效可靠的Web服务器解决方案

大家好,关于Nginx: 高效可靠的Web服务器解决方案很多朋友都还不太明白,今天小编就来为大家分享关于的知识,希望对各位有所帮助!

[[441744]]

一 什么是nginx

ngnix是一个开源、高性能、可靠的HTTP中间件和代理服务

二 Nginx 功能说明

1 、静态HTTP服务器

Nginx是一个HTTP服务器,可以通过HTTP协议向客户端显示服务器上的静态文件(例如HTML和图片)。

配置示例:

server{listen80;#端口号位置/{rootD:\frontproject\views;#静态文件路径}}

2、反向代理服务器

客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端。此时Nginx就是一个反向代理。服务器。

server{listen80;location/{proxy_passhttp://127.0.0.1:8080;#应用服务器HTTP地址}}

3、负载均衡

当网站访问量很大时,同一个应用部署在多台服务器上,分发大量用户的请求到多个服务器。机加工。同时带来的好处是,如果其中一台服务器崩溃了,只要其他服务器正常运行,就不会影响用户的使用。 Nginx可以通过反向代理实现负载均衡,可以使用3种内置策略和2种第三方策略。

(1)RR(默认,每个请求按照时间顺序一一分配到不同的后端服务器)

uploadmypro{server192.168.20.1:8080;#应用服务器1server192.168.20.2:8080;#应用服务器2}server{listen80;location/{proxy_passhttp://mypro;}} (2)权重(指定轮询概率,权重与访问率成正比,后面使用-端服务器性能参差不齐)

uploadmypro{server192.168.20.1:8080weight=3;#本服务器处理3/4个请求server192.168.20.2:8080;#默认权重为1,本服务器处理1/4个请求}server{.}(3 ) ip-hash (以上配置会将请求轮询分配给应用服务器,即一个客户端的多个请求可能会被多个不同的服务器处理(如果有登录会话,需要重复登录)。根据客户端IP地址的哈希值将请求分配给固定服务器进行处理)

uploadmypro{ip_hash;#根据客户端IP地址的Hash值将请求分配给固定的服务器处理server192.168.20.1:8080;server192.168.20.2:8080;}server{.}(4)fair(third party请求根据后端服务器的响应时间进行分配,响应时间较短的优先)

uppermypro{fair;serverlocalhost:8080;serverlocalhost:8081;}(5)url_hash(第三方根据访问的URL的哈希结果分配请求,使每个URL都定向到同一个后端服务器。当后面的时候更有效-end server 被缓存。在server语句中不能写权重等其他参数。

uploadmypro{hash$request_uri;hash_methodcrc32;serverlocalhost:8080;serverlocalhost:8081;}

4、虚拟主机

有些网站访问量较大,需要负载均衡。有些网站因为访问量太小,需要节省成本,在同一台服务器上部署多个网站。例如,如果两个网站www.a.com和www.b.com部署在同一台服务器上,两个域名解析到同一个IP地址,但用户可以通过这两个域名打开两个完全不同的网站并进行交互与彼此。并不影响它,就像访问两台服务器一样,所以称为两台虚拟主机。

server{listen80default_server;server_name_;return444;#过滤其他域名的请求,返回444状态码}server{listen80;server_namewww.a.com;#www.a.com域名位置/{proxy_passhttp://localhost:8080;#对应端口号8080} }服务器{listen80;server_namewww.b.com;#www.b.com域名位置/{proxy_passhttp://localhost:8081;#对应端口号8081}}分别在服务器8080和8081上打开了应用。客户端通过不同的域名访问。根据server_name,反向代理到对应的应用服务器。虚拟主机的原理是通过HTTP请求头中的Host是否与server_name匹配来实现的。此外,server_name配置还可以过滤掉那些恶意将某些域名指向您的主机服务器的人。

三 Nginx特性与优点

1、IO多路复用epoll

多线程:

io复用:多个描述符的I/O操作可以在一个线程中并发、顺序完成。这称为I/O 复用。这里的多路复用是指重复使用同一个线程。系统调用复用的实现方法:select、poll、epoll

2、轻量级

代码模块化较少的功能模块

3、CPU亲和(affinity)

CPU亲和性:是一种绑定CPU核和nginx工作进程的方式,每个工作进程固定执行在1个CPU,减少切换CPU造成的缓存未命中,获得更好的性能

4、sendfile

不经过用户空间

用户评论

温柔腔

这篇文章真不错,让我能更清楚地了解 Nginx 的功能!

    有9位网友表示赞同!

花菲

我一直听说过 Nginx,但对它的特性不是很了解,现在看了这篇解释,豁然开朗了。

    有16位网友表示赞同!

纯真ブ已不复存在

Nginx 的性能真心不错,高效处理请求的能力非常重要。

    有5位网友表示赞同!

隔壁阿不都

作为 web 服务器使用 Nginx 肯定是个不错的选择,稳定可靠是关键啊!

    有16位网友表示赞同!

玻璃渣子

反向代理和负载均衡的功能真是太棒了,能有效提升系统效率。

    有19位网友表示赞同!

减肥伤身#

这篇介绍挺详细的,对初学者很友好。

    有12位网友表示赞同!

命该如此

没想到 Nginx 还支持 SSL 加密,这样更加安全可靠!

    有5位网友表示赞同!

回到你身边

学习一下 Nginx 的特性,感觉未来工作中很有用。

    有19位网友表示赞同!

伱德柔情是我的痛。

以前都不知道 Nginx 还可以做代理转发,真是个宝藏工具!

    有10位网友表示赞同!

麝香味

Nginx 的配置文件确实让人头疼,但是掌握了之后效率就更高了。

    有19位网友表示赞同!

你tm的滚

这个功能清单很全面,将 Nginx 的优势展示得很好。

    有12位网友表示赞同!

北染陌人

终于明白为什么人们会称 Nginx 为高性能 web 服务器!

    有18位网友表示赞同!

此生一诺

Nginx 的特性数量让我印象深刻,真是个强大的工具平台。

    有5位网友表示赞同!

杰克

希望以后能有机会深入学习 Nginx 这些特性!

    有19位网友表示赞同!

空巷

读了这篇介绍之后,我更加想去尝试 Nginx。

    有13位网友表示赞同!

艺菲

感谢作者对 Nginx 的详细解释!

    有18位网友表示赞同!

裸睡の鱼

这个平台介绍功能挺全面,应该会吸引很多开发者前来学习 Nginx.。

    有20位网友表示赞同!

微信名字

看来 Nginx 在现代 Web 应用开发中扮演着很重要角色!

    有8位网友表示赞同!

可儿

这篇文章让我更直观地理解了 Nginx 在哪些方面表现出色。

    有19位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7718.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666