Nginx是一款免费、开源、性能强大且非常流行的服务器,主要有三个功能:Web Server , Reverse Proxy Server , IMAP or POP3 Proxy Server 。Nginx是为了解决互联网业内著名的 “C10K” 问题而生,且因其具有丰富的特性、极其强大的性能、配置简单、工作稳定及资源占用低等特点而闻名于世。
Nginx的主要功能有:作为Web服务器可与httpd服务一样提供静态的Web资源,结合FastCGI/uwSGI/SCGI等协议反代动态资源请求,http/https协议的反向代理,imap4/pop3协议的反向代理,tcp/udp协议的请求转发(四层转发)。
Nginx在功能丰富的同时,其配置文件种类非常多。但相对于httpd的配置文件来说,Nginx配置文件逻辑严谨,条理清晰,配置方法相对简单。我们将在下一篇博客中着重详细介绍。
【注】本文全部示例以CentOS7.3作为运行环境。
负责加载和分析配置文件、管理worker进程、平滑升级
一个或多个worker进程处理并响应用户请求
缓存相关的进程:cache loader:载入缓存对象
cache manager:管理缓存对象
Nginx是高度模块化,从1.9版本以后支持(部分)模块动态装卸载,模块分为以下几类 - 核心模块 core module - 标准模块 standart module 1. Http modules :用于提供web服务或web的反向代理服务 http模块分为:
标准模块 Standard HTTP modules 可选模块 Optional HTTP modules Mail modules :用于提供邮件相关功能Stream modules :用于提供四层转发功能 第三方模块 3rd Party modeleNginx程序依赖环境:
两个标准包组: “Development Tools” 和 “Server Platform Development”
依赖程序包: pcre-devel,openssl-devel,zlib-devel
从EPEL官方yum源或者从Nginx官网获取Nginx程序包,使用yum方法安装【推荐】从Nginx官网获取源码后编译安装此方法适用于大多数情况,如果有特殊需求可以使用编译安装,可在配置号yum源后安装