nginx系列之一:nginx入门《看完秒懂》

2023-01-23 0 712

ginx 有一个主民主化和其它子民主化。主民主化的主要组织工作是读取和继续执行命令行,因此留驻在子民主化。子民主化用以做为前述的允诺处置。nginx 采行如前所述该事件的数学模型和 OS 倚赖的监督机制,在数个子民主化间高效率的重新分配允诺。子民主化的特征值会间接写在命令行中因此,对取值的实用性能是一般来说的,或是依照需用的 CPU 刘赐蕙手动地进行修正(参照子民主化)。 nginx 和它组件的组织工作形式是在命令行中写好的。预设情况下,这个命令行一般来说重新命名为 nginx.conf 因此会置放在 /usr/local/nginx/conf,/etc/nginx,或是 /usr/local/etc/nginx。

一、nginx 机能如是说

Nginx即使它的灵巧性、多样的组件库、灵巧的实用性和低计算资源的耗用而闻名于世.业内完全一致指出它是Apache2.2+mod_proxy_balancer的轻量替代者,不但即使积极响应动态网页的速率十分快,所以它的组件数目是Apache的2/3。对proxy和rewrite组件的全力支持很全盘,还全力支持mod_fcgi、ssl、vhosts ,适宜用于mongrel clusters后端HTTP积极响应。

nginx和Apache那样用组件化结构设计,nginx组件主要包括内建组件和服务器端组件,当中内建组件中包涵主组件和该事件组件。

nginx处置允诺逻辑图

nginx系列之一:nginx入门《看完秒懂》

二、nginx能提供更多的服务项目

常见来提供更多动态Web服务项目的应用软件

u Apache:这是较小型Web服务项目的非主流,Web服务项目器中的Dharmapuri。

u Nginx:小型中文网站Web服务项目的非主流,曾Web服务项目器中的张昕,也已长大成人。

Nginx的分支Tengine(

http://tengine.taobao.org/)目前也在飞速发展。

u Lighttpd:这是一个不温不火的优秀Web应用软件,社区不活跃,动态解析效率很高。在Nginx流行前,

它是大并发动态业务的首选,国内百度贴吧、豆瓣等众多中文网站都有Lighttpd奋斗的身影。

三、nginx 的优点

1.高并发。动态小文件

2.占用资源少。2万并发、10个线程,内存耗用几百M。

3.机能种类比较多。web,cache,proxy。每一个机能都不是特别强大。

4.全力支持epoll数学模型,使得nginx能全力支持高并发。

5.nginx 配合动态服务项目和Apache有区别。(FASTCGI 接口)

6.利用nginx能对IP限速,能限制连接数。

7.实用性简单,更灵巧。

1.动态服务项目器(图片,视频服务项目),两个lighttpd。并发几万,html,js,css,flv,jpg,gif等。

2.动态服务项目,nginx—fastcgi 形式运行PHP,jsp。(PHP并发约500-1500,MySQL 并发约300-1500)。

3.反向代理,负载均衡。日pv2000W以下,都可间接用nginx做代理。

4.缓存服务项目。类似 SQUID,VARNISH。

五、非主流web服务项目产品对比说明

5.1 Apache-特性

1.2.2版本本身稳定强大,据官方说:其2.4版本性能更强。

2.prefork模式取消了民主化创建开销,性能很高。

3.处置动态业务数据时,因关联到后端的引擎和数据库,瓶颈不在于Apache本身。

4.高并发时耗用计算资源相对多一些。

5.如前所述传统的select数学模型。

6.扩展库,DSO方法。详细教程资料关注+后台私信;资料;两个字能免费视频领取+文档+各大厂面试题 资料内容主要包括:C/C++,Linux,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,嵌入式 等。

nginx系列之一:nginx入门《看完秒懂》

5.2 nginx-特性

1.如前所述异步IO数学模型(epoll,kqueue),性能强,能够全力支持上万并发。

2.对小文件全力支持很好,性能很高(限动态小文件1M)。

3.代码优美,扩展库必须编译进主程序。

4.耗用代码资源比较低。

5.lighttpd(百度贴吧,豆瓣)

6.如前所述异步IO模式,性能和nginx相近。

7.扩展库是SO模式,比nginx要灵巧。

8.通过差距(mod_secdownload)可实现文件URL地址加密。

5.3 web服务项目产品性能对比测试

5.3.1 动态数据性能对比

1.处置动态内容三者相差不大,主要取决于PHP和数据库压力。

2.当处置动态数据时,三者差距不大,从测试结果看,Apache更有优势。这是即使处置动态数据能力取决于PHP和后端数据的提供更多服务项目能力。即瓶颈不在web服务项目器上。

3.一般PHP引擎的并发值300-1000,JAVA引擎并发300-1000,数据库并发300-1000.

5.3.3 为什么nginx总体性能比Apache高。

1.nginx用最新epoll、kqueue网络IO数学模型,而Apache使用床头的select模式。

2.目前Linux下能承受高并发访问的squid、Memcached 都采用的是epoll网络IO数学模型。详细教程资料关注+后台私信;资料;两个字能免费视频领取+文档+各大厂面试题 资料内容主要包括:C/C++,Linux,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,嵌入式 等。

nginx系列之一:nginx入门《看完秒懂》

5.3.4 如何选择WEB服务项目器:

1.动态业务:高并发、采用nginx,lighttpd,依照自己掌握程度或公司要求。

2.动态业务:采用nginx和Apache均可。

3.既有动态业务又有动态业务:nginx或Apache,不要多选要单选。

4.动态业务可由后端代理(haproxy),依照网页元素的类型,向后转发给相应的服务项目器处置。

5.思想:组织工作都不要追求一步到位,满足需求的前提下,先用再逐步完善。

6.提示:nginx做web(Apache,lighttpd)、反向代理(haproxy、lvs、nat)及缓存服务项目器(squid)也是不错的。

7.最终建议:对外业务nginx,对内业务Apache(yum httpd mysql-server php)。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务