前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【技术创作101训练营】探秘Nginx (一)

【技术创作101训练营】探秘Nginx (一)

原创
作者头像
ZNing
修改2021-01-21 10:30:54
4140
修改2021-01-21 10:30:54
举报
文章被收录于专栏:ZNing·腾创库

探秘Nginx.pptx

开场

(个人简介略)

今天我们来了解一下Nginx。

初识Nginx

Nginx介绍

虽然Nginx这个东西小巧、轻便,而且广泛存在于各种大小项目之中,但大家都不一定对Nginx有更深的了解。Nginx是什么呢?Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由伊戈尔·赛索耶夫创建并于2004年首次公开发布。2011年成立同名公司以提供支持。2019年3月11日,Nginx公司被F5 Networks以6.7亿美元收购。Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx,通常作为负载均衡器。

Nginx优点

Nginx具有以下几个优点:

高并发连接 官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。

内存消耗少 在3万并发连接下,开启10个Nginx 进程仅消耗150M内存(15M*10=150M)。

配置文件简单 风格简单、通俗易懂。

成本低廉 Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡硬件设备则需要十多万至几十万人民币。

支持Rewrite重写规则 能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群组。

内置的健康检查功能 如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。

节省带宽 支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。

稳定性高 用于反向代理,宕机的概率微乎其微。

Nginx应用方向

Nginx有以下几个应用方向:

•运行 PHP、JSP (与FastCGI结合)

•反向代理、负载均衡、规则过滤

•静态HTML页、图片服务器

•与其他新技术的结合应用 (容器与K8S)

好了,我们简单对Nginx做了初识,接下来我们对于Nginx的配置进行一部分的讲解。

Nginx配置

内核模块

设置工作的进程数(可设置为可用cpu的数量)。

语法: worker_processes number

默认值: 1

上下文: main

指定错误日志的文件和错误级别。

语法: error_log file [ debug | info | notice | warn | error | crit ]

默认值: ${prefix}/logs/error.log

上下文: http,server,location

定义一个worker进程可以同时处理的文件数量。

语法: worker_rlimit_nofile limit

默认值: OS默认

上下文: main

事件模块

指定事件响应模式。

语法: use type

默认值: 在编译时指定

上下文: events

设置每个worker进程所能处理的连接数。

语法: worker_connections number

默认值: 1024

上下文: events

HTTP内核模块

为HTTP服务器提供配置上下文。

语法: http { ... }

默认值: —

上下文: main

开始设置虚拟主机。

语法: server { ... }

默认值: —

上下文: http

为某个请求URI(路径)建立配置。

语法: location [ = | ~ | ~* | ^~ ] uri { ... }

location @name { ... }

默认值: —

上下文: server, location

定义将要被作为默认页的文件。

语法: index file ...;

默认值: index index.html;

上下文: http, server, location

为请求设置根目录 。

语法: root path;

默认值: root html;

上下文: http, server, location, if in location

定义指定路径的替换路径。

语法: alias path;

默认值: —

上下文: location

设置虚拟主机名。

语法: server_name name ...;

默认值: server_name "";

上下文: server

设置客户端的长连接在服务器端保持的最长时间。

语法: keepalive_timeout timeout [header_timeout];

默认值: keepalive_timeout 75s;

上下文: http, server, location

为指令错误定义显示的URI 。

语法: error_page code ... [=[response]] uri;

默认值: —

上下文: http, server, location, if in location

今天的讲解就到这里,接下来请期待《探秘Nginx (二)》讲解更多配置内容。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开场
  • 初识Nginx
    • Nginx介绍
      • Nginx优点
        • Nginx应用方向
        • Nginx配置
          • 内核模块
            • 事件模块
              • HTTP内核模块
              相关产品与服务
              负载均衡
              负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档