文章目录
- 介绍
- 对比apache
- nginx的工作原理与模块介绍
- nginx能做什么?
- 安装与使用
- 安装
- 简单的使用
介绍
Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的http://Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
对比apache
nginx相对于apache的优点:
- 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单提供负载均衡
- 社区活跃,各种高性能模块出品迅速
apache 相对于nginx 的优点:
- apache的 rewrite 比nginx 的强大 ;
- 支持动态页面;
- 支持的模块多,基本涵盖所有应用;
- 性能稳定,而nginx相对bug较多。
两者优缺点比较:
- Nginx 配置简洁, Apache 复杂 ;
- Nginx 静态处理性能比 Apache 高 3倍以上 ;
- Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多 ;
- apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程;
- nginx处理静态文件好,耗费内存少;
- 动态请求由apache去做,nginx只适合静态和反向;
- Nginx适合做前端服务器,负载性能很好;
- Nginx本身就是一个反向代理服务器 ,且支持负载均衡
nginx的工作原理与模块介绍
工作原理
NGINX以高性能的负载均衡器,缓存,和web服务器闻名。Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,当它接到一个HTTP请求时,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。
模块介绍
Nginx的模块从结构上分为核心模块、基础模块和第三方模块:
- 核心模块:HTTP模块、EVENT模块和MAIL模块
- 基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块,
- 第三方模块:HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块。
nginx能做什么?
- 反向代理
- 负载均衡
- HTTP服务器(包含动静分离)
安装与使用
安装
点击进入nginx官网
点击进入下载页,下载自己想要的版本即可
Windows下的nginx安装只是简单的解压即可
简单的使用
方法1:
可以通过打开nginx.exe开启服务
方法2
进入到nginx的文件夹中,然后cmd打开
在cmd中输入start nginx
开启服务
验证是否开启服务,在浏览器中输入127.0.0.1
,如若这样显示,则服务开启成功
如果是这样的话,则未开启成功,请重新操作,实在不行就重启
nginx常用的dos指令:
- 启动指令:start nginx
- 快速停止:nginx -s stop
- 保存再停止(常用于生产环境):nginx -s quit
- 重新加载配置文件然后启动:nginx -s reload
- 首先需要执行:验证配置是否正确: nginx -t,这样就可以获取到配置文件所在的路径了
- 重新给nginx指向其需要的配置文件(即是nginx.conf): nginx -c D:\tools\nginx-1.6.3/conf/nginx.conf
- 重新开启一个新的黑窗体并执行(且必须是在D:/tools/nginx-1.6.3/目录下):
- nginx -s reload 即可重新加载配置文件启动了