首页 > 系统相关 >Nginx简介详解

Nginx简介详解

时间:2024-05-24 18:51:20浏览次数:25  
标签:http 简介 module without Nginx 详解 支持 禁用 ngx

0-nginx三大功能

1.web服务器
作为web服务器,Nginx是一个轻量级,而且能够处理的并发量更大
2.反向代理服务器
正向代理隐藏真实客户端,反向代理隐藏真实服务端
3.邮件服务器
也可用充当一个IMAP/POP3/SMTP服务器

1-nginx特点

(1)跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。
(2)配置异常简单,非常容易上手。配置风格跟程序开发一样,神一般的配置
(3)非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数.(这得益于Nginx使用了最新的epoll模型)
(4)事件驱动:通信机制采用epoll模型,支持更大的并发连接。
(5)master/worker结构:一个master进程,生成一个或多个worker进程
(6)内存消耗小:处理大并发的请求内存消耗非常小。在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)
(7)成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币
(8)内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。
(9)节省带宽:支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。
(10)稳定性高:用于反向代理,宕机的概率微乎其微

2-nginx优势

(1)更快。正常情况下单次请求得到更快的响应;高峰期(数以万计的并发时)nginx可 以比其它web服务器更快的响应请求。
(2)高扩展性。低耦合设计的模块组成,丰富的第三方模块支持。
(3)高可靠性。经过大批网站检验,每个worker进程相对独立,master进程在一个worker 进程出错时,可以快速开启新的worker进程提供服务。
(4)低内存消耗。一般情况下,10000个非活跃的HTTP Keep-Alive连接在nginx中仅消耗 2.5M内存,这是nginx支持高并发的基础。
(5)单机支持10万以上的并发连接。取决于内存,10万远未封顶。
(6)热部署。master和worker的分离设计,可实现7x24小时不间断服务的前提下,升级 nginx可执行文件,当然也支持更新配置项和日志文件。
(7)最自由的BSD许可协议。BSD许可协议允许用户免费使用nginx,修改nginx源码,然后 再发布。这吸引了无数的开发者继续为nginx贡献智慧。

3编译参数详解

