一、Nginx概述
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
1、nginx组成
nginx是由内核和模块组成。内核完成的工作是查找配置文件将客户端请求映射到location块,也就是匹配URL,而location中配置的每个命令会启用不同的模块完成对应的工作。
比如 proxy_pass 127.0.0.1:8080 会交给反向代理模块。
2、模块的分类
nginx模块分为核心模块、基础模块、和第三方模块。
HTTP、EVENT和MAIL模块属于核心模块。
HTTP Access、HTTP FastCGI、HTTP Proxy、HTTP rewrite属于基础模块;
HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块属于第三方模块,用户根据自己开发的模块也属于第三方模块。
3、模块的功能
handlers(处理器模块)-处理请求,并输出内容和修改头信息。一般只有一个。
filter(过滤模块)-对其他模块输出的内容进行修改操作,最后由Nginx输出。
Proxy(代理类模块)-Upstream、fastcgi等模块,主要用于代理和负载均衡等功能。
4、工作方式
单进程和多进程两种模式。默认为单进程模式。
nginx属于静态编译方式,安装的时候进行了对应模块编译,启动后就打开功能了,只要使用就行。
5、nginx的优势
高效的web服务器
代理服务器
负载均衡
高性能、稳定、资源占用低
持续高可用
二、Nginx安装
安装分为编译安装和yum安装。主要看个人对软件安装的习惯以及把控程度。
1、编译安装
在安装Nginx之前,需确保系统已经安装了gcc、 openssl-devel、 pcre-devel和zlib-devel软件库。
下面是Nginx安装过程:
wget http://nginx.org/download/nginx-1.0.14.tar.gz tar zxvf nginx-1.0.14.tar.gz ./configure --with-http_stub_status_module --prefix=/opt/nginx cd nginx-1.0.14 make make install
其中, –with-http_stub_status_module 可以用来启用 Nginx 的 NginxStatus 功能,以监控 Nginx 的运行状态。
想要了解更多的模块的情况可以通过 ./configure –help 选项查看。
2、yum安装
Centos7上yum安装nginx
- 下载对应当前系统版本的nginx包(package)
# wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 建立nginx的yum仓库
# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 下载并安装nginx
# yum install nginx
- 启动nginx服务
systemctl start nginx
Centos6上yum安装nginx
yum install nginx