Linux Nginx实战之初识Nginx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Nginx实战之初识Nginx相关的知识,希望对你有一定的参考价值。
1.nginx是什么?
nginx是一款高性能的HTTP和反向代理服务器软件,第一个开源版本诞生于2004年,虽然诞生较晚但经过十多年的发展,已经成为非常流行的web服务器软件,下图是w3techs公布的全球网站服务器软件统计报告
2.Nginx为什么流行?
首先,nginx的特性迎合了市场的发展趋势,近几年来,随着硬件成本的降低,个人电脑和移动设备得到了普及,高并发的流量成为网站必须应对的问题。而Nginx就是为性能而生,从发布以来一直侧重于高性能,高并发,低CPU内存消耗;在功能方面:负载均衡,反向代理,访问控制,热部署,高扩展性等特性又十分适合现代的网络架构。更可贵的是配置简单文档丰富,大大降低了学习的门槛。
3.Nginx和Apache 有什么共同之处
-
- 同是HTTP服务器软件,都采用模块化结构设计
-
- 支持通用语言接口,如php,Python等
-
- 支持正向代理和反向代理
3.4. 支持虚拟主机及ssl加密传输
3.5. 支持缓存及压缩传输
3.6. 支持URL重写
3.7. 模块多,扩展性强
3.8. 多平台支持
- 支持正向代理和反向代理
4.Nginx的优势
4.1 轻量级 安装文件小 运行时CPU内存使用率低
4.2 性能强 支持多核,处理静态文件效率高,内核采用的poll模型最大可以支持50K并发连接
4.3 支持热部署 同时启动速度快,可以在不间断服务的情况下对软件和配置进行升级
4.4 负载均衡 支持容错和健康检查
4.5 代理功能强大 支持无缓存的反向代理,同时支持IMAP/POP3/SMTP的代理
5.Nginx的劣势
5.1 相比Apache 模块要少一些,常用模块都有了,而且支持LUA语言扩展功能
5.2 对动态请求支持不如apache
5.3 Windows 版本功能有限 ,受限于windows的特性,支持最好的还是*unix系统
Nginx的组成
Nginx的各种功能和操作都由模块来实现。Nginx的模块从结构上分为核心模块、基础模块和第三方模块。
核心模块: HTTP模块、EVENT模块和MAIL模块
基础模块: HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块
第三方模块: HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块及用户自己开发的模块
这样的设计使Nginx方便开发和扩展,使得Nginx功能如此强大。Nginx的模块默认编译进nginx中,如果需要增加或删除模块,需要重新编译Nginx,这一点不如Apache的动态加载模块方便。
Nginx 使用的架构
LNMP
web历史上最流行最经典的环境是LAMP(Linux + Apache + mysql + PHP),至今仍有大量网站采用此架构,Apache默认配置在未优化的情况下比较占用CPU和内存。借助于Nginx的轻量和高性能,LNMP架构只是将LAMP环境中的Apache换成Nginx,于是另一经典LNMP架构就诞生了。LNMP在服务器硬件配置相同时,相对于LAMP会使用更少的CPU和内存,是小型网站,低配服务器,和VPS的福音。
当然,Nginx还有其他的架构,但在后续的文章中,我只会使用到这个结构,所以其他的暂不列举说明。
以上是关于Linux Nginx实战之初识Nginx的主要内容,如果未能解决你的问题,请参考以下文章
Linux下玩转nginx系列——初识nginx及其使用入门