–prefix= 指向安装目录
–sbin-path 指向(执行)程序文件(nginx) –conf-path= 指向配置文件(nginx.conf) –error-log-path= 指向错误日志目录
–pid-path= 指向 pid 文件(nginx.pid) –lock-path= 指向 lock 文件(nginx.lock)(安装文件锁定,防止安装文件被别人利用,或自己误操作。)
–user= 指定程序运行时的非特权用户
–group= 指定程序运行时的非特权用户组
–builddir= 指向编译目录
–with-rtsig_module 启用 rtsig 模块支持(实时信号)
–with-select_module 启用 select 模块支持(一种轮询模式,不推荐在高载环境下使用)禁用:–without￾select_module
–with-poll_module 启用 poll 模块支持(功能与 select 相同,与 select 特性相同,为一种轮询模式,不推荐在
高载环境下使用)
–with-file-aio 启用 file aio 支持(一种 APL 文件传输格式)
–with-ipv6 启用 ipv6 支持 –with-http_ssl_module 启用 ngx_http_ssl_module 支持(使支持 https 请求,需已安装 openssl) –with-http_realip_module 启用 ngx_http_realip_module 支持(这个模块允许从请求标头更改客户端的 IP 地
址值,默认为关)
2
WWW.TTLSA.COM 网站作品,作者:凉白开,漠北 由 DONAN 整理,QQ:305765814 QQ 群:6690706
–with-http_addition_module 启用 ngx_http_addition_module 支持(作为一个输出过滤器,支持不完全缓冲,
分部分响应请求)
–with-http_xslt_module 启用 ngx_http_xslt_module 支持(过滤转换 XML 请求)
–with-http_image_filter_module 启用 ngx_http_image_filter_module 支持(传输 JPEG/GIF/PNG 图片的一个
过滤器)(默认为不启用。gd 库要用到)
–with-http_geoip_module 启用 ngx_http_geoip_module 支持(该模块创建基于与 MaxMind GeoIP 二进制文件相
配的客户端 IP 地址的 ngx_http_geoip_module 变量)
–with-http_sub_module 启用 ngx_http_sub_module 支持(允许用一些其他文本替换 nginx 响应中的一些文本)
–with-http_dav_module 启用 ngx_http_dav_module 支持(增加 PUT,DELETE,MKCOL:创建集合,COPY 和 MOVE 方
法)默认情况下为关闭,需编译开启
–with-http_flv_module 启用 ngx_http_flv_module 支持(提供寻求内存使用基于时间的偏移量文件)
–with-http_gzip_static_module 启用 ngx_http_gzip_static_module 支持(在线实时压缩输出数据流)
–with-http_random_index_module 启用 ngx_http_random_index_module 支持(从目录中随机挑选一个目录索
引)
–with-http_secure_link_module 启用 ngx_http_secure_link_module 支持(计算和检查要求所需的安全链接网
址)
–with-http_degradation_module 启用 ngx_http_degradation_module 支持(允许在内存不足的情况下返回
204 或 444 码)
–with-http_stub_status_module 启用 ngx_http_stub_status_module 支持(获取 nginx 自上次启动以来的工作
状态)
–without-http_charset_module 禁用 ngx_http_charset_module 支持(重新编码 web 页面,但只能是一个方向
–服务器端到客户端,并且只有一个字节的编码可以被重新编码)
–without-http_gzip_module 禁用 ngx_http_gzip_module 支持(该模块同-with-http_gzip_static_module 功能
一样)
–without-http_ssi_module 禁用 ngx_http_ssi_module 支持(该模块提供了一个在输入端处理处理服务器包含
文件(SSI)的过滤器,目前支持 SSI 命令的列表是不完整的)
–without-http_userid_module 禁用 ngx_http_userid_module 支持(该模块用来处理用来确定客户端后续请求
的 cookies) –without-http_access_module 禁用 ngx_http_access_module 支持(该模块提供了一个简单的基于主机的访问
控制。允许/拒绝基于 ip 地址)
–without-http_auth_basic_module 禁用 ngx_http_auth_basic_module(该模块是可以使用用户名和密码基于
http 基本认证方法来保护你的站点或其部分内容)
–without-http_autoindex_module 禁用 disable ngx_http_autoindex_module 支持(该模块用于自动生成目录
列表,只在 ngx_http_index_module 模块未找到索引文件时发出请求。)
–without-http_geo_module 禁用 ngx_http_geo_module 支持(创建一些变量,其值依赖于客户端的 IP 地址)
–without-http_map_module 禁用 ngx_http_map_module 支持(使用任意的键/值对设置配置变量)
–without-http_split_clients_module 禁用 ngx_http_split_clients_module 支持(该模块用来基于某些条件
划分用户。条件如:ip 地址、报头、cookies 等等)
–without-http_referer_module 禁用 disable ngx_http_referer_module 支持(该模块用来过滤请求,拒绝报
头中 Referer 值不正确的请求)
–without-http_rewrite_module 禁用 ngx_http_rewrite_module 支持(该模块允许使用正则表达式改变 URI,并
且根据变量来转向以及选择配置。如果在 server 级别设置该选项,那么他们将在 location 之前生效。如果在
location 还有更进一步的重写规则,location 部分的规则依然会被执行。如果这个 URI 重写是因为 location 部
分的规则造成的,那么 location 部分会再次被执行作为新的 URI。 这个循环会执行 10 次,然后 Nginx 会返回一
个 500 错误。)
–without-http_proxy_module 禁用 ngx_http_proxy_module 支持(有关代理服务器)
–without-http_fastcgi_module 禁用 ngx_http_fastcgi_module 支持(该模块允许 Nginx 与 FastCGI 进程交
互,并通过传递参数来控制 FastCGI 进程工作。 )FastCGI 一个常驻型的公共网关接口。
3
WWW.TTLSA.COM 网站作品,作者:凉白开,漠北 由 DONAN 整理,QQ:305765814 QQ 群:6690706
–without-http_uwsgi_module 禁用 ngx_http_uwsgi_module 支持(该模块用来医用 uwsgi 协议,uWSGI 服务器相
关)
–without-http_scgi_module 禁用 ngx_http_scgi_module 支持(该模块用来启用 SCGI 协议支持,SCGI 协议是
CGI 协议的替代。它是一种应用程序与 HTTP 服务接口标准。它有些像 FastCGI 但他的设计 更容易实现。)
–without-http_memcached_module 禁用 ngx_http_memcached_module 支持(该模块用来提供简单的缓存,以提
高系统效率)
-without-http_limit_zone_module 禁用 ngx_http_limit_zone_module 支持(该模块可以针对条件,进行会话的
并发连接数控制)
–without-http_limit_req_module 禁用 ngx_http_limit_req_module 支持(该模块允许你对于一个地址进行请
求数量的限制用一个给定的 session 或一个特定的事件)
–without-http_empty_gif_module 禁用 ngx_http_empty_gif_module 支持(该模块在内存中常驻了一个 1*1 的
透明 GIF 图像,可以被非常快速的调用)
–without-http_browser_module 禁用 ngx_http_browser_module 支持(该模块用来创建依赖于请求报头的值。
如果浏览器为 modern ,则$modern_browser 等于 modern_browser_value 指令分配的值;如 果浏览器为 old,则
$ancient_browser 等于 ancient_browser_value 指令分配的值;如果浏览器为 MSIE 中的任意版本,则 $msie 等 于 1) –without-http_upstream_ip_hash_module 禁用 ngx_http_upstream_ip_hash_module 支持(该模块用于简单的
负载均衡)
–with-http_perl_module 启用 ngx_http_perl_module 支持(该模块使 nginx 可以直接使用 perl 或通过 ssi 调 用 perl) –with-perl_modules_path= 设定 perl 模块路径
–with-perl= 设定 perl 库文件路径
–http-log-path= 设定 access log 路径
–http-client-body-temp-path= 设定 http 客户端请求临时文件路径
–http-proxy-temp-path= 设定 http 代理临时文件路径
–http-fastcgi-temp-path= 设定 http fastcgi 临时文件路径
–http-uwsgi-temp-path= 设定 http uwsgi 临时文件路径
–http-scgi-temp-path= 设定 http scgi 临时文件路径
-without-http 禁用 http server 功能
–without-http-cache 禁用 http cache 功能
–with-mail 启用 POP3/IMAP4/SMTP 代理模块支持
–with-mail_ssl_module 启用 ngx_mail_ssl_module 支持
–without-mail_pop3_module 禁用 pop3 协议(POP3 即邮局协议的第 3 个版本,它是规定个人计算机如何连接到互
联网上的邮件服务器进行收发邮件的协议。是因特网电子邮件的第一个离线协议标 准,POP3 协议允许用户从服务
器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。POP3 协议是 TCP/IP 协
议族中的一员,主要用于 支持使用客户端远程管理在服务器上的电子邮件)
–without-mail_imap_module 禁用 imap 协议(一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协
议从邮件服务器上获取邮件的信息,下载邮件等。IMAP 协议运行在 TCP/IP 协议之上, 使用的端口是 143。它与
POP3 协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操
作。)
–without-mail_smtp_module 禁用 smtp 协议(SMTP 即简单邮件传输协议,它是一组用于由源地址到目的地址传送
邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议族,它帮助每台计算机在发送或中转信件时
找到下一个目的地。)
–with-google_perftools_module 启用 ngx_google_perftools_module 支持(调试用,剖析程序性能瓶颈)
–with-cpp_test_module 启用 ngx_cpp_test_module 支持
–add-module= 启用外部模块支持
–with-cc= 指向 C 编译器路径
–with-cpp= 指向 C 预处理路径
–with-cc-opt= 设置 C 编译器参数(PCRE 库,需要指定–with-cc-opt=”-I /usr/local/include”,如果使用
select()函数则需要同时增加文件描述符数量,可以通过–with-cc- opt=”-D FD_SETSIZE=2048”指定。)
–with-ld-opt= 设置连接文件参数。(PCRE 库,需要指定–with-ld-opt=”-L /usr/local/lib”。)
–with-cpu-opt= 指定编译的 CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, 
opteron, amd64, sparc32, sparc64, ppc64
–without-pcre 禁用 pcre 库 –with-pcre 启用 pcre 库 –with-pcre= 指向 pcre 库文件目录
–with-pcre-opt= 在编译时为 pcre 库设置附加参数
–with-md5= 指向 md5 库文件目录(消息摘要算法第五版,用以提供消息的完整性保护)
–with-md5-opt= 在编译时为 md5 库设置附加参数
–with-md5-asm 使用 md5 汇编源
–with-sha1= 指向 sha1 库目录(数字签名算法,主要用于数字签名)
–with-sha1-opt= 在编译时为 sha1 库设置附加参数
–with-sha1-asm 使用 sha1 汇编源
–with-zlib= 指向 zlib 库目录
–with-zlib-opt= 在编译时为 zlib 设置附加参数
–with-zlib-asm= 为指定的 CPU 使用 zlib 汇编源进行优化,CPU 类型为 pentium, pentiumpro
–with-libatomic 为原子内存的更新操作的实现提供一个架构
–with-libatomic= 指向 libatomic_ops 安装目录
–with-openssl= 指向 openssl 安装目录
–with-openssl-opt 在编译时为 openssl 设置附加参数
–with-debug 启用 debug 日志

