Linux系统运维之nginx介绍

    科技2022-08-07  122

    浏览目录

    一、nginx简介二、nginx的重要特性三、nginx的软件功能模块1、核心功能模块(core funtionality)2、http功能模块集合3、主配置文件:nginx.conf 四、虚拟主机配置五、访问日志(access_log)六、location语法

    一、nginx简介

    与Apache软件类似,Nginx ( “engine x”)是一个开源的,支持高性能、高并发的WWW服务和代理服务软件。它是由俄罗斯人Igor Sysoev开发的,最初被应用在俄罗斯的大型网站www.rambler.ru上。Nginx因为具有高并发(特别是静态资源),占用系统资源少的特性,变得流行起来。 在特性功能上面nginx不仅是优秀的Web服务软件,还具有反向代理负载均衡和缓存服务的功能。反向代理负载均衡功能类似于LVS负载均衡及haproxy等专业的代理软件。nginx不熟起来更为简单;缓存服务方面类似于Squid等专业的缓存服务软件。Nginx 可以运行在 UNIX、Linux、BSD、Mac OS X、Solaris,以及 Microsoft Windows等操作系统中。当前流行的Nginx Web 组合被称为 LNMP 或 LEMP (即 Linux Nginx MySQL PHP),其中 LEMP 里的 E 取自 Nginx(“ engine x ’’)。Nginx的官网http://nginx.org/。

    nginx与Apache的区别: nginx: 基于异步的I/O网络模型,支持高性能,高并发量(特别是对于小文件) Apache: 基于同步的I/O网络模型,并发能力有限,处理动态业务时,比较显著

    二、nginx的重要特性

    □ 可针对静态资源高速高并发访问及缓存。 □ 可使用反向代理加速,并且可进行数据缓存。 □ 具有简单负载均衡、节点健康检查和容错功能。 □ 支持远程FastCGI服务的缓存加速。 □ 支持 FastCGI. Uwsgi、SCGI、Memcached Servers 的加速和缓存。 □ 支持 SSL、TLS、SNIO □ 具有模块化的架构:过滤器包括gzip压缩、ranges支持、chunked响应、XSLT、SS1及图像缩放等功能。在SSI过滤器中,一个包含多个SSI的页面,如果经由FastCGI或反向代理处理,可被并行处理。

    它所具备的其他WWW服务特性如下: □ 支持基于名字、端口及IP的多虚拟主机站点。 □ 支持 Keep-alive 和 pipelined 连接。 □ 可进行简单、方便、灵活的配置和管理。 □ 支持修改Nginx配置,并且在代码上线时,可平滑重启,不中断业务访问。 □ 可自定义访问日志格式,临时缓冲写日志操作,快速日志轮询及通rsyslog处理日志。 □ 可利用信号控制Nginx进程。 □ 支持3xx-5xx HTTP状态码重定向。 □ 支持rewrite模块,支持URI重写及正则表达式匹配。 □ 支持基于客户端IP地址和HTTP基本认证的访问控制。 □ 支持PUT、DELETE、MKCOL、COPY及MOVE等较特殊的HTTP请求方法 。 □ 支持FLV流和MP4流技术产品应用。 □ 支持HTTP响应速率限制。 □ 支持同一 IP地址的并发连接或请求数限制。 □ 支持邮件服务代理。

    三、nginx的软件功能模块

    1、核心功能模块(core funtionality)

    主要对应主配置文件 的Main区块和Events区域块,有许多Nginx必须的全局参数配置。

    2、http功能模块集合

    3、主配置文件:nginx.conf

    配置文件核心参数解释:

    四、虚拟主机配置

    虚拟主机概念: 所谓虚拟主机,在Web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立地对外提供服务供用户访问。这个独立的站点在配置里是由一定格式的标签段标记的,对于Apache软件来说,一个虚拟主机的标签段通常被包含在< VirtualHost> </ VirtualHost> 内,而Nginx软件则使用一个server{}标签来标示一个虚拟主机。一个Web服务里可以有多个虚拟主机标签对,即可以同时支持多个虚拟主机站点。

    类型: 1、基于域名的虚拟主机

    通过不同的域名区分不同的虚拟主机

    2、基于端口的虚拟主机

    通过不同的端口区分不同的虚拟主机,主要用在公司内部的网站(不直接对外提供访问的网站),地址后面要携带端口,例如:www.any.com:9000

    3、基于ip的虚拟主机

    通过不同的ip区分不同的虚拟主机(非常少见,了解即可)

    五、访问日志(access_log)

      记录每个用户访问网站的日志信息,供分析用户的浏览行为。 定义日志的语法:log_format name(标签名) string …;

    六、location语法

    不同的URI对应匹配:

    Processed: 0.011, SQL: 8