没有合适的资源?快使用搜索试试~ 我知道了~
第3章 nginx的安装与使用nginx服务企业应用 - 惨绿少年3.1 nginx软件的编译安装步骤3.1.1 检查软件安装的系统环境CentOS relea
资源详情
资源评论
资源推荐
2018/4/14 nginx服务企业应用 - 惨绿少年
https://www.nmtui.com/clsn/lx892.html 1/31
惨绿少年 Lin u x运维, We b 应用, 运维基本功 0 评论 来源:本站原创 4 8 ℃
字体: 小 中 大
NGIN X服务企业应用
1.1 常
用来提供静态服务的软件
Apache :这是中小型Web服务的主流,Web服务器中的老大哥,
Nginx :大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大。
Nginx 的分支 Tengine ( http://tengine.taobao.org/)目前也在飞速发展•
Lighttpd :这是一个不溫不火的优秀 Web软件,社区不活跃,静态解析效率很高.在 Nginx 流行前,它是大并发
静态业务的首选,国内百度贴吧、豆瓣等众多网站都有Lighttpd奋斗的身彩”
1.2 常用来提供动态服务的软件
* PHP ( FastCGI ):大中小型网站都会使用,动态网页语言PHP程序的解析容
器。它可配合Apache解析动态程序,不过,这里的PHP不是FastCGI守护进程横
式,而是mod_php5.so ( module)也可配合Nginx解析动态程序,此时的PHP常
用FastCGI守护进程模式提供服务。
* Tomcat :中小企业动态Web服务主流,互联网Java容器主流(如jsp、do )
* Resin :大型动态Web服务主流,互联网Java容器主流(如jsp、do )
* IIS ( Internet information services ):微软 windows 下的 Web 服务软
件(如 asp、aspx )
第2章 nginx 软件
2.1 软件介绍
如果你听说或使用过 Apache软件,那么很快就会熟悉 Nginx软件,与 Apache软件类似, Nginx
( “engme x”)是一个开源的,支持高性能、高并发的 WWW服务器和代理服务软件。它是由俄罗斯人Igor
Sysoev开发的,最初被应用在勘罗斯的大型网站www.rambler.ru 上,后来作者将源代码以类BSD许可证的形式开
源出来供全球使用。
Nginx因具有高并发(特别是静态资源)占用系统资源少等特性,且功能丰富而逐渐流行起来。
在功能应用发面,Nginx不但是一个优秀的Web服务软件,还具有反向代理负载均衡功能和缓存服务功能。
在反向代理负载均衡功能方面,它类似于大名鼎鼎的LVS负载均衡及Haproxy等专业代理软件,但是Nginx部署
起来更为简单、方便;在缓存服务功能方面,它又类似于Squid等专业的缓存服务软件。
2018/4/14 nginx服务企业应用 - 惨绿少年
https://www.nmtui.com/clsn/lx892.html 2/31
Nginx 可以运行在 UNIX、Linux、BSD、Mac 0S X、Solaris,以及Microsoft Windows 等操作系统中。随
着Nginx在国内很多大型网站中的稳定高效运行,近两年它也逐渐被越来越多的中小型网站所使用。当前流行的
Nginx Web组合被称为LNMP或LEMP(即Linux Nginx MySQL PHP),其中 LNMP 里的 N 取自Nginx ( “engine x” )
Nginx 的官方介绍见 http://nginx.org/en
2.2 NGINX 软件特性
2.2.1 HTTP服务器的特色及优点:
u 支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
u 资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB
u 可以做HTTP反向代理及加速缓存、即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专
业的Haproxy软件或LVS的功能。
u 具备Squid等专业缓存软件等的缓存功能。
u 支持异步网络I/O事件横型epoll(Linux2.6+)
2.2.2 nginx功能特性
Ø web网站服务
Ø 反向代理负载均衡(nginx /lvs /haproxy)
Ø nginx缓存服务(memcache /redis /mongodb)
2.3 nginx软件的企业功能应用
业务类型 应用方案
静态业务 若是高并发场景,尽量采用Nginx或Lighttpd,二者首选Nginx
动态业务
理论上采用Nginx和Apache均可,建议选择Nginx,为了避免相同业务的服务软
件多样化,增加额外维护成本。动态业务可以由Nginx兼做前端代理,再根据页
面元素的类型或目录,转发到后端相应的服务器处理进程。
—首选tomcat
既 有 静 态 业
务 又 有 动 态
业务
采用Nginx
利用nginx软件是无法处理动态业务请求,要让nginx结合php软件处理动态
业务请求,在加上mysql 即LNMP架构
2.4 nginx软件的动态访问瓶颈
2.4.1 与其他软件的对比
2018/4/14 nginx服务企业应用 - 惨绿少年
https://www.nmtui.com/clsn/lx892.html 3/31
先来看看Apache软件的特点,如下
² Apache2.2版本非常稳定强大,据官方说,Apache2.4版本性能更强。
² Prefork模式取消了进程创建开销,性能很高。
² 处理动态业务数据时,因关联到后端的引擎和数据库,瓶颈不在Apache上。
² 高并发时消耗系统资源相对多一些。
² 基于传统的select模型,高并发能力有限。
² 支持扩展库,可通过DSO、apxs方法编译安装额外的插件功能,不需要重新编译Apache
² 功能多,更稳定,更安全,插件也多。
² 市场份额在逐年递减
再来看看Nginx软件的特点,如下:
n 基于异步网结I/O模 型(epollk kqueue)
n 具备支持高性能,高并发的特性,并发连接可达数万。
n 对小文件(小于1 MB的静态文件)高并发支持很好,性能很高
n 不支持类似 Apache的DSO模式、扩展库必须编译进主程序(缺点)
n 进程占用系统资源比较低。
n 支持Web、反向Proxy、Cache三大重点功能,幷且都很优秀。
n 市场份额在逐年快速增加。
最后是Lighttpd的特点,如下:
² 基于异步网络 I/ O模型,性能、并发都与 Nginx相近。
² 扩展库是 SO模式,比Nginx灵活
² 目前国内的使用率比较低,安全性没有 Apache和Nginx好。
² 通过插件(mod_secdownload)可实现文件 URL地址加密(优点)
² 社区不活跃,市场份额较低,
2.4.2 最主要的区别(select & epoll)
NGINX 使用的是epoll 和Kqueue 异步网络I/O模型,而apache使用的是传统的select模型
比喻:
第一个比喻:
2018/4/14 nginx服务企业应用 - 惨绿少年
https://www.nmtui.com/clsn/lx892.html 4/31
假设你在大学读书,住的宿舍楼有很多房间,你的朋友要来找你。select版
宿管大妈就会带着你的朋友到各房间挨个去找,直到找到你为止。而epoll版
宿管大妈会先记下每位入住同学的房间号,你的朋友来找你时,只需告诉你的
朋友你住在哪个房间即可,不用亲自带着你的朋友满宿舍楼找人了。如果同时
来了100个人,都要找自己住这栋楼的同学,select版和epoll版宿管大妈,谁
的效率更高,就很明显了。
第二个比喻:
select的调用复杂度是线性的,即O(n)。举个例子,一个保姆照看照看
一群孩子,如果把孩子是否需要尿尿比作网络I/O事件,select的作用就好
比这个保姆挨个询问每个孩子”你要尿尿吗?”如果孩子回答是,保姆则
把孩子领出来放到另外一个地方。当所有孩子询问完之后,保姆领着这些
要尿尿的孩子去上厕所(处理网络I/O事件).在epoll机制下,保姆不再需要
挨个询问每个孩子是否需要尿尿。取而代之的是,如果孩子需要尿尿,他
就自己主动站到事先约定好的地方,而保姆的职责就是查看事先约定好的
地方是否有孩子。如果有小孩,则领着孩子去上厕所(网络事件处理)。因
此,epoll的这种机制,能够高效地处理成千上万的并发连接,并且性能不
会随着连接数増加而下降太多。
2.4.3 apache select和nginx epoll技术对比图
指标
select epoll
性能 随着连接数的增加性能急剧下降。处理
成千上万的并发连接数,性能很差
随着连接数的增加,性能基本上没
有下降。处理成千上万连接时性能
很好
连接数 连接数有限制,处理的最大连接数不超
过1024,如果要处理的连接数超过
1024个,则需要修改FD_SETSIZE
宏,并重新编译
连接数无限制
内在处理机制 线性轮询 回调callback
开发复杂性 低 中
第3章 nginx的安装与使用
2018/4/14 nginx服务企业应用 - 惨绿少年
https://www.nmtui.com/clsn/lx892.html 5/31
3.1 nginx软件的编译安装步骤
3.1.1 检查软件安装的系统环境
[root@web01 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@web01 ~]# uname -r
2.6.32-696.el6.x86_64
3.1.2 安装nginx的依赖包(pcre-devel openssl-devel)
yum install -y pcre-devel openssl-devel
pcre:兼容perl语言正则表达式,perl compatible regular expressions
rewirte模块 参数信息(perl方式定义正则表达式)
openssl:ssh—openssh/openssl—https
总结:所有安装依赖软件,后面都要加上-devel
3.1.3 下载nginx软件
wget http://nginx.org/download/nginx-1.10.2.tar.gz
说明:软件很小,用心查看一下
解压软件
tar xf nginx-1.10.2.tar.gz
3.1.4 创建管理用户 www
useradd -M -s /sbin/nologin www
3.1.5 nginx软件编译安装过程
3.1.5.1 注意
软件编译安装步骤
a>软件解压配置(将软件程序安装到哪个目录中 开启nginx软件的哪些功能)
b>软件编译过程
c>软件编译安装过程
注意顺序,顺序不对软件安装会出错
3.1.5.2 编译安装软件
1、配置软件,在软件的解压目录中
[root@web01 nginx-1.10.2]# ./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
剩余30页未读,继续阅读
周林深
- 粉丝: 54
- 资源: 290
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0