标签:http,简介,module,without,Nginx,详解,支持,禁用,ngx
From: https://www.cnblogs.com/luoahe/p/18211535

相关文章

  • 记录Nginx开机自动启动(Windows环境)
    参考:Nginx配置及开机自启动(Windows环境)_nginx开机自启动windows-CSDN博客winsw下载地址Indexofreleases/com/sun/winsw/winsw或者参考Nginx安装、配置以及开机启动(Win10篇)_win10怎么查看nginx启动成功-CSDN博客......
  • 【Muduo】网络库各模块和交互流程简介
    Muduo是由陈硕大佬个人开发的C++网络库,最近在剖析其源码,在此做一些归纳整理。Channel模块内含向Poller中注册的文件描述符fd,封装了感兴趣的事件events、Poller返回的发生的事件revents,和一组能够根据fd发生的事件revents进行回调的回调函数callbacks共有两种Channel,一种是......
  • LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解
    LLM大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解0.前言大语言模型(LLM)评测是LLM开发和应用中的关键环节。目前评测方法可以分为人工评测和自动评测,其中,自动评测技术相比人工评测来讲,具有效率高、一致性好、可复现、鲁棒性好等特点,逐渐成......
  • dremio nginx proxy 问题简单说明
    dremioui处理上部分直接依赖了locationpathname对于使用默认的/的proxy是没有问题的,但是很多时候我们需要自己配置一个proxypath,以下简单说明下问题,以及解决方法环境准备docker-composeversion:"3"services:nginx:image:nginx:alpine......
  • Vue 3 组件基础与模板语法详解
    title:Vue3组件基础与模板语法详解date:2024/5/2416:31:13updated:2024/5/2416:31:13categories:前端开发tags:Vue3特性CompositionAPITeleportSuspenseVue3安装组件基础模板语法Vue3简介1.Vue3的新特性Vue3引入了许多新的特性,以提高框架的性......
  • Nginx的配置文件
    Nginx的配置文件是其核心组件之一,它决定了Nginx服务器的行为和功能。以下是关于Nginx配置文件的重点解说:1.配置文件的位置和名称Nginx的配置文件通常命名为nginx.conf,并且位于Nginx安装目录的conf或config文件夹中。在Linux系统上,常见的位置是/etc/nginx/nginx.conf或/usr/l......
  • 如何让大模型更聪明?详解受益匪浅。
    一、前言在人工智能领域,大模型已经成为了一种趋势,它们凭借强大的学习和推理能力,在多个领域取得了显著的成果。然而,如何进一步提升大模型的智能水平,使其更好地服务于人类社会,成为了当前研究的热点。本文将围绕算法创新展开讨论,探讨如何通过创新算法让大模型更加聪明。二、算......
  • CSS 列表样式详解
    还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。No.内容链接1Openlayers【入门教程】-......
  • 性能测试学习之路(八)—Jmeter之响应断言详解
    Jmeter使用断言的目的:在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。使用断言的方法:在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容在Jmeter的断言中,我们常使用的就是响应断言,他根据我们响应信息......
  • 线性回归模型详解
    目录引言线性回归模型概念数学原理最小二乘法矩阵形式代码实现简单线性回归多元线性回归模型评估残差分析性能指标引言线性回归模型是统计学和机器学习中一种基本且重要的模型。它用于描述因变量和一个或多个自变量之间的线性关系。线性回归模型广泛应用于